-
+
Your stake in the community:
= ({
{showPoolGovernanceData && (
-
-
-
Your governance weight:
-
- {memberPoolWeight.toFixed(2)} %
-
-
-
-
+
+
Your governance weight:
+
+ {memberPoolWeight.toFixed(2)} %
+
)}
+
)}
diff --git a/apps/web/components/PoolHeader.tsx b/apps/web/components/PoolHeader.tsx
index 73961d70d..065bde8b4 100644
--- a/apps/web/components/PoolHeader.tsx
+++ b/apps/web/components/PoolHeader.tsx
@@ -145,7 +145,10 @@ export default function PoolHeader({
const filteredPoolConfig =
PoolTypes[proposalType] === "signaling" ?
poolConfig.filter(
- (config) => !["Spending limit", "Min Threshold"].includes(config.label),
+ (config) =>
+ !["Spending limit", "Min Threshold", "Min conviction"].includes(
+ config.label,
+ ),
)
: poolConfig;
diff --git a/apps/web/components/Proposals.tsx b/apps/web/components/Proposals.tsx
index 5e24258e6..9a37976cd 100644
--- a/apps/web/components/Proposals.tsx
+++ b/apps/web/components/Proposals.tsx
@@ -5,7 +5,6 @@ import {
AdjustmentsHorizontalIcon,
PlusIcon,
} from "@heroicons/react/24/outline";
-import { filter } from "lodash-es";
import Link from "next/link";
import { Address as AddressType, useAccount } from "wagmi";
import {
diff --git a/apps/web/hooks/useConvictionRead.ts b/apps/web/hooks/useConvictionRead.ts
index 9692b4743..8f736d2cd 100644
--- a/apps/web/hooks/useConvictionRead.ts
+++ b/apps/web/hooks/useConvictionRead.ts
@@ -1,5 +1,5 @@
import { zeroAddress } from "viem";
-import { Address, useContractRead } from "wagmi";
+import { Address, useBlockNumber, useContractRead } from "wagmi";
import {
CVProposal,
CVStrategy,
@@ -13,7 +13,12 @@ import { calculatePercentageBigInt } from "@/utils/numbers";
type ProposalDataLight = Maybe<
Pick<
CVProposal,
- "proposalNumber" | "convictionLast" | "stakedAmount" | "threshold"
+ | "proposalNumber"
+ | "convictionLast"
+ | "stakedAmount"
+ | "threshold"
+ | "requestedAmount"
+ | "blockLast"
> & {
strategy: Pick<
CVStrategy,
@@ -37,15 +42,43 @@ export const useConvictionRead = ({
enabled: !!proposalData,
};
- const { data: updateConvictionLast, error } = useContractRead({
+ //const blockNumber = useBlockNumber();
+ //const timePassed = BigInt(blockNumber?.data ?? 0n) - (blockLast ?? 0n);
+
+ //new way of getting conviction from contract
+ // const { data: convictionFromContract, error: errorConviction } =
+ // useContractRead({
+ // ...cvStrategyContract,
+ // functionName: "calculateConviction",
+ // args: [
+ // timePassed,
+ // proposalData?.convictionLast,
+ // proposalData?.stakedAmount,
+ // ],
+ // enabled: enabled,
+ // });
+
+ const { data: updatedConviction, error: errorConviction } = useContractRead({
...cvStrategyContract,
functionName: "updateProposalConviction" as any,
args: [BigInt(proposalData?.proposalNumber ?? 0)],
enabled,
});
- if (error) {
- logOnce("error", "Error reading conviction", error);
+ const { data: thresholdFromContract, error: errorThreshold } =
+ useContractRead({
+ ...cvStrategyContract,
+ functionName: "calculateThreshold" as any,
+ args: [proposalData?.requestedAmount ?? 0],
+ enabled,
+ });
+
+ if (errorThreshold) {
+ logOnce("error", "Error reading threshold", errorThreshold);
+ }
+
+ if (errorConviction) {
+ logOnce("error", "Error reading conviction", errorConviction);
}
if (!enabled) {
@@ -53,21 +86,21 @@ export const useConvictionRead = ({
thresholdPct: undefined,
totalSupportPct: undefined,
currentConvictionPct: undefined,
- updateConvictionLast: undefined,
+ updatedConviction: undefined,
};
}
- if (!proposalData || updateConvictionLast == null) {
+ if (!proposalData || updatedConviction == null) {
return {
thresholdPct: undefined,
totalSupportPct: undefined,
currentConvictionPct: undefined,
- updateConvictionLast: undefined,
+ updatedConviction: undefined,
};
}
let thresholdPct = calculatePercentageBigInt(
- proposalData!.threshold,
+ thresholdFromContract as bigint,
proposalData.strategy.maxCVSupply,
token?.decimals ?? 18,
);
@@ -79,22 +112,31 @@ export const useConvictionRead = ({
);
let currentConvictionPct = calculatePercentageBigInt(
- updateConvictionLast as bigint,
+ BigInt(updatedConviction.toString()),
proposalData.strategy.maxCVSupply,
token?.decimals ?? 18,
);
+ // console.log({
+ // convictionFromContract,
+ // updatedConviction,
+ // convictionLast,
+ // maxCVSupply: proposalData.strategy.maxCVSupply,
+ // stakedAmount: proposalData.stakedAmount,
+ // totalEffectiveActivePoints:
+ // proposalData.strategy.totalEffectiveActivePoints,
+ // });
+
logOnce("debug", "Conviction computed numbers", {
thresholdPct,
totalSupportPct,
currentConvictionPct,
- updateConvictionLast,
});
return {
thresholdPct,
totalSupportPct,
currentConvictionPct,
- updateConvictionLast,
+ updatedConviction,
};
};
diff --git a/pkg/contracts/out/Allo.sol/Allo.json b/pkg/contracts/out/Allo.sol/Allo.json
index 20219f739..d53b5049f 100644
--- a/pkg/contracts/out/Allo.sol/Allo.json
+++ b/pkg/contracts/out/Allo.sol/Allo.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"recipientIds","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"completeOwnershipHandover","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"createPool","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"FEE_DENOMINATOR","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"result","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownershipHandoverExpiresAt","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverCanceled","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverRequested","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NewOwnerIsZeroAddress","inputs":[]},{"type":"error","name":"NoHandoverRequest","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657612c4f908161001c8239f35b600080fdfe6080806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a7146116af57508163031e2fa114611645578163068bcd8d14611491578163075c0e9c146113fe57816315e812ad146113e05781631a20bd88146112185781631a5da6c8146111ee578163248a9ca3146111c157816324ae6a27146110b5578163256929621461106a57816329e40d4b146110435781632cf682b014610fe45781632ec3818814610fc95781632f2ff15d14610f8b57816336568abe14610efa5781633a5fbd9214610e0b5781633b19e84a14610de257816341bba0b414610d5b5781634edbaadc14610d3d57816354d1f13d14610cf75781635ab1bd5314610cce5781635acd6fac14610b1c5781635f9ca13814610964578163715018a61461093057816377da8caf1461080b5781637f51bb1f146107e65781637f5a70bd146107a85781638da5cb5b1461077b5781638e6901861461075657816391d148541461070b578163a0cf0aea146106e2578163a217fddf146106c6578163a6b63eb81461057d578163ab2ec5891461053e578163ab3febc6146104fe578163c6dff1cf14610438578163cfc0cc3414610403578163d547741f146103c5578163e1007d4a14610355578163f04e283e146102e7578163f2fde38b1461028c578163f4e1fc4114610269578163f54fc4a01461023d575063fee81cf41461020857600080fd5b3461023a57602036600319011261023a57610221611702565b9063389a75e1600c5252602080600c2054604051908152f35b80fd5b905034610265576020366003190112610265576102629061025c6126d4565b3561254b565b80f35b5080fd5b823461023a578060031936011261023a576020604051670de0b6b3a76400008152f35b90506020366003190112610265576102a2611702565b906102ab6126d4565b8160601b156102dc575060018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b637448fbae8352601cfd5b90506020366003190112610265576102fd611702565b906103066126d4565b63389a75e1600c528183526020600c20908154421161034a575082905560018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b636f5e88188452601cfd5b905061036036611a5d565b979096919592946001600160a01b031692919083156103b5576040818560ff935260d06020522054166103a657602061039e89898989898989611bf3565b604051908152f35b60405163eeffa72160e01b8152fd5b5060405163538ba4f960e01b8152fd5b9050346102655760403660031901126102655761026290356103e5611718565b9080845260656020526103fe6001604086200154612737565b612a9c565b905034610265576020366003190112610265579060209135815260cf825260016040818060a01b039220015416604051908152f35b823461023a57604036600319011261023a5781356001600160401b038082116104fa57366023830112156104fa5781840135918183116104f657602490600592368386861b840101116104f25782359081116104f25761049b90369088016118da565b956104a4612b12565b865185036104e35750845b8481106104bf5785600160975580f35b806104dd6104cf6001938a611b89565b518583881b860101356121c7565b016104af565b60405163636e39bb60e01b8152fd5b8580fd5b8380fd5b8280fd5b905034610265576040366003190112610265576105349060066040602094610524611718565b9335815260cf865220015461270f565b6040519015158152f35b823461023a57602036600319011261023a5760209060ff906040906001600160a01b03610569611702565b16815260d084522054166040519015158152f35b9050346102655760a036600319011261026557610598611702565b906105a1611718565b6044359290916001600160a01b03919082851685036106c15785549060ff8260081c1615806106b4575b15610659575061ffff191661010117855516638b78c6d81981905561060c92916106079185600080516020612bba8339815191528180a36124ad565b6124fc565b61061760643561254b565b61062260843561259d565b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60849060206040519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50600160ff8316106105cb565b600080fd5b823461023a578060031936011261023a57602090604051908152f35b823461023a578060031936011261023a576020604051600080516020612b9a8339815191528152f35b823461023a57604036600319011261023a57604090610728611718565b923581526065602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b90503461026557602036600319011261026557610262906107756126d4565b3561259d565b823461023a578060031936011261023a57638b78c6d819546040516001600160a01b039091168152602090f35b9050346102655760403660031901126102655761026290356107c8611718565b906107d281611bb3565b835260cf6020526005604084200154612a9c565b823461023a57602036600319011261023a57610262610803611702565b6106076126d4565b8261081536611a5d565b959094610823949294612b12565b60018060a01b0390818116895260209860d08a5260ff6040822054161561091f57600960379133815260ce8c526e5af43d82803e903d91602b57fd5bf36040822080549061087082611ae3565b90558d604051908101913360601b8352603482015260348152610892816117f5565b51902094763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c1617835260781b178c52f5169081156108e1576108d4979850611bf3565b6001609755604051908152f35b60405162461bcd60e51b8152808a018990526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b60405163126d324760e31b81528b90fd5b828060031936011261023a576109446126d4565b80638b78c6d819818154600080516020612bba8339815191528280a35580f35b823461023a57604036600319011261023a5781356001600160401b036024358181116104f6576109979036908601611a05565b906109a2338461246a565b15610b0b5782845260209060cf8252856040862084516003820155019082840151968751918211610af857506109d88254611b08565b601f8111610ab5575b5082601f8211600114610a435781908798600080516020612bda833981519152979892610a38575b50508160011b916000199060031b1c19161790555b610a32604051928284938452830190611776565b0390a280f35b015190508880610a09565b82875283872097601f198316885b818110610a9e575091600080516020612bda83398151915297989991846001959410610a85575b505050811b019055610a1e565b015160001960f88460031b161c19169055888080610a78565b838301518b556001909a0199928601928601610a51565b828752838720601f830160051c810191858410610aee575b601f0160051c01905b818110610ae357506109e1565b878155600101610ad6565b9091508190610acd565b634e487b7160e01b875260419052602486fd5b60405163075fd2b160e01b81528590fd5b82604036600319011261023a578135610b33612b12565b60243515610cbd5780825260cf6020526040822060405190610b5482611796565b8054825260018101546001600160a01b03908116602084015260028201541660408084019190915251610b86816117c7565b6003820154815260405186830180548791610ba082611b08565b8085529160018116908115610c965750600114610c4f575b505090610bcb8160069594930382611810565b6020820152606084015260058101546080840152015460a082015260408101516001600160a01b0316600080516020612b9a8339815191521480610c43575b610c325760200151610c2a916001600160a01b0390911690602435612249565b600160975580f35b6040516303e09bb960e31b81528490fd5b50346024351415610c0a565b885260208820949392915087905b808210610c78575092935090918101602001610bcb82610bb8565b91929394600181602092548385880101520191019094939291610c5d565b60ff191660208087019190915292151560051b85019092019250610bcb9150839050610bb8565b6040516303e09bb960e31b81528390fd5b823461023a578060031936011261023a5760cd546040516001600160a01b039091168152602090f35b828060031936011261023a5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b823461023a578060031936011261023a57602060c954604051908152f35b90503461026557602036600319011261026557610d76611702565b610d7e6126d4565b6001600160a01b0316908115610dd357506020817f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d192845260d0825260408420600160ff19825416179055604051908152a180f35b60405163538ba4f960e01b8152fd5b823461023a578060031936011261023a5760cc546040516001600160a01b039091168152602090f35b9050346102655781600319606036820112610265576001600160401b03906024358281116104f657610e409036908601611997565b916044359081116104f657610e589036908601611879565b610e60612b12565b8435845260cf60205260408420600101546001600160a01b031691823b15610ef657610eaf95610ebe8692606094604051998a9889978896630a6f0ee960e01b8852870152606486019061195a565b91848303016024850152611751565b33604483015203925af18015610eeb57610edc575b50600160975580f35b610ee5906117e2565b38610ed3565b6040513d84823e3d90fd5b8480fd5b823461023a57604036600319011261023a57610f14611718565b336001600160a01b03821603610f2f57610262919235612a9c565b60405162461bcd60e51b8152602081850152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b905034610265576040366003190112610265576102629035610fab611718565b908084526065602052610fc46001604086200154612737565b612a22565b82610c2a610fd636611894565b90610fdf612b12565b6121c7565b823461023a57604036600319011261023a578135611000611718565b9061100a81611bb3565b6001600160a01b03821615611032579061026291835260cf6020526005604084200154612a22565b60405163538ba4f960e01b81528490fd5b823461023a57604036600319011261023a57602061053483611063611718565b903561246a565b828060031936011261023a5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b905034610265576040366003190112610265576110d0611702565b6110d8611718565b6110e06126d4565b6001600160a01b038216600080516020612b9a83398151915281149285918415611153575047935b1561111957505061026292506126f1565b816010916020956044949560145260345263a9059cbb60601b82525af13d156001845114171615611148575080f35b6390b8ec188252601cfd5b6020602491604051928380926370a0823160e01b8252308b8301525afa9081156111b6578391611185575b5093611108565b90506020813d82116111ae575b8161119f60209383611810565b810103126104fa57513861117e565b3d9150611192565b6040513d85823e3d90fd5b90503461026557602036600319011261026557604060209260019235815260658452200154604051908152f35b823461023a57602036600319011261023a5761026261120b611702565b6112136126d4565b6124ad565b905034610265576040366003190112610265578035916001600160401b03918284116102655736602385011215610265578381013592611257846118c3565b946112656040519687611810565b84865260209460248688019160051b830101913683116104f2576024879101915b8383106113d057505050506024359081116104fa576112a890369083016118da565b916112b1612b12565b8451916112bd836118c3565b956112cb6040519788611810565b838752601f196112da856118c3565b013687890137845184036113c057825b84811061130d57600160975560405187815280611309818a018b61195a565b0390f35b6113178183611b89565b51845260cf875260018060a01b039061135f6001928986828660408b20015416611341868d611b89565b518a6040518097819582946315df065760e11b845233918401611b61565b03925af19182156113b5578792611386575b5061137c838c611b89565b91169052016112ea565b6113a79192508a3d8c116113ae575b61139f8183611810565b810190611b42565b9038611371565b503d611395565b6040513d89823e3d90fd5b5060405163636e39bb60e01b8152fd5b8235815291810191879101611286565b823461023a578060031936011261023a57602060ca54604051908152f35b61144d9150602061140e36611894565b9290611418612b12565b855260cf825260018060a01b039283600160408820015416906040518096819482936315df065760e11b845233918401611b61565b039134905af19182156111b65760209392611472575b50600160975560405191168152f35b61148a919250833d81116113ae5761139f8183611810565b9038611463565b823461023a5760209182600319360112610265578160a06040516114b481611796565b82815282868201528260408201526040516114ce816117c7565b838152606087820152606082015282608082015201528035825260cf835260408220604051916114fd83611796565b815483526001808301546001600160a01b0390811687860190815260028501548216604080880191825251919491939091611537856117c7565b60038701548552860189604051928a83549361155285611b08565b8087529483811690811561162057506001146115e4575b5050505050611580816115d3969798990382611810565b888401526060870192835281600660058801549760808a0198895201549560a08901968752604051998a99818b5251908a015251166040880152511660608601525160c0608086015260e0850190611776565b915160a08401525160c08301520390f35b908094939c50528a83205b82841061160d57505050810190970196611580896115d3838d611569565b80548585018d0152928b019281016115ef565b60ff1916858801525050505090151560051b8201019750611580896115d3838d611569565b823461023a57602036600319011261023a577f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea46020611682611702565b61168a6126d4565b6001600160a01b031680845260d082526040808520805460ff1916905551908152a180f35b9150346104fa5760203660031901126104fa573563ffffffff60e01b81168091036104fa5760209250637965db0b60e01b81149081156116f1575b5015158152f35b6301ffc9a760e01b149050386116ea565b600435906001600160a01b03821682036106c157565b602435906001600160a01b03821682036106c157565b60005b8381106117415750506000910152565b8181015183820152602001611731565b9060209161176a8151809281855285808601910161172e565b601f01601f1916010190565b906040602061179393805184520151918160208201520190611751565b90565b60c081019081106001600160401b038211176117b157604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176117b157604052565b6001600160401b0381116117b157604052565b606081019081106001600160401b038211176117b157604052565b601f909101601f19168101906001600160401b038211908210176117b157604052565b9192916001600160401b0382116117b1576040519161185c601f8201601f191660200184611810565b8294818452818301116106c1578281602093846000960137010152565b9080601f830112156106c15781602061179393359101611833565b9060406003198301126106c15760043591602435906001600160401b0382116106c15761179391600401611879565b6001600160401b0381116117b15760051b60200190565b9080601f830112156106c1578135906118f2826118c3565b926119006040519485611810565b828452602092838086019160051b830101928084116106c157848301915b84831061192e5750505050505090565b82356001600160401b0381116106c157869161194f84848094890101611879565b81520192019161191e565b90815180825260208080930193019160005b82811061197a575050505090565b83516001600160a01b03168552938101939281019260010161196c565b81601f820112156106c1578035916119ae836118c3565b926119bc6040519485611810565b808452602092838086019260051b8201019283116106c1578301905b8282106119e6575050505090565b81356001600160a01b03811681036106c15781529083019083016119d8565b91906040838203126106c15760405190611a1e826117c7565b8335825290928391906020810135906001600160401b0382116106c1570181601f820112156106c1576020918183611a5893359101611833565b910152565b60e06003198201126106c157600435916001600160a01b039060243582811681036106c157926001600160401b03906044358281116106c15781611aa391600401611879565b9360643590811681036106c157926084359260a4358181116106c15783611acc91600401611a05565b9260c4359182116106c15761179391600401611997565b6000198114611af25760010190565b634e487b7160e01b600052601160045260246000fd5b90600182811c92168015611b38575b6020831014611b2257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b17565b908160209103126106c157516001600160a01b03811681036106c15790565b90611b79602091949394604084526040840190611751565b6001600160a01b03909416910152565b8051821015611b9d5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b60005260cf602052611bcd3360066040600020015461270f565b15611bd457565b60405163075fd2b160e01b8152600490fd5b91908201809211611af257565b949695939291966000946044602060018060a01b0360cd541660405192838092635e8a791560e01b82528c60048301523360248301525afa9081156113b5578791612188575b5015611bd457611c4a60cb54611ae3565b958660cb55869960405160208101908982526430b236b4b760d91b604082015260258152611c77816117f5565b51902090604051611c8781611796565b8a8152602081019060018060a01b038816825260206040820160018060a01b038b16815260608301908982528d60808501528660a08501528d885260cf8352604088209484518655600186019060018060a01b039051169060018060a01b03199182825416179055600286019160018060a01b03905116908254161790555180516003850155015180519060018060401b03821161217457611d2c6004850154611b08565b601f8111612130575b50602090601f83116001146120be5791806006949260a0948a926120b3575b50508160011b916000199060031b1c19161760048501555b608081015160058501550151910155611d853383612a22565b888352606560205260016040842001918083549355604051928a7fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8680a46001600160a01b0386163b156104fa578180611dfb8593633b7451b360e21b83528c6004840152604060248401526044830190611751565b0381836001600160a01b038a165af18015610eeb576120a4575b5060405163038fff2d60e41b81529091906020816004816001600160a01b0389165afa9081156111b657908891849161206f575b5014801590611fed575b611fdb578051915b828110611f9c5750505060ca5480611ed1575b50611ebc9084600080516020612bfa83398151915295611ec1575b60405194859460018060a01b0316855260018060a01b031660208501526040840152608060608401526080830190611776565b0390a3565b611ecc848883612249565b611e89565b906001600160a01b038416600080516020612b9a833981519152148080611f87575b8115611f6e575b50611f5c57600080516020612bfa83398151915294611f26611ebc9360018060a01b0360cc54166126f1565b867f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72602060ca54604051908152a2945090611e6e565b6040516303e09bb960e31b8152600490fd5b90501580611f7d575b38611efa565b5034821415611f77565b9050611f938684611be6565b34141590611ef3565b6001600160a01b03611fae8284611b89565b5116908115611fc957611fc36001928a612a22565b01611e5b565b60405163538ba4f960e01b8152600490fd5b60405163636e39bb60e01b8152600490fd5b50604051630ae6240f60e11b81526020816004816001600160a01b0389165afa9081156111b657839161202d575b506001600160a01b0316301415611e53565b90506020813d602011612067575b8161204860209383611810565b810103126104fa57516001600160a01b03811681036104fa573861201b565b3d915061203b565b9150506020813d60201161209c575b8161208b60209383611810565b810103126106c15787905138611e49565b3d915061207e565b6120ad906117e2565b38611e15565b015190503880611d54565b906004850188526020882091885b601f19851681106121185750926006949260019260a09583601f198116106120ff575b505050811b016004850155611d6c565b015160001960f88460031b161c191690553880806120ef565b919260206001819286850151815501940192016120cc565b60048501885260208820601f840160051c81016020851061216d575b601f830160051c82018110612162575050611d35565b89815560010161214c565b508061214c565b634e487b7160e01b87526041600452602487fd5b90506020813d6020116121bf575b816121a360209383611810565b810103126121bb575180151581036121bb5738611c39565b8680fd5b3d9150612196565b600090815260cf60205260408120600101549091906001600160a01b0316803b156104fa57918091612210936040518080968194633bca483f60e21b8352339060048401611b61565b039134905af190811561223057506122255750565b61222e906117e2565b565b604051903d90823e3d90fd5b91908203918211611af257565b9291926000819083815260209560cf875260018060a01b03906040948260028786200154169060c9548061237b575b5050600080516020612b9a83398151915281036123315785516122b29161229e826117f5565b3382528484168b83015286888301526125ce565b505b1695863b156106c1576000809760248651809a819363f5b0dfb760e01b83528860048401525af1968715612326577fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851959697612317575b508351928352820152a2565b612320906117e2565b3861230b565b84513d6000823e3d90fd5b9361237082958461237594169061236a8c61234c8484612686565b95848c519261235a846117f5565b3384528301528b820152826125ce565b50612686565b61223c565b926122b4565b81819396929750029186830414861517156124565750670de0b6b3a76400009004926123a7848661223c565b946123b28686611be6565b0361244557600080516020612b9a83398151915281036123fb576123f28360cc54168751906123e0826117f5565b3382528b8201528588820152826125ce565b505b3880612278565b9261243f906124308460cc54166124128188612686565b9289519161241f836117f5565b3383528d83015289820152866125ce565b506123708460cc541686612686565b926123f4565b8551637fcce2a960e01b8152600490fd5b634e487b7160e01b81526011600452602490fd5b908160005260cf6020526124868160056040600020015461270f565b91821561249257505090565b611793925060005260cf60205260066040600020015461270f565b6001600160a01b03168015611fc95760cd80546001600160a01b031916821790556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602090a1565b6001600160a01b03168015611fc95760cc80546001600160a01b031916821790556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602090a1565b670de0b6b3a7640000811161258b576020817f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b0659260c955604051908152a1565b604051632fb15b8760e01b8152600490fd5b60207f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3918060ca55604051908152a1565b6040820151906001600160a01b0390818116600080516020612b9a83398151915203612621575081341061260f57602061260a930151166126f1565b600190565b6040516374c5672b60e01b8152600490fd5b601c6000606492868295602080989951920151166040519860605260405260018060601b03199060601b16602c526323b872dd60601b600c525af13d15600160005114171615612678576000606052604052600190565b637939f4246000526004601cfd5b6001600160a01b039190828116600080516020612b9a833981519152036126ad5750163190565b60209250601060249184936014526370a0823160601b6000525afa601f3d11166020510290565b638b78c6d8195433036126e357565b6382b429006000526004601cfd5b600080809381935af11561270157565b63b12d13eb6000526004601cfd5b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff8482205416156127615750505050565b3384519261276e846117f5565b602a84528484019086368337845115612a0e57603082538451926001938410156129fa576078602187015360295b848111612990575061296057865192608084016001600160401b0381118582101761294c57885260428452868401946060368737845115612938576030865384518210156129385790607860218601536041915b8183116128ca5750505061289a5761289693869361287a9361286b6048946128429a519a8b9576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c880152518092603788019061172e565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061172e565b01036028810187520185611810565b5192839262461bcd60e51b845260048401526024830190611751565b0390fd5b60648587519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b909192600f81166010811015612924576f181899199a1a9b1b9c1cb0b131b232b360811b901a6128fa8588612b68565b5360041c928015612910576000190191906127f0565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b86526041600452602486fd5b60648688519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b90600f811660108110156129e6576f181899199a1a9b1b9c1cb0b131b232b360811b901a6129be8389612b68565b5360041c9080156129d2576000190161279c565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541615612a5457505050565b80835260656020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416612acd57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b600260975414612b23576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908151811015611b9d57016020019056fe537472696e67733a20686578206c656e67746820696e73756666696369656e74000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e014f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf069bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1a26469706673582212204c39e56a34298a4d38036cfd3967b4a8ca76348a98acfea41be454a6be03d49864736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a7146116af57508163031e2fa114611645578163068bcd8d14611491578163075c0e9c146113fe57816315e812ad146113e05781631a20bd88146112185781631a5da6c8146111ee578163248a9ca3146111c157816324ae6a27146110b5578163256929621461106a57816329e40d4b146110435781632cf682b014610fe45781632ec3818814610fc95781632f2ff15d14610f8b57816336568abe14610efa5781633a5fbd9214610e0b5781633b19e84a14610de257816341bba0b414610d5b5781634edbaadc14610d3d57816354d1f13d14610cf75781635ab1bd5314610cce5781635acd6fac14610b1c5781635f9ca13814610964578163715018a61461093057816377da8caf1461080b5781637f51bb1f146107e65781637f5a70bd146107a85781638da5cb5b1461077b5781638e6901861461075657816391d148541461070b578163a0cf0aea146106e2578163a217fddf146106c6578163a6b63eb81461057d578163ab2ec5891461053e578163ab3febc6146104fe578163c6dff1cf14610438578163cfc0cc3414610403578163d547741f146103c5578163e1007d4a14610355578163f04e283e146102e7578163f2fde38b1461028c578163f4e1fc4114610269578163f54fc4a01461023d575063fee81cf41461020857600080fd5b3461023a57602036600319011261023a57610221611702565b9063389a75e1600c5252602080600c2054604051908152f35b80fd5b905034610265576020366003190112610265576102629061025c6126d4565b3561254b565b80f35b5080fd5b823461023a578060031936011261023a576020604051670de0b6b3a76400008152f35b90506020366003190112610265576102a2611702565b906102ab6126d4565b8160601b156102dc575060018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b637448fbae8352601cfd5b90506020366003190112610265576102fd611702565b906103066126d4565b63389a75e1600c528183526020600c20908154421161034a575082905560018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b636f5e88188452601cfd5b905061036036611a5d565b979096919592946001600160a01b031692919083156103b5576040818560ff935260d06020522054166103a657602061039e89898989898989611bf3565b604051908152f35b60405163eeffa72160e01b8152fd5b5060405163538ba4f960e01b8152fd5b9050346102655760403660031901126102655761026290356103e5611718565b9080845260656020526103fe6001604086200154612737565b612a9c565b905034610265576020366003190112610265579060209135815260cf825260016040818060a01b039220015416604051908152f35b823461023a57604036600319011261023a5781356001600160401b038082116104fa57366023830112156104fa5781840135918183116104f657602490600592368386861b840101116104f25782359081116104f25761049b90369088016118da565b956104a4612b12565b865185036104e35750845b8481106104bf5785600160975580f35b806104dd6104cf6001938a611b89565b518583881b860101356121c7565b016104af565b60405163636e39bb60e01b8152fd5b8580fd5b8380fd5b8280fd5b905034610265576040366003190112610265576105349060066040602094610524611718565b9335815260cf865220015461270f565b6040519015158152f35b823461023a57602036600319011261023a5760209060ff906040906001600160a01b03610569611702565b16815260d084522054166040519015158152f35b9050346102655760a036600319011261026557610598611702565b906105a1611718565b6044359290916001600160a01b03919082851685036106c15785549060ff8260081c1615806106b4575b15610659575061ffff191661010117855516638b78c6d81981905561060c92916106079185600080516020612bba8339815191528180a36124ad565b6124fc565b61061760643561254b565b61062260843561259d565b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60849060206040519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50600160ff8316106105cb565b600080fd5b823461023a578060031936011261023a57602090604051908152f35b823461023a578060031936011261023a576020604051600080516020612b9a8339815191528152f35b823461023a57604036600319011261023a57604090610728611718565b923581526065602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b90503461026557602036600319011261026557610262906107756126d4565b3561259d565b823461023a578060031936011261023a57638b78c6d819546040516001600160a01b039091168152602090f35b9050346102655760403660031901126102655761026290356107c8611718565b906107d281611bb3565b835260cf6020526005604084200154612a9c565b823461023a57602036600319011261023a57610262610803611702565b6106076126d4565b8261081536611a5d565b959094610823949294612b12565b60018060a01b0390818116895260209860d08a5260ff6040822054161561091f57600960379133815260ce8c526e5af43d82803e903d91602b57fd5bf36040822080549061087082611ae3565b90558d604051908101913360601b8352603482015260348152610892816117f5565b51902094763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c1617835260781b178c52f5169081156108e1576108d4979850611bf3565b6001609755604051908152f35b60405162461bcd60e51b8152808a018990526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b60405163126d324760e31b81528b90fd5b828060031936011261023a576109446126d4565b80638b78c6d819818154600080516020612bba8339815191528280a35580f35b823461023a57604036600319011261023a5781356001600160401b036024358181116104f6576109979036908601611a05565b906109a2338461246a565b15610b0b5782845260209060cf8252856040862084516003820155019082840151968751918211610af857506109d88254611b08565b601f8111610ab5575b5082601f8211600114610a435781908798600080516020612bda833981519152979892610a38575b50508160011b916000199060031b1c19161790555b610a32604051928284938452830190611776565b0390a280f35b015190508880610a09565b82875283872097601f198316885b818110610a9e575091600080516020612bda83398151915297989991846001959410610a85575b505050811b019055610a1e565b015160001960f88460031b161c19169055888080610a78565b838301518b556001909a0199928601928601610a51565b828752838720601f830160051c810191858410610aee575b601f0160051c01905b818110610ae357506109e1565b878155600101610ad6565b9091508190610acd565b634e487b7160e01b875260419052602486fd5b60405163075fd2b160e01b81528590fd5b82604036600319011261023a578135610b33612b12565b60243515610cbd5780825260cf6020526040822060405190610b5482611796565b8054825260018101546001600160a01b03908116602084015260028201541660408084019190915251610b86816117c7565b6003820154815260405186830180548791610ba082611b08565b8085529160018116908115610c965750600114610c4f575b505090610bcb8160069594930382611810565b6020820152606084015260058101546080840152015460a082015260408101516001600160a01b0316600080516020612b9a8339815191521480610c43575b610c325760200151610c2a916001600160a01b0390911690602435612249565b600160975580f35b6040516303e09bb960e31b81528490fd5b50346024351415610c0a565b885260208820949392915087905b808210610c78575092935090918101602001610bcb82610bb8565b91929394600181602092548385880101520191019094939291610c5d565b60ff191660208087019190915292151560051b85019092019250610bcb9150839050610bb8565b6040516303e09bb960e31b81528390fd5b823461023a578060031936011261023a5760cd546040516001600160a01b039091168152602090f35b828060031936011261023a5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b823461023a578060031936011261023a57602060c954604051908152f35b90503461026557602036600319011261026557610d76611702565b610d7e6126d4565b6001600160a01b0316908115610dd357506020817f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d192845260d0825260408420600160ff19825416179055604051908152a180f35b60405163538ba4f960e01b8152fd5b823461023a578060031936011261023a5760cc546040516001600160a01b039091168152602090f35b9050346102655781600319606036820112610265576001600160401b03906024358281116104f657610e409036908601611997565b916044359081116104f657610e589036908601611879565b610e60612b12565b8435845260cf60205260408420600101546001600160a01b031691823b15610ef657610eaf95610ebe8692606094604051998a9889978896630a6f0ee960e01b8852870152606486019061195a565b91848303016024850152611751565b33604483015203925af18015610eeb57610edc575b50600160975580f35b610ee5906117e2565b38610ed3565b6040513d84823e3d90fd5b8480fd5b823461023a57604036600319011261023a57610f14611718565b336001600160a01b03821603610f2f57610262919235612a9c565b60405162461bcd60e51b8152602081850152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b905034610265576040366003190112610265576102629035610fab611718565b908084526065602052610fc46001604086200154612737565b612a22565b82610c2a610fd636611894565b90610fdf612b12565b6121c7565b823461023a57604036600319011261023a578135611000611718565b9061100a81611bb3565b6001600160a01b03821615611032579061026291835260cf6020526005604084200154612a22565b60405163538ba4f960e01b81528490fd5b823461023a57604036600319011261023a57602061053483611063611718565b903561246a565b828060031936011261023a5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b905034610265576040366003190112610265576110d0611702565b6110d8611718565b6110e06126d4565b6001600160a01b038216600080516020612b9a83398151915281149285918415611153575047935b1561111957505061026292506126f1565b816010916020956044949560145260345263a9059cbb60601b82525af13d156001845114171615611148575080f35b6390b8ec188252601cfd5b6020602491604051928380926370a0823160e01b8252308b8301525afa9081156111b6578391611185575b5093611108565b90506020813d82116111ae575b8161119f60209383611810565b810103126104fa57513861117e565b3d9150611192565b6040513d85823e3d90fd5b90503461026557602036600319011261026557604060209260019235815260658452200154604051908152f35b823461023a57602036600319011261023a5761026261120b611702565b6112136126d4565b6124ad565b905034610265576040366003190112610265578035916001600160401b03918284116102655736602385011215610265578381013592611257846118c3565b946112656040519687611810565b84865260209460248688019160051b830101913683116104f2576024879101915b8383106113d057505050506024359081116104fa576112a890369083016118da565b916112b1612b12565b8451916112bd836118c3565b956112cb6040519788611810565b838752601f196112da856118c3565b013687890137845184036113c057825b84811061130d57600160975560405187815280611309818a018b61195a565b0390f35b6113178183611b89565b51845260cf875260018060a01b039061135f6001928986828660408b20015416611341868d611b89565b518a6040518097819582946315df065760e11b845233918401611b61565b03925af19182156113b5578792611386575b5061137c838c611b89565b91169052016112ea565b6113a79192508a3d8c116113ae575b61139f8183611810565b810190611b42565b9038611371565b503d611395565b6040513d89823e3d90fd5b5060405163636e39bb60e01b8152fd5b8235815291810191879101611286565b823461023a578060031936011261023a57602060ca54604051908152f35b61144d9150602061140e36611894565b9290611418612b12565b855260cf825260018060a01b039283600160408820015416906040518096819482936315df065760e11b845233918401611b61565b039134905af19182156111b65760209392611472575b50600160975560405191168152f35b61148a919250833d81116113ae5761139f8183611810565b9038611463565b823461023a5760209182600319360112610265578160a06040516114b481611796565b82815282868201528260408201526040516114ce816117c7565b838152606087820152606082015282608082015201528035825260cf835260408220604051916114fd83611796565b815483526001808301546001600160a01b0390811687860190815260028501548216604080880191825251919491939091611537856117c7565b60038701548552860189604051928a83549361155285611b08565b8087529483811690811561162057506001146115e4575b5050505050611580816115d3969798990382611810565b888401526060870192835281600660058801549760808a0198895201549560a08901968752604051998a99818b5251908a015251166040880152511660608601525160c0608086015260e0850190611776565b915160a08401525160c08301520390f35b908094939c50528a83205b82841061160d57505050810190970196611580896115d3838d611569565b80548585018d0152928b019281016115ef565b60ff1916858801525050505090151560051b8201019750611580896115d3838d611569565b823461023a57602036600319011261023a577f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea46020611682611702565b61168a6126d4565b6001600160a01b031680845260d082526040808520805460ff1916905551908152a180f35b9150346104fa5760203660031901126104fa573563ffffffff60e01b81168091036104fa5760209250637965db0b60e01b81149081156116f1575b5015158152f35b6301ffc9a760e01b149050386116ea565b600435906001600160a01b03821682036106c157565b602435906001600160a01b03821682036106c157565b60005b8381106117415750506000910152565b8181015183820152602001611731565b9060209161176a8151809281855285808601910161172e565b601f01601f1916010190565b906040602061179393805184520151918160208201520190611751565b90565b60c081019081106001600160401b038211176117b157604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176117b157604052565b6001600160401b0381116117b157604052565b606081019081106001600160401b038211176117b157604052565b601f909101601f19168101906001600160401b038211908210176117b157604052565b9192916001600160401b0382116117b1576040519161185c601f8201601f191660200184611810565b8294818452818301116106c1578281602093846000960137010152565b9080601f830112156106c15781602061179393359101611833565b9060406003198301126106c15760043591602435906001600160401b0382116106c15761179391600401611879565b6001600160401b0381116117b15760051b60200190565b9080601f830112156106c1578135906118f2826118c3565b926119006040519485611810565b828452602092838086019160051b830101928084116106c157848301915b84831061192e5750505050505090565b82356001600160401b0381116106c157869161194f84848094890101611879565b81520192019161191e565b90815180825260208080930193019160005b82811061197a575050505090565b83516001600160a01b03168552938101939281019260010161196c565b81601f820112156106c1578035916119ae836118c3565b926119bc6040519485611810565b808452602092838086019260051b8201019283116106c1578301905b8282106119e6575050505090565b81356001600160a01b03811681036106c15781529083019083016119d8565b91906040838203126106c15760405190611a1e826117c7565b8335825290928391906020810135906001600160401b0382116106c1570181601f820112156106c1576020918183611a5893359101611833565b910152565b60e06003198201126106c157600435916001600160a01b039060243582811681036106c157926001600160401b03906044358281116106c15781611aa391600401611879565b9360643590811681036106c157926084359260a4358181116106c15783611acc91600401611a05565b9260c4359182116106c15761179391600401611997565b6000198114611af25760010190565b634e487b7160e01b600052601160045260246000fd5b90600182811c92168015611b38575b6020831014611b2257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b17565b908160209103126106c157516001600160a01b03811681036106c15790565b90611b79602091949394604084526040840190611751565b6001600160a01b03909416910152565b8051821015611b9d5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b60005260cf602052611bcd3360066040600020015461270f565b15611bd457565b60405163075fd2b160e01b8152600490fd5b91908201809211611af257565b949695939291966000946044602060018060a01b0360cd541660405192838092635e8a791560e01b82528c60048301523360248301525afa9081156113b5578791612188575b5015611bd457611c4a60cb54611ae3565b958660cb55869960405160208101908982526430b236b4b760d91b604082015260258152611c77816117f5565b51902090604051611c8781611796565b8a8152602081019060018060a01b038816825260206040820160018060a01b038b16815260608301908982528d60808501528660a08501528d885260cf8352604088209484518655600186019060018060a01b039051169060018060a01b03199182825416179055600286019160018060a01b03905116908254161790555180516003850155015180519060018060401b03821161217457611d2c6004850154611b08565b601f8111612130575b50602090601f83116001146120be5791806006949260a0948a926120b3575b50508160011b916000199060031b1c19161760048501555b608081015160058501550151910155611d853383612a22565b888352606560205260016040842001918083549355604051928a7fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8680a46001600160a01b0386163b156104fa578180611dfb8593633b7451b360e21b83528c6004840152604060248401526044830190611751565b0381836001600160a01b038a165af18015610eeb576120a4575b5060405163038fff2d60e41b81529091906020816004816001600160a01b0389165afa9081156111b657908891849161206f575b5014801590611fed575b611fdb578051915b828110611f9c5750505060ca5480611ed1575b50611ebc9084600080516020612bfa83398151915295611ec1575b60405194859460018060a01b0316855260018060a01b031660208501526040840152608060608401526080830190611776565b0390a3565b611ecc848883612249565b611e89565b906001600160a01b038416600080516020612b9a833981519152148080611f87575b8115611f6e575b50611f5c57600080516020612bfa83398151915294611f26611ebc9360018060a01b0360cc54166126f1565b867f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72602060ca54604051908152a2945090611e6e565b6040516303e09bb960e31b8152600490fd5b90501580611f7d575b38611efa565b5034821415611f77565b9050611f938684611be6565b34141590611ef3565b6001600160a01b03611fae8284611b89565b5116908115611fc957611fc36001928a612a22565b01611e5b565b60405163538ba4f960e01b8152600490fd5b60405163636e39bb60e01b8152600490fd5b50604051630ae6240f60e11b81526020816004816001600160a01b0389165afa9081156111b657839161202d575b506001600160a01b0316301415611e53565b90506020813d602011612067575b8161204860209383611810565b810103126104fa57516001600160a01b03811681036104fa573861201b565b3d915061203b565b9150506020813d60201161209c575b8161208b60209383611810565b810103126106c15787905138611e49565b3d915061207e565b6120ad906117e2565b38611e15565b015190503880611d54565b906004850188526020882091885b601f19851681106121185750926006949260019260a09583601f198116106120ff575b505050811b016004850155611d6c565b015160001960f88460031b161c191690553880806120ef565b919260206001819286850151815501940192016120cc565b60048501885260208820601f840160051c81016020851061216d575b601f830160051c82018110612162575050611d35565b89815560010161214c565b508061214c565b634e487b7160e01b87526041600452602487fd5b90506020813d6020116121bf575b816121a360209383611810565b810103126121bb575180151581036121bb5738611c39565b8680fd5b3d9150612196565b600090815260cf60205260408120600101549091906001600160a01b0316803b156104fa57918091612210936040518080968194633bca483f60e21b8352339060048401611b61565b039134905af190811561223057506122255750565b61222e906117e2565b565b604051903d90823e3d90fd5b91908203918211611af257565b9291926000819083815260209560cf875260018060a01b03906040948260028786200154169060c9548061237b575b5050600080516020612b9a83398151915281036123315785516122b29161229e826117f5565b3382528484168b83015286888301526125ce565b505b1695863b156106c1576000809760248651809a819363f5b0dfb760e01b83528860048401525af1968715612326577fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851959697612317575b508351928352820152a2565b612320906117e2565b3861230b565b84513d6000823e3d90fd5b9361237082958461237594169061236a8c61234c8484612686565b95848c519261235a846117f5565b3384528301528b820152826125ce565b50612686565b61223c565b926122b4565b81819396929750029186830414861517156124565750670de0b6b3a76400009004926123a7848661223c565b946123b28686611be6565b0361244557600080516020612b9a83398151915281036123fb576123f28360cc54168751906123e0826117f5565b3382528b8201528588820152826125ce565b505b3880612278565b9261243f906124308460cc54166124128188612686565b9289519161241f836117f5565b3383528d83015289820152866125ce565b506123708460cc541686612686565b926123f4565b8551637fcce2a960e01b8152600490fd5b634e487b7160e01b81526011600452602490fd5b908160005260cf6020526124868160056040600020015461270f565b91821561249257505090565b611793925060005260cf60205260066040600020015461270f565b6001600160a01b03168015611fc95760cd80546001600160a01b031916821790556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602090a1565b6001600160a01b03168015611fc95760cc80546001600160a01b031916821790556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602090a1565b670de0b6b3a7640000811161258b576020817f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b0659260c955604051908152a1565b604051632fb15b8760e01b8152600490fd5b60207f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3918060ca55604051908152a1565b6040820151906001600160a01b0390818116600080516020612b9a83398151915203612621575081341061260f57602061260a930151166126f1565b600190565b6040516374c5672b60e01b8152600490fd5b601c6000606492868295602080989951920151166040519860605260405260018060601b03199060601b16602c526323b872dd60601b600c525af13d15600160005114171615612678576000606052604052600190565b637939f4246000526004601cfd5b6001600160a01b039190828116600080516020612b9a833981519152036126ad5750163190565b60209250601060249184936014526370a0823160601b6000525afa601f3d11166020510290565b638b78c6d8195433036126e357565b6382b429006000526004601cfd5b600080809381935af11561270157565b63b12d13eb6000526004601cfd5b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff8482205416156127615750505050565b3384519261276e846117f5565b602a84528484019086368337845115612a0e57603082538451926001938410156129fa576078602187015360295b848111612990575061296057865192608084016001600160401b0381118582101761294c57885260428452868401946060368737845115612938576030865384518210156129385790607860218601536041915b8183116128ca5750505061289a5761289693869361287a9361286b6048946128429a519a8b9576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c880152518092603788019061172e565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061172e565b01036028810187520185611810565b5192839262461bcd60e51b845260048401526024830190611751565b0390fd5b60648587519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b909192600f81166010811015612924576f181899199a1a9b1b9c1cb0b131b232b360811b901a6128fa8588612b68565b5360041c928015612910576000190191906127f0565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b86526041600452602486fd5b60648688519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b90600f811660108110156129e6576f181899199a1a9b1b9c1cb0b131b232b360811b901a6129be8389612b68565b5360041c9080156129d2576000190161279c565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541615612a5457505050565b80835260656020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416612acd57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b600260975414612b23576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908151811015611b9d57016020019056fe537472696e67733a20686578206c656e67746820696e73756666696369656e74000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e014f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf069bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1a26469706673582212204c39e56a34298a4d38036cfd3967b4a8ca76348a98acfea41be454a6be03d49864736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10204:237:13;;;;;5076:29047:0;10204:237:13;;;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;14005:11;10797:70:13;;;:::i;:::-;5076:29047:0;14005:11;:::i;:::-;5076:29047;;;;;;;;;;;;;;;;;;;;;;31880:4;5076:29047;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:13;;;:::i;:::-;6789:183;;;;;;5076:29047:0;;;;;;5147:382:13;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:13;;;;5076:29047:0;;6789:183:13;;;;;;5076:29047:0;;-1:-1:-1;5076:29047:0;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:13;;;:::i;:::-;8816:526;;;;;;5076:29047:0;8816:526:13;;;;;;;;;;;;;5076:29047:0;;;;;5147:382:13;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:13;;;;5076:29047:0;;8816:526:13;;;;;;5076:29047:0;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;10687:23;;10683:50;;5076:29047;;;;;;28993:19;5076:29047;;;;;10894:66;;5076:29047;11055:103;;;;;;;;;:::i;:::-;5076:29047;;;;;;10894:66;5076:29047;;-1:-1:-1;;;10938:22:0;;;10683:50;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;10719:14:0;;;5076:29047;;;;;;;;-1:-1:-1;;5076:29047:0;;;;5837:7:45;5076:29047:0;;;;:::i;:::-;;;;;4955:6:45;5076:29047:0;;2809:4:45;5076:29047:0;;;;4955:22:45;5076:29047:0;2809:4:45;:::i;:::-;5837:7;:::i;5076:29047:0:-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;32848:5;5076:29047;;;;;;;;;;;32848:23;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:103:50;;;:::i;:::-;5076:29047:0;;20772:25;;20768:48;;20921:9;;20932:12;;;;;;5076:29047;;3074:22:50;5076:29047:0;;;20921:9;20984;;;5076:29047;20984:9;;;:::i;:::-;;5076:29047;;;;;;;;20984:9;:::i;:::-;5076:29047;20921:9;;20768:48;5076:29047;;-1:-1:-1;;;20806:10:0;;;5076:29047;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;29449:43;5076:29047;29457:24;5076:29047;;;;;:::i;:::-;;;;;29457:5;5076:29047;;;29457:24;5076:29047;29449:43;:::i;:::-;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;:::i;:::-;;;;28993:19;5076:29047;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;4881:14:49;:40;;;5076:29047:0;;;;-1:-1:-1;;;5076:29047:0;;;;;4634:328:13;-1:-1:-1;;4634:328:13;;;8064:9:0;;5076:29047;7984:9;;5076:29047;-1:-1:-1;;;;;;;;;;;5076:29047:0;;4634:328:13;7984:9:0;:::i;:::-;8064;:::i;:::-;8137:11;5076:29047;;8137:11;:::i;:::-;8203:8;5076:29047;;8203:8;:::i;:::-;5076:29047;;;;;;;5091:20:49;5076:29047:0;;;;;;5091:20:49;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;4881:40:49;5076:29047:0;;;;;4899:22:49;4881:40;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;:::i;:::-;;;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;14273:8;10797:70:13;;;:::i;:::-;5076:29047:0;14273:8;:::i;5076:29047::-;;;;;;;;;;;;;-1:-1:-1;;9833:70:13;5076:29047:0;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;16094:8;5076:29047;;;;:::i;:::-;8857:7;;;;:::i;:::-;5076:29047;;16066:5;5076:29047;;16066:26;5076:29047;;;16066:26;5076:29047;16094:8;:::i;5076:29047::-;;;;;;;-1:-1:-1;;5076:29047:0;;;;13720:9;5076:29047;;:::i;:::-;10797:70:13;;:::i;5076:29047:0:-;;;;;:::i;:::-;2492:103:50;;;;;;;;:::i;:::-;5076:29047:0;;;;;;;;;;;;;28993:19;5076:29047;;;;;;;;12281:32;12277:93;;2273:565:48;;12522:10:0;;5076:29047;;12514:7;5076:29047;;2273:565:48;5076:29047:0;;;;;12514:21;;;;:::i;:::-;5076:29047;;;;;4867:36:6;;;12522:10:0;;5076:29047;;;;;;;;;4867:36:6;;;;;:::i;:::-;5076:29047:0;4857:47:6;;2273:565:48;;;;;;;;;;;;;;;;5076:29047:0;2855:22:48;;;5076:29047:0;;12426:239;;;;;:::i;:::-;5076:29047;3074:22:50;5076:29047:0;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;12277:93;5076:29047;;-1:-1:-1;;;12336:23:0;;5076:29047;;12336:23;5076:29047;;;;;;;;;;10797:70:13;;:::i;:::-;5147:382;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:13;;;;5076:29047:0;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;:::i;:::-;22011:10;21987:35;22011:10;21987:35;;:::i;:::-;21986:36;21982:63;;5076:29047;;;;;13030:5;5076:29047;;;;;;;;;13054:13;;5076:29047;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13095:39;;;5076:29047;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;21982:63;5076:29047;;-1:-1:-1;;;22031:14:0;;5076:29047;;22031:14;5076:29047;;;;-1:-1:-1;;5076:29047:0;;;;;;2492:103:50;;:::i;:::-;5076:29047:0;;19318:12;19314:43;;5076:29047;;;19387:5;5076:29047;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;19415:20:0;;:44;;5076:29047;19411:75;;5076:29047;;;19574:13;;-1:-1:-1;;;;;5076:29047:0;;;;;;19574:13;:::i;:::-;5076:29047;3074:22:50;5076:29047:0;;;19411:75;5076:29047;;-1:-1:-1;;;19468:18:0;;5076:29047;;19468:18;19415:44;19450:9;;5076:29047;;19439:20;;19415:44;;5076:29047;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;19314:43;5076:29047;;-1:-1:-1;;;19339:18:0;;5076:29047;;19339:18;5076:29047;;;;;;;;;;;;;33562:8;5076:29047;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;8141:339:13;;;;;;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;33051:10;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:13;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;14567:23;;14563:50;;5076:29047;;;14676:27;5076:29047;;;14624:19;5076:29047;;;;;;;;;;;;;;;;;;;14676:27;5076:29047;;14563:50;5076:29047;;-1:-1:-1;;;14599:14:0;;;5076:29047;;;;;;;;;;;;;33393:8;5076:29047;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;2492:103:50;;:::i;:::-;5076:29047:0;;;;21589:5;5076:29047;;;;;;21589:23;5076:29047;-1:-1:-1;;;;;5076:29047:0;;21589:68;;;;;5076:29047;;;;;;;;;;;;;;;;;;;21589:68;;;;5076:29047;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;21646:10;5076:29047;;;;21589:68;;;;;;;;;;5076:29047;;;3074:22:50;5076:29047:0;;;21589:68;;;;:::i;:::-;;;;;5076:29047;;;;;;;;;21589:68;5076:29047;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;965:10:53;-1:-1:-1;;;;;5076:29047:0;;6484:23:45;5076:29047:0;;6588:7:45;5076:29047:0;;;6588:7:45;:::i;5076:29047:0:-;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;5410:7:45;5076:29047:0;;;;:::i;:::-;;;;;4955:6:45;5076:29047:0;;2809:4:45;5076:29047:0;;;;4955:22:45;5076:29047:0;2809:4:45;:::i;:::-;5410:7;:::i;5076:29047:0:-;;20035:5;5076:29047;;;:::i;:::-;2492:103:50;;;:::i;:::-;20035:5:0;:::i;5076:29047::-;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;:::i;:::-;8857:7;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;15568:22;15564:49;;5076:29047;15729:8;5076:29047;;;15701:5;5076:29047;;15701:26;5076:29047;;;15701:26;5076:29047;15729:8;:::i;15564:49::-;5076:29047;;-1:-1:-1;;;15599:14:0;;5076:29047;;15599:14;5076:29047;;;;;;;-1:-1:-1;;5076:29047:0;;;;;32580:33;5076:29047;;;:::i;:::-;;;32580:33;:::i;5076:29047::-;;;;;;;;;;7549:383:13;;;;;;6282:9;7442:15;5076:29047:0;7549:383:13;;;;;;;;;5076:29047:0;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;;;:::i;:::-;10797:70:13;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;-1:-1:-1;;;;;;;;;;;16523:16:0;;;5076:29047;;16523:93;;;;16542:21;;16523:93;;6815:16:10;;;6884:7;;;;;;:::i;6811:173::-;11581:1056:15;;;;;;;;;;;;;;;;;;;;;5076:29047:0;11581:1056:15;;;;;;;;6811:173:10;5076:29047:0;;11581:1056:15;;;;;;16523:93:0;5076:29047;;;;;;;;;;;;16566:50;;16610:4;16566:50;;;5076:29047;16566:50;;;;;;;;;;;16523:93;;;;;16566:50;;;5076:29047;16566:50;;;;;;;;;5076:29047;16566:50;;;:::i;:::-;;;5076:29047;;;;;16566:50;;;;;;-1:-1:-1;16566:50:0;;;5076:29047;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;4955:6:45;5076:29047:0;;;4955:22:45;5076:29047:0;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;13418:9;5076:29047;;:::i;:::-;10797:70:13;;:::i;:::-;13418:9:0;:::i;5076:29047::-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:103:50;;;:::i;:::-;5076:29047:0;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5076:29047:0;;;:::i;:::-;;;;;;;;;18498:28;;18494:51;;18663:9;18674:16;;;;;;5076:29047;3074:22:50;5076:29047:0;;;;;;;;;;;;;:::i;:::-;;;;18663:9;18731:11;;;;:::i;:::-;5076:29047;;;18725:5;5076:29047;;;;;;;;18725:67;5076:29047;;;;;;;;;18725:27;5076:29047;;18771:8;;;;:::i;:::-;;5076:29047;;;;;;;;;;;;18725:67;;18781:10;18725:67;;;;:::i;:::-;;;;;;;;;;;;;;18663:9;18707:85;;;;;:::i;:::-;5076:29047;;;;;18663:9;;18725:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;5076:29047;;;;;;;;;18494:51;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;18535:10:0;;;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;33211:7;5076:29047;;;;;;;;17489:78;5076:29047;;;;;;:::i;:::-;2492:103:50;;;;:::i;:::-;5076:29047:0;;17489:5;5076:29047;;;;;;;;;;;;;17489:23;5076:29047;;;;;;;;;;;;;;17489:78;;17556:10;17489:78;;;;:::i;:::-;;17538:9;;17489:78;;;;;;;;5076:29047;17489:78;;;;5076:29047;;;3074:22:50;5076:29047:0;;;;;;;;17489:78;;;;;;;;;;;;;;;:::i;:::-;;;;;5076:29047;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;34100:5;5076:29047;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;-1:-1:-1;;;;5076:29047:0;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;15155:26;5076:29047;;;:::i;:::-;10797:70:13;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;15059:19;5076:29047;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;15155:26;5076:29047;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3158:58:45;;;:98;;;;5076:29047:0;;;;;;;3158:98:45;-1:-1:-1;;;1189:51:55;;-1:-1:-1;3158:98:45;;;5076:29047:0;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;5076:29047:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;-1:-1:-1;;5076:29047:0;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;-1:-1:-1;;5076:29047:0;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;22160:138;-1:-1:-1;5076:29047:0;29457:5;5076:29047;;29449:43;22257:10;29457:24;5076:29047;-1:-1:-1;5076:29047:0;29457:24;5076:29047;29449:43;:::i;:::-;22234:34;22230:61;;22160:138::o;22230:61::-;5076:29047;;-1:-1:-1;;;22277:14:0;;;;;5076:29047;;;;;;;;;;:::o;23131:2681::-;;;;;;;;5076:29047;;;23424:57;5076:29047;;;;;23424:8;5076:29047;;;;;;;;;;;23424:57;;;;;;5076:29047;23470:10;5076:29047;;;;23424:57;;;;;;;;;;;23131:2681;23423:58;;23419:85;;23524:12;;5076:29047;23524:12;:::i;:::-;5076:29047;;23524:12;5076:29047;23515:21;5076:29047;;;23424:57;23764:33;;5076:29047;;;;-1:-1:-1;;;5076:29047:0;;;;23764:33;;;;;;:::i;:::-;5076:29047;23754:44;;5076:29047;;;;;;:::i;:::-;;;;23424:57;23864:228;;5076:29047;;;;;;;;;;23424:57;5076:29047;23864:228;;5076:29047;;;;;;;;;23864:228;;;5076:29047;;;;23864:228;;;;5076:29047;23864:228;5076:29047;23864:228;;5076:29047;;;;24159:5;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;:::i;:::-;;;;;;23131:2681;5076:29047;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;23864:228;;;5076:29047;;;;;23864:228;5076:29047;;;;24267:10;23470;24267;;:::i;:::-;5076:29047;;;4955:6:45;23424:57:0;5076:29047;;;;;4955:22:45;5076:29047:0;;;;;;;;7711:52:45;;;;;;-1:-1:-1;;;;;5076:29047:0;;24541:47;;;;5076:29047;;;;;;;;24541:47;;;23424:57;24541:47;;5076:29047;;;;;;;;;;;:::i;:::-;24541:47;5076:29047;;-1:-1:-1;;;;;5076:29047:0;;24541:47;;;;;;;;5076:29047;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;24603:21:0;;5076:29047;;;23424:57;5076:29047;23424:57;5076:29047;-1:-1:-1;;;;;5076:29047:0;;24603:21;;;;;;;;;;;;;;5076:29047;24603:31;;;;:80;;;5076:29047;24599:103;;5076:29047;;24806:9;24817:18;;;;;;5076:29047;;;25081:7;5076:29047;25081:11;25077:554;;24801:266;25645:11;5076:29047;25645:11;;-1:-1:-1;;;;;;;;;;;25645:11:0;25641:79;;24801:266;5076:29047;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;23864:228;;5076:29047;;;23864:228;5076:29047;;;;:::i;:::-;25735:70;;;23131:2681::o;25641:79::-;25699:9;;;;;:::i;:::-;25641:79;;25077:554;5076:29047;-1:-1:-1;;;;;5076:29047:0;;-1:-1:-1;;;;;;;;;;;25359:16:0;;;:52;;25077:554;25358:100;;;;25077:554;25354:164;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;6884:7:10;5076:29047:0;;;;;;;25555:8;5076:29047;;6884:7:10;:::i;:::-;5076:29047:0;25592:28;23424:57;25081:7;5076:29047;;;;;;25592:28;25077:554;;;;;25354:164;5076:29047;;-1:-1:-1;;;25485:18:0;;23424:57;;25485:18;25358:100;25417:16;;;:40;;;25358:100;;;;25417:40;25448:9;;25437:20;;;25417:40;;25359:52;25380:17;;;;;;:::i;:::-;25401:9;25380:30;;25359:52;;;24806:9;-1:-1:-1;;;;;24870:12:0;;;;:::i;:::-;5076:29047;;24900:21;;;24896:48;;24989:7;5076:29047;24989:7;;;:::i;:::-;5076:29047;24806:9;;24896:48;5076:29047;;-1:-1:-1;;;24930:14:0;;23424:57;;24930:14;24599:103;5076:29047;;-1:-1:-1;;;24692:10:0;;23424:57;;24692:10;24603:80;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;24646:19:0;;23424:57;5076:29047;23424:57;5076:29047;-1:-1:-1;;;;;5076:29047:0;;24646:19;;;;;;;;;;;24603:80;-1:-1:-1;;;;;;5076:29047:0;24678:4;24638:45;;24603:80;;24646:19;;;23424:57;24646:19;;23424:57;24646:19;;;;;;23424:57;24646:19;;;:::i;:::-;;;5076:29047;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;24646:19;;;;;;-1:-1:-1;24646:19:0;;24603:21;;;;23424:57;24603:21;;23424:57;24603:21;;;;;;23424:57;24603:21;;;:::i;:::-;;;5076:29047;;;;;;;24603:21;;;;;;-1:-1:-1;24603:21:0;;24541:47;;;;:::i;:::-;;;;5076:29047;;;;-1:-1:-1;5076:29047:0;;;;;;23424:57;5076:29047;;;;23424:57;5076:29047;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;23424:57;5076:29047;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;-1:-1:-1;;;5076:29047:0;;;23424:57;5076:29047;;;;23424:57;;;;;;;;;;;;;;;;;:::i;:::-;;;5076:29047;;;;;;;;;;;;23424:57;;;5076:29047;;;;23424:57;;;-1:-1:-1;23424:57:0;;26159:151;-1:-1:-1;5076:29047:0;;;26234:5;5076:29047;;;;;;26234:23;5076:29047;-1:-1:-1;;26159:151:0;-1:-1:-1;;;;;5076:29047:0;26234:69;;;;;5076:29047;;;26234:69;5076:29047;;;;;;;;;;;26234:69;;26292:10;26234:69;;;;;:::i;:::-;;26274:9;;26234:69;;;;;;;;;;;26159:151;:::o;26234:69::-;;;;:::i;:::-;26159:151::o;26234:69::-;5076:29047;;;;;;;;;;;;;;;;;;;;:::o;26634:1879::-;;;;-1:-1:-1;26754:32:0;5076:29047;;;;;;26817:5;5076:29047;;;;;;;;;;;26858:10;5076:29047;;;26858:10;5076:29047;;;26883:10;5076:29047;26883:14;26879:808;;26634:1879;-1:-1:-1;;;;;;;;;;;;;27701:16:0;;4445:42:9;;5076:29047:0;;27733:139;;5076:29047;;;:::i;:::-;27798:10;5076:29047;;;;;27778:80;;;5076:29047;27778:80;;;;5076:29047;27733:139;:::i;:::-;;27697:693;5076:29047;28400:44;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;28400:44;;;;;;5076:29047;28400:44;;;;;;;28460:46;28400:44;;;;;27697:693;5076:29047;;;;;;;;;28460:46;26634:1879::o;28400:44::-;;;;:::i;:::-;;;;;5076:29047;;;-1:-1:-1;5076:29047:0;;;;;27697:693;5076:29047;28178:39;5076:29047;;;28329:50;5076:29047;;27938:39;27991:139;27938:39;;;;;:::i;:::-;5076:29047;;;;;;;;:::i;:::-;28056:10;5076:29047;;28036:80;;5076:29047;28036:80;;;5076:29047;27991:139;;:::i;:::-;;28178:39;:::i;:::-;28329:50;:::i;:::-;27697:693;;;26879:808;5076:29047;;;;;;;;;;;;;;;;;;;;31880:4;5076:29047;;26983:27;;;;;:::i;:::-;27029:26;;;;;:::i;:::-;:37;27025:59;;-1:-1:-1;;;;;;;;;;;27103:16:0;;4445:42:9;;27139:94:0;5076:29047;27203:8;5076:29047;;;;;;;;:::i;:::-;27187:10;5076:29047;;27167:65;;;5076:29047;27167:65;;;;5076:29047;27139:94;;:::i;:::-;;27099:578;26879:808;;;;27099:578;5076:29047;27628:34;5076:29047;27346:94;5076:29047;27319:8;5076:29047;;27299:29;;;;:::i;:::-;5076:29047;;;;;;;:::i;:::-;27394:10;5076:29047;;27374:65;;;5076:29047;27374:65;;;5076:29047;27346:94;;:::i;:::-;;27484:29;5076:29047;27319:8;5076:29047;;27484:29;;:::i;27628:34::-;27099:578;;;27025:59;5076:29047;;-1:-1:-1;;;27075:9:0;;;;;5076:29047;-1:-1:-1;;;5076:29047:0;;;;;;;;29821:192;;5076:29047;-1:-1:-1;5076:29047:0;29934:5;5076:29047;;29926:45;5076:29047;29934:26;5076:29047;-1:-1:-1;5076:29047:0;29934:26;5076:29047;29926:45;:::i;:::-;:80;;;;;29919:87;;29821:192;:::o;29926:80::-;29449:43;5076:29047;;-1:-1:-1;5076:29047:0;29934:5;5076:29047;;29457:24;5076:29047;-1:-1:-1;5076:29047:0;29457:24;5076:29047;29449:43;:::i;30226:203::-;-1:-1:-1;;;;;5076:29047:0;30293:23;;30289:50;;30350:31;5076:29047;;-1:-1:-1;;;;;;5076:29047:0;;;;;;;;;;30396:26;;5076:29047;;30396:26;30226:203::o;30642:199::-;-1:-1:-1;;;;;5076:29047:0;30717:23;;30713:50;;30774:20;5076:29047;;-1:-1:-1;;;;;;5076:29047:0;;;;;;;;;;30809:25;;5076:29047;;30809:25;30642:199::o;31041:198::-;31126:4;31112:18;;31108:44;;5076:29047;;31203:29;5076:29047;31163:24;5076:29047;;;;;;31203:29;31041:198::o;31108:44::-;5076:29047;;-1:-1:-1;;;31139:13:0;;;;;31426:125;5076:29047;31521:23;31426:125;5076:29047;31487:18;5076:29047;;;;;;31521:23;31426:125::o;6019:500:10:-;6150:20;;;5076:29047:0;;-1:-1:-1;;;;;5076:29047:0;;;;-1:-1:-1;;;;;;;;;;;6184:16:10;4445:42:9;;6248:9:10;;;:18;6244:48;;6339:16;6357:6;6339:16;;5076:29047:0;;6357:6:10;:::i;:::-;5076:29047:0;6019:500:10;:::o;6244:48::-;6150:20;5076:29047:0;-1:-1:-1;;;6275:17:10;;;;;6180:312;7816:1228:15;-1:-1:-1;7816:1228:15;5076:29047:0;;;;6456:16:10;5076:29047:0;;;;6456:16:10;;5076:29047:0;;6150:20:10;7816:1228:15;;;;6150:20:10;7816:1228:15;5076:29047:0;;;;;7816:1228:15;;;;;;;;;;;;;;;;5076:29047:0;-1:-1:-1;7816:1228:15;;;;;;;-1:-1:-1;7816:1228:15;;6150:20:10;7816:1228:15;5076:29047:0;6019:500:10;:::o;7816:1228:15:-;;-1:-1:-1;7816:1228:15;;;;7224:263:10;-1:-1:-1;;;;;5076:29047:0;7224:263:10;5076:29047:0;;;-1:-1:-1;;;;;;;;;;;7325:16:10;4445:42:9;;5076:29047:0;;7364:25:10;7357:32;:::o;7321:160::-;18442:573:15;;;;;;;;;;5076:29047:0;18442:573:15;;-1:-1:-1;18442:573:15;;;;;;;;;;7420:50:10;:::o;5593:364:13:-;-1:-1:-1;;5691:260:13;;;;;5593:364::o;5691:260::-;;;;;;;2455:490:15;2570:369;2455:490;;;;;2570:369;;;;;2455:490::o;2570:369::-;;;;;;;3350:145:45;-1:-1:-1;5076:29047:0;3459:6:45;5076:29047:0;;;-1:-1:-1;5076:29047:0;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;5076:29047:0;;;3350:145:45;:::o;3789:103::-;-1:-1:-1;5076:29047:0;;;;;;3459:6:45;5076:29047:0;;;;;;;965:10:53;5076:29047:0;;;;;;;;;;4260:23:45;4256:412;;3789:103;;;;:::o;4256:412::-;965:10:53;5076:29047:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:54;;;5076:29047:0;;;;;;;;;;2066:15:54;5076:29047:0;;;2066:15:54;5076:29047:0;2124:5:54;;;;;;2236:10;311:18;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:54;;;5076:29047:0;;;;;;;;2066:15:54;5076:29047:0;;;2066:15:54;5076:29047:0;2091:128:54;2124:5;;;;;;2236:10;;;311:18;;5076:29047:0;;;;4351:274:45;5076:29047:0;;;;;;;4351:274:45;;;-1:-1:-1;;;4351:274:45;;;5076:29047:0;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;:::i;:::-;;4351:274:45;;;;;;;;;:::i;:::-;5076:29047:0;;;;;;;4299:358:45;;2207:1:54;4299:358:45;;5076:29047:0;;;;;;:::i;:::-;4299:358:45;;;311:18:54;;5076:29047:0;;;;;;;311:18:54;;;2207:1;311:18;;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;311:18:54;;2131:3;2171:11;;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;2207:1;5076:29047:0;2131:3:54;5076:29047:0;;;;-1:-1:-1;;5076:29047:0;;2096:26:54;;;5076:29047:0;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;2162:21:54;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;311:18:54;;5076:29047:0;;;;;;;311:18:54;;;2207:1;311:18;;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;311:18:54;;2131:3;2171:11;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;2207:1;5076:29047:0;2131:3:54;5076:29047:0;;;;-1:-1:-1;;5076:29047:0;2096:26:54;;5076:29047:0;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;2162:21:54;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;7938:233:45;;-1:-1:-1;5076:29047:0;;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;8020:23:45;8016:149;;7938:233;;;:::o;8016:149::-;5076:29047:0;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;8114:40:45;965:10:53;8114:40:45;;;7938:233::o;8342:234::-;;-1:-1:-1;5076:29047:0;;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;8421:149:45;;8342:234;;;:::o;8421:149::-;5076:29047:0;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;8519:40:45;965:10:53;8519:40:45;;;8342:234::o;2601:287:50:-;1851:1;2733:7;5076:29047:0;2733:19:50;1851:1;;;2733:7;5076:29047:0;2601:287:50:o;1851:1::-;5076:29047:0;;-1:-1:-1;;;1851:1:50;;;;;;;;;;;5076:29047:0;1851:1:50;5076:29047:0;;;1851:1:50;;;;5076:29047:0;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","cancelOwnershipHandover()":"54d1f13d","completeOwnershipHandover(address)":"f04e283e","createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"77da8caf","createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getRoleAdmin(bytes32)":"248a9ca3","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","owner()":"8da5cb5b","ownershipHandoverExpiresAt(address)":"fee81cf4","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","requestOwnershipHandover()":"25692962","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewOwnerIsZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoHandoverRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"recipientIds\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"completeOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"FEE_DENOMINATOR\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"result\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ownershipHandoverExpiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc
, @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The contract must be initialized with the 'initialize()' function.\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}],\"NewOwnerIsZeroAddress()\":[{\"details\":\"The `newOwner` cannot be the zero address.\"}],\"NoHandoverRequest()\":[{\"details\":\"The `pendingOwner` does not have a valid handover request.\"}],\"Unauthorized()\":[{\"details\":\"The caller is not authorized to call the function.\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OwnershipHandoverCanceled(address)\":{\"details\":\"The ownership handover to `pendingOwner` has been canceled.\"},\"OwnershipHandoverRequested(address)\":{\"details\":\"An ownership handover to `pendingOwner` has been requested.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"The ownership is transferred from `oldOwner` to `newOwner`. This event is intentionally kept the same as OpenZeppelin's Ownable to be compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), despite it not being as lightweight as a single argument event.\"},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to add\",\"_poolId\":\"ID of the pool\"}},\"addToCloneableStrategies(address)\":{\"details\":\"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"allocate(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().\",\"params\":{\"_data\":\"Encoded data unique to the strategy for that pool\",\"_poolId\":\"ID of the pool\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.\",\"params\":{\"_datas\":\"encoded data unique to the strategy for that pool\",\"_poolIds\":\"IDs of the pools\"}},\"batchRegisterRecipient(uint256[],bytes[])\":{\"details\":\"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\",\"params\":{\"_data\":\"An array of encoded data unique to a strategy that registerRecipient() requires.\",\"_poolIds\":\"ID's of the pools\"},\"returns\":{\"recipientIds\":\"The recipient IDs that have been registered\"}},\"cancelOwnershipHandover()\":{\"details\":\"Cancels the two-step ownership handover to the caller, if any.\"},\"completeOwnershipHandover(address)\":{\"details\":\"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"custom:initstrategydata\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'\",\"details\":\"'msg.sender' must be owner or member of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool\",\"_metadata\":\"The metadata of the pool\",\"_profileId\":\"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the strategy contract the pool will use.\",\"_token\":\"The address of the token\"}},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"details\":\"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token you want to deposit into the pool on initialization\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool, and can be added/removed later by the pool admin\",\"_metadata\":\"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\",\"_profileId\":\"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the deployed custom strategy\",\"_token\":\"The address of the token you want to use in your pool\"},\"returns\":{\"poolId\":\"The ID of the pool\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.\",\"params\":{\"_data\":\"Encoded data unique to the strategy\",\"_poolId\":\"ID of the pool\",\"_recipientIds\":\"Ids of the recipients of the distribution\"}},\"fundPool(uint256,uint256)\":{\"details\":\"Anyone can fund a pool and call this function.\",\"params\":{\"_amount\":\"The amount to be deposited into the pool\",\"_poolId\":\"ID of the pool\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"The base fee\"}},\"getFeeDenominator()\":{\"returns\":{\"FEE_DENOMINATOR\":\"The fee denominator is (1e18) which represents 100%\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"The fee percentage (1e18 = 100%)\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The 'Pool' struct\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"The registry address\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The address of the strategy\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"The treasury address\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address,address,address,uint256,uint256)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer\",\"params\":{\"_baseFee\":\"The base fee\",\"_owner\":\"The owner of allo\",\"_percentFee\":\"The percentage fee\",\"_registry\":\"The address of the registry\",\"_treasury\":\"The address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy\"},\"returns\":{\"_0\":\"'true' if the strategy is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool manager, otherwise 'false'\"}},\"owner()\":{\"details\":\"Returns the owner of the contract.\"},\"ownershipHandoverExpiresAt(address)\":{\"details\":\"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.\"},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be Allo owner\",\"params\":{\"_recipient\":\"The recipient\",\"_token\":\"The token to transfer\"}},\"registerRecipient(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().\",\"params\":{\"_data\":\"Encoded data unique to a strategy that registerRecipient() requires\",\"_poolId\":\"ID of the pool\"},\"returns\":{\"_0\":\"recipientId The recipient ID that has been registered\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"removePoolManager(uint256,address)\":{\"details\":\"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to remove\",\"_poolId\":\"ID of the pool\"}},\"renounceOwnership()\":{\"details\":\"Allows the owner to renounce their ownership.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"requestOwnershipHandover()\":{\"details\":\"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the owner to transfer the ownership to `newOwner`.\"},\"updateBaseFee(uint256)\":{\"details\":\"Use this to update the base fee. 'msg.sender' must be Allo owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"Use this to update the fee percentage. 'msg.sender' must be Allo owner.\",\"params\":{\"_percentFee\":\"The new fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\",\"params\":{\"_metadata\":\"The new metadata of the pool\",\"_poolId\":\"ID of the pool\"}},\"updateRegistry(address)\":{\"details\":\"Use this to update the registry address. 'msg.sender' must be Allo owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"Use this to update the treasury address. 'msg.sender' must be Allo owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"stateVariables\":{\"_nonces\":{\"details\":\"'msg.sender' -> 'nonce' for cloning strategies\"},\"baseFee\":{\"details\":\"This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address.\"},\"cloneableStrategies\":{\"details\":\"Strategy.address -> bool\"},\"percentFee\":{\"details\":\"How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%\"},\"pools\":{\"details\":\"'Pool.id' -> 'Pool'\"}},\"title\":\"Allo\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"addPoolManager(uint256,address)\":{\"notice\":\"Add a pool manager\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Add a strategy to the allowlist.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocate to a recipient or multiple recipients.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocate to multiple pools\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Register multiple recipients to multiple pools.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (by cloning a cloneable strategies).\"},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (with a custom strategy)\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distribute to a recipient or multiple recipients.\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Fund a pool.\"},\"getBaseFee()\":{\"notice\":\"Getter for base fee.\"},\"getFeeDenominator()\":{\"notice\":\"Getter for the fee denominator\"},\"getPercentFee()\":{\"notice\":\"Getter for fee percentage.\"},\"getPool(uint256)\":{\"notice\":\"Getter for the 'Pool'.\"},\"getRegistry()\":{\"notice\":\"Getter for registry.\"},\"getStrategy(uint256)\":{\"notice\":\"Getter for the strategy.\"},\"getTreasury()\":{\"notice\":\"Getter for treasury address.\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isCloneableStrategy(address)\":{\"notice\":\"Getter for if strategy is cloneable.\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if the address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if the address is a pool manager\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfer the funds recovered to the recipient\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Passes _data through to the strategy for that pool.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Remove a strategy from the allowlist\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Remove a pool manager\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the fee percentage.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Update pool metadata\"},\"updateRegistry(address)\":{\"notice\":\"Updates the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"This contract is used to create & manage pools as well as manage the protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Allo.sol\":\"Allo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"NewOwnerIsZeroAddress"},{"inputs":[],"type":"error","name":"NoHandoverRequest"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverCanceled","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverRequested","anonymous":false},{"inputs":[{"internalType":"address","name":"oldOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"recipientIds","type":"address[]"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"cancelOwnershipHandover"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"completeOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"FEE_DENOMINATOR","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}]},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"view","type":"function","name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[],"stateMutability":"payable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[],"stateMutability":"payable","type":"function","name":"requestOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to add","_poolId":"ID of the pool"}},"addToCloneableStrategies(address)":{"details":"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"allocate(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().","params":{"_data":"Encoded data unique to the strategy for that pool","_poolId":"ID of the pool"}},"batchAllocate(uint256[],bytes[])":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.","params":{"_datas":"encoded data unique to the strategy for that pool","_poolIds":"IDs of the pools"}},"batchRegisterRecipient(uint256[],bytes[])":{"details":"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.","params":{"_data":"An array of encoded data unique to a strategy that registerRecipient() requires.","_poolIds":"ID's of the pools"},"returns":{"recipientIds":"The recipient IDs that have been registered"}},"cancelOwnershipHandover()":{"details":"Cancels the two-step ownership handover to the caller, if any."},"completeOwnershipHandover(address)":{"details":"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"custom:initstrategydata":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'","details":"'msg.sender' must be owner or member of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool","_metadata":"The metadata of the pool","_profileId":"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the strategy contract the pool will use.","_token":"The address of the token"}},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"details":"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token you want to deposit into the pool on initialization","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool, and can be added/removed later by the pool admin","_metadata":"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)","_profileId":"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the deployed custom strategy","_token":"The address of the token you want to use in your pool"},"returns":{"poolId":"The ID of the pool"}},"distribute(uint256,address[],bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.","params":{"_data":"Encoded data unique to the strategy","_poolId":"ID of the pool","_recipientIds":"Ids of the recipients of the distribution"}},"fundPool(uint256,uint256)":{"details":"Anyone can fund a pool and call this function.","params":{"_amount":"The amount to be deposited into the pool","_poolId":"ID of the pool"}},"getBaseFee()":{"returns":{"_0":"The base fee"}},"getFeeDenominator()":{"returns":{"FEE_DENOMINATOR":"The fee denominator is (1e18) which represents 100%"}},"getPercentFee()":{"returns":{"_0":"The fee percentage (1e18 = 100%)"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The 'Pool' struct"}},"getRegistry()":{"returns":{"_0":"The registry address"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The address of the strategy"}},"getTreasury()":{"returns":{"_0":"The treasury address"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address,address,address,uint256,uint256)":{"details":"During upgrade -> a higher version should be passed to reinitializer","params":{"_baseFee":"The base fee","_owner":"The owner of allo","_percentFee":"The percentage fee","_registry":"The address of the registry","_treasury":"The address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy"},"returns":{"_0":"'true' if the strategy is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool manager, otherwise 'false'"}},"owner()":{"details":"Returns the owner of the contract."},"ownershipHandoverExpiresAt(address)":{"details":"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`."},"recoverFunds(address,address)":{"details":"'msg.sender' must be Allo owner","params":{"_recipient":"The recipient","_token":"The token to transfer"}},"registerRecipient(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().","params":{"_data":"Encoded data unique to a strategy that registerRecipient() requires","_poolId":"ID of the pool"},"returns":{"_0":"recipientId The recipient ID that has been registered"}},"removeFromCloneableStrategies(address)":{"details":"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"removePoolManager(uint256,address)":{"details":"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to remove","_poolId":"ID of the pool"}},"renounceOwnership()":{"details":"Allows the owner to renounce their ownership."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"requestOwnershipHandover()":{"details":"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Allows the owner to transfer the ownership to `newOwner`."},"updateBaseFee(uint256)":{"details":"Use this to update the base fee. 'msg.sender' must be Allo owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"Use this to update the fee percentage. 'msg.sender' must be Allo owner.","params":{"_percentFee":"The new fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.","params":{"_metadata":"The new metadata of the pool","_poolId":"ID of the pool"}},"updateRegistry(address)":{"details":"Use this to update the registry address. 'msg.sender' must be Allo owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"Use this to update the treasury address. 'msg.sender' must be Allo owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"addPoolManager(uint256,address)":{"notice":"Add a pool manager"},"addToCloneableStrategies(address)":{"notice":"Add a strategy to the allowlist."},"allocate(uint256,bytes)":{"notice":"Allocate to a recipient or multiple recipients."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocate to multiple pools"},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Register multiple recipients to multiple pools."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (by cloning a cloneable strategies)."},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (with a custom strategy)"},"distribute(uint256,address[],bytes)":{"notice":"Distribute to a recipient or multiple recipients."},"fundPool(uint256,uint256)":{"notice":"Fund a pool."},"getBaseFee()":{"notice":"Getter for base fee."},"getFeeDenominator()":{"notice":"Getter for the fee denominator"},"getPercentFee()":{"notice":"Getter for fee percentage."},"getPool(uint256)":{"notice":"Getter for the 'Pool'."},"getRegistry()":{"notice":"Getter for registry."},"getStrategy(uint256)":{"notice":"Getter for the strategy."},"getTreasury()":{"notice":"Getter for treasury address."},"initialize(address,address,address,uint256,uint256)":{"notice":"Initializes the contract after an upgrade"},"isCloneableStrategy(address)":{"notice":"Getter for if strategy is cloneable."},"isPoolAdmin(uint256,address)":{"notice":"Checks if the address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if the address is a pool manager"},"recoverFunds(address,address)":{"notice":"Transfer the funds recovered to the recipient"},"registerRecipient(uint256,bytes)":{"notice":"Passes _data through to the strategy for that pool."},"removeFromCloneableStrategies(address)":{"notice":"Remove a strategy from the allowlist"},"removePoolManager(uint256,address)":{"notice":"Remove a pool manager"},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the fee percentage."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Update pool metadata"},"updateRegistry(address)":{"notice":"Updates the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Allo.sol":"Allo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":54050,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52470,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)"},{"astId":52777,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53248,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_status","offset":0,"slot":"151","type":"t_uint256"},{"astId":53317,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"152","type":"t_array(t_uint256)49_storage"},{"astId":34,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"percentFee","offset":0,"slot":"201","type":"t_uint256"},{"astId":37,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"baseFee","offset":0,"slot":"202","type":"t_uint256"},{"astId":40,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_poolIndex","offset":0,"slot":"203","type":"t_uint256"},{"astId":43,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"treasury","offset":0,"slot":"204","type":"t_address_payable"},{"astId":47,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"registry","offset":0,"slot":"205","type":"t_contract(IRegistry)2802"},{"astId":52,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_nonces","offset":0,"slot":"206","type":"t_mapping(t_address,t_uint256)"},{"astId":58,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pools","offset":0,"slot":"207","type":"t_mapping(t_uint256,t_struct(Pool)2319_storage)"},{"astId":63,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"cloneableStrategies","offset":0,"slot":"208","type":"t_mapping(t_address,t_bool)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(IStrategy)2969":{"encoding":"inplace","label":"contract IStrategy","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52465_storage"},"t_mapping(t_uint256,t_struct(Pool)2319_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct IAllo.Pool)","numberOfBytes":"32","value":"t_struct(Pool)2319_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Pool)2319_storage":{"encoding":"inplace","label":"struct IAllo.Pool","numberOfBytes":"224","members":[{"astId":2306,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"profileId","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2309,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"strategy","offset":0,"slot":"1","type":"t_contract(IStrategy)2969"},{"astId":2311,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"token","offset":0,"slot":"2","type":"t_address"},{"astId":2314,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2316,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"managerRole","offset":0,"slot":"5","type":"t_bytes32"},{"astId":2318,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"6","type":"t_bytes32"}]},"t_struct(RoleData)52465_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52462,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52464,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","id":1391,"exportedSymbols":{"AccessControlUpgradeable":[52778],"AddressUpgradeable":[53726],"Allo":[1390],"Clone":[3002],"ContextUpgradeable":[53777],"ERC165Upgradeable":[54051],"Errors":[3089],"IAccessControlUpgradeable":[52851],"IAllo":[2610],"IERC165Upgradeable":[54063],"IERC20Upgradeable":[53396],"IRegistry":[2802],"IStrategy":[2969],"Initializable":[53233],"MathUpgradeable":[54929],"Metadata":[3098],"Native":[3106],"Ownable":[4137],"ReentrancyGuardUpgradeable":[53318],"SignedMathUpgradeable":[55034],"StringsUpgradeable":[54006],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:34082:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"42:23:0","nodes":[],"literals":["solidity","0.8",".19"]},{"id":2,"nodeType":"ImportDirective","src":"89:37:0","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/auth/Ownable.sol","file":"solady/src/auth/Ownable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":4138,"symbolAliases":[],"unitAlias":""},{"id":3,"nodeType":"ImportDirective","src":"127:84:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53234,"symbolAliases":[],"unitAlias":""},{"id":4,"nodeType":"ImportDirective","src":"212:88:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53397,"symbolAliases":[],"unitAlias":""},{"id":5,"nodeType":"ImportDirective","src":"301:90:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52779,"symbolAliases":[],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"392:94:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53319,"symbolAliases":[],"unitAlias":""},{"id":7,"nodeType":"ImportDirective","src":"501:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"./interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":2611,"symbolAliases":[],"unitAlias":""},{"id":9,"nodeType":"ImportDirective","src":"557:44:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"./libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":8,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"565:5:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11,"nodeType":"ImportDirective","src":"602:46:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":10,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"610:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12,"nodeType":"ImportDirective","src":"649:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":14,"nodeType":"ImportDirective","src":"682:50:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3318,"symbolAliases":[{"foreign":{"id":13,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"690:8:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1390,"nodeType":"ContractDefinition","src":"5076:29047:0","nodes":[{"id":34,"nodeType":"VariableDeclaration","src":"5862:26:0","nodes":[],"constant":false,"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"5344:513:0","text":"@notice Percentage that is used to calculate the fee Allo takes from each pool when funded\n and is deducted when a pool is funded. So if you want to fund a round with 1000 DAI and the fee\n percentage is 1e17 (10%), then 100 DAI will be deducted from the 1000 DAI and the pool will be\n funded with 900 DAI. The fee is then sent to the treasury address.\n @dev How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%"},"mutability":"mutable","name":"percentFee","nameLocation":"5878:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33,"name":"uint256","nodeType":"ElementaryTypeName","src":"5862:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":37,"nodeType":"VariableDeclaration","src":"6339:24:0","nodes":[],"constant":false,"documentation":{"id":35,"nodeType":"StructuredDocumentation","src":"5895:439:0","text":"@notice Fee Allo charges for all pools on creation\n @dev This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool\n with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created\n with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address."},"mutability":"mutable","name":"baseFee","nameLocation":"6356:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"6339:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"6431:26:0","nodes":[],"constant":false,"documentation":{"id":38,"nodeType":"StructuredDocumentation","src":"6370:56:0","text":"@notice Incremental index to track the pools created"},"mutability":"mutable","name":"_poolIndex","nameLocation":"6447:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39,"name":"uint256","nodeType":"ElementaryTypeName","src":"6431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":43,"nodeType":"VariableDeclaration","src":"6494:32:0","nodes":[],"constant":false,"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"6464:25:0","text":"@notice Allo treasury"},"mutability":"mutable","name":"treasury","nameLocation":"6518:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":42,"name":"address","nodeType":"ElementaryTypeName","src":"6494:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"private"},{"id":47,"nodeType":"VariableDeclaration","src":"6567:26:0","nodes":[],"constant":false,"documentation":{"id":44,"nodeType":"StructuredDocumentation","src":"6533:29:0","text":"@notice Registry contract"},"mutability":"mutable","name":"registry","nameLocation":"6585:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":46,"nodeType":"UserDefinedTypeName","pathNode":{"id":45,"name":"IRegistry","nameLocations":["6567:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6567:9:0"},"referencedDeclaration":2802,"src":"6567:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"private"},{"id":52,"nodeType":"VariableDeclaration","src":"6733:43:0","nodes":[],"constant":false,"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"6600:128:0","text":"@notice Maps the `msg.sender` to a `nonce` to prevent duplicates\n @dev 'msg.sender' -> 'nonce' for cloning strategies"},"mutability":"mutable","name":"_nonces","nameLocation":"6769:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":51,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6733:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":58,"nodeType":"VariableDeclaration","src":"6869:38:0","nodes":[],"constant":false,"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"6783:81:0","text":"@notice Maps the pool ID to the pool details\n @dev 'Pool.id' -> 'Pool'"},"mutability":"mutable","name":"pools","nameLocation":"6902:5:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"typeName":{"id":57,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6869:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"Pool","nameLocations":["6888:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"6888:4:0"},"referencedDeclaration":2319,"src":"6888:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}}},"visibility":"private"},{"id":63,"nodeType":"VariableDeclaration","src":"7064:52:0","nodes":[],"constant":false,"documentation":{"id":59,"nodeType":"StructuredDocumentation","src":"6914:145:0","text":"@notice Returns a bool for whether a strategy is cloneable or not using the strategy address as the key\n @dev Strategy.address -> bool"},"mutability":"mutable","name":"cloneableStrategies","nameLocation":"7097:19:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":62,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"7072:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7064:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61,"name":"bool","nodeType":"ElementaryTypeName","src":"7083:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"id":101,"nodeType":"FunctionDefinition","src":"7626:593:0","nodes":[],"body":{"id":100,"nodeType":"Block","src":"7819:400:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":81,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66,"src":"7907:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80,"name":"_initializeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4022,"src":"7890:16:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83,"nodeType":"ExpressionStatement","src":"7890:24:0"},{"expression":{"arguments":[{"id":85,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"7984:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"7968:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87,"nodeType":"ExpressionStatement","src":"7968:26:0"},{"expression":{"arguments":[{"id":89,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"8064:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":88,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"8048:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8048:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91,"nodeType":"ExpressionStatement","src":"8048:26:0"},{"expression":{"arguments":[{"id":93,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"8137:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"8119:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95,"nodeType":"ExpressionStatement","src":"8119:30:0"},{"expression":{"arguments":[{"id":97,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"8203:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"8188:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"8188:24:0"}]},"baseFunctions":[2404],"documentation":{"id":64,"nodeType":"StructuredDocumentation","src":"7257:364:0","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer\n @param _owner The owner of allo\n @param _registry The address of the registry\n @param _treasury The address of the treasury\n @param _percentFee The percentage fee\n @param _baseFee The base fee"},"functionSelector":"a6b63eb8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":77,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":78,"kind":"modifierInvocation","modifierName":{"id":76,"name":"reinitializer","nameLocations":["7802:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53168,"src":"7802:13:0"},"nodeType":"ModifierInvocation","src":"7802:16:0"}],"name":"initialize","nameLocation":"7635:10:0","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66,"mutability":"mutable","name":"_owner","nameLocation":"7663:6:0","nodeType":"VariableDeclaration","scope":101,"src":"7655:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"7655:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"_registry","nameLocation":"7687:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7679:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67,"name":"address","nodeType":"ElementaryTypeName","src":"7679:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"_treasury","nameLocation":"7722:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7706:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"7706:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"_percentFee","nameLocation":"7749:11:0","nodeType":"VariableDeclaration","scope":101,"src":"7741:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"7741:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74,"mutability":"mutable","name":"_baseFee","nameLocation":"7778:8:0","nodeType":"VariableDeclaration","scope":101,"src":"7770:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73,"name":"uint256","nodeType":"ElementaryTypeName","src":"7770:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7645:147:0"},"returnParameters":{"id":79,"nodeType":"ParameterList","parameters":[],"src":"7819:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":112,"nodeType":"ModifierDefinition","src":"8573:100:0","nodes":[],"body":{"id":111,"nodeType":"Block","src":"8615:58:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":107,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"8647:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":106,"name":"_checkOnlyPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"8625:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8625:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"ExpressionStatement","src":"8625:30:0"},{"id":110,"nodeType":"PlaceholderStatement","src":"8665:1:0"}]},"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"8463:105:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool manager\n @param _poolId The pool id"},"name":"onlyPoolManager","nameLocation":"8582:15:0","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"_poolId","nameLocation":"8606:7:0","nodeType":"VariableDeclaration","scope":112,"src":"8598:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint256","nodeType":"ElementaryTypeName","src":"8598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8597:17:0"},"virtual":false,"visibility":"internal"},{"id":123,"nodeType":"ModifierDefinition","src":"8787:96:0","nodes":[],"body":{"id":122,"nodeType":"Block","src":"8827:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":118,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"8857:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":117,"name":"_checkOnlyPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8837:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8837:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":120,"nodeType":"ExpressionStatement","src":"8837:28:0"},{"id":121,"nodeType":"PlaceholderStatement","src":"8875:1:0"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"8679:103:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool admin\n @param _poolId The pool id"},"name":"onlyPoolAdmin","nameLocation":"8796:13:0","parameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"mutability":"mutable","name":"_poolId","nameLocation":"8818:7:0","nodeType":"VariableDeclaration","scope":123,"src":"8810:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":114,"name":"uint256","nodeType":"ElementaryTypeName","src":"8810:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8809:17:0"},"virtual":false,"visibility":"internal"},{"id":175,"nodeType":"FunctionDefinition","src":"10281:884:0","nodes":[],"body":{"id":174,"nodeType":"Block","src":"10582:583:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":145,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10687:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10708:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10700:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":146,"name":"address","nodeType":"ElementaryTypeName","src":"10700:7:0","typeDescriptions":{}}},"id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10700:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10687:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":154,"nodeType":"IfStatement","src":"10683:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":151,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10719:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"RevertStatement","src":"10712:21:0"}},{"condition":{"arguments":[{"id":156,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10919:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":155,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10898:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10898:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":161,"nodeType":"IfStatement","src":"10894:66:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":158,"name":"IS_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3038,"src":"10938:20:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10938:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":160,"nodeType":"RevertStatement","src":"10931:29:0"}},{"expression":{"arguments":[{"id":163,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"11067:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":165,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"11089:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":164,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"11079:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":167,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"11101:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":168,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"11120:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":169,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"11128:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":170,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"11137:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":171,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"11148:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":162,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"11055:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11055:103:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":144,"id":173,"nodeType":"Return","src":"11048:110:0"}]},"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"9025:1251:0","text":"@notice Creates a new pool (with a custom strategy)\n @dev 'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data\n will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy\n address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must\n be a member or owner of the profile id passed as '_profileId'.\n @param _profileId The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the deployed custom strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token you want to use in your pool\n @param _amount The amount of the token you want to deposit into the pool on initialization\n @param _metadata The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\n @param _managers The managers of the pool, and can be added/removed later by the pool admin\n @return poolId The ID of the pool"},"functionSelector":"e1007d4a","implemented":true,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"10290:28:0","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"_profileId","nameLocation":"10336:10:0","nodeType":"VariableDeclaration","scope":175,"src":"10328:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10328:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"_strategy","nameLocation":"10364:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10356:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"10356:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"_initStrategyData","nameLocation":"10396:17:0","nodeType":"VariableDeclaration","scope":175,"src":"10383:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":129,"name":"bytes","nodeType":"ElementaryTypeName","src":"10383:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":132,"mutability":"mutable","name":"_token","nameLocation":"10431:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10423:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"10423:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"_amount","nameLocation":"10455:7:0","nodeType":"VariableDeclaration","scope":175,"src":"10447:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"10447:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"_metadata","nameLocation":"10488:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10472:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":136,"nodeType":"UserDefinedTypeName","pathNode":{"id":135,"name":"Metadata","nameLocations":["10472:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10472:8:0"},"referencedDeclaration":3098,"src":"10472:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"_managers","nameLocation":"10524:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10507:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"10507:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":139,"nodeType":"ArrayTypeName","src":"10507:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10318:221:0"},"returnParameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"mutability":"mutable","name":"poolId","nameLocation":"10574:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10566:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint256","nodeType":"ElementaryTypeName","src":"10566:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10565:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":229,"nodeType":"FunctionDefinition","src":"11971:701:0","nodes":[],"body":{"id":228,"nodeType":"Block","src":"12267:405:0","nodes":[],"statements":[{"condition":{"id":202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12281:32:0","subExpression":{"arguments":[{"id":200,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12303:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":199,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"12282:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":207,"nodeType":"IfStatement","src":"12277:93:0","trueBody":{"id":206,"nodeType":"Block","src":"12315:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":203,"name":"NOT_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3035,"src":"12336:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":205,"nodeType":"RevertStatement","src":"12329:30:0"}]}},{"expression":{"arguments":[{"id":209,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"12451:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":213,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12503:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12514:21:0","subExpression":{"baseExpression":{"id":214,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"12514:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":217,"indexExpression":{"expression":{"id":215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12522:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12526:6:0","memberName":"sender","nodeType":"MemberAccess","src":"12522:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12514:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":211,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"12485:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12491:11:0","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"12485:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":210,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"12475:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12475:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":221,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"12551:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":222,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"12582:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":223,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"12602:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":224,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"12623:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":225,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"12646:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":208,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"12426:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12426:239:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":198,"id":227,"nodeType":"Return","src":"12419:246:0"}]},"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"11171:795:0","text":"@notice Creates a new pool (by cloning a cloneable strategies).\n @dev 'msg.sender' must be owner or member of the profile id passed as '_profileId'.\n @param _profileId The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the strategy contract the pool will use.\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token\n @param _amount The amount of the token\n @param _metadata The metadata of the pool\n @param _managers The managers of the pool\n @custom:initstrategydata The encoded data will be specific to a given strategy requirements,\n reference the strategy implementation of 'initialize()'"},"functionSelector":"77da8caf","implemented":true,"kind":"function","modifiers":[{"id":195,"kind":"modifierInvocation","modifierName":{"id":194,"name":"nonReentrant","nameLocations":["12229:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"12229:12:0"},"nodeType":"ModifierInvocation","src":"12229:12:0"}],"name":"createPool","nameLocation":"11980:10:0","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"_profileId","nameLocation":"12008:10:0","nodeType":"VariableDeclaration","scope":229,"src":"12000:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12000:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"_strategy","nameLocation":"12036:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12028:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"12028:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":182,"mutability":"mutable","name":"_initStrategyData","nameLocation":"12068:17:0","nodeType":"VariableDeclaration","scope":229,"src":"12055:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":181,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":184,"mutability":"mutable","name":"_token","nameLocation":"12103:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12095:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"_amount","nameLocation":"12127:7:0","nodeType":"VariableDeclaration","scope":229,"src":"12119:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"12119:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":189,"mutability":"mutable","name":"_metadata","nameLocation":"12160:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12144:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":188,"nodeType":"UserDefinedTypeName","pathNode":{"id":187,"name":"Metadata","nameLocations":["12144:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12144:8:0"},"referencedDeclaration":3098,"src":"12144:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":192,"mutability":"mutable","name":"_managers","nameLocation":"12196:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12179:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":190,"name":"address","nodeType":"ElementaryTypeName","src":"12179:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":191,"nodeType":"ArrayTypeName","src":"12179:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11990:221:0"},"returnParameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"mutability":"mutable","name":"poolId","nameLocation":"12259:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12251:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":196,"name":"uint256","nodeType":"ElementaryTypeName","src":"12251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12250:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":260,"nodeType":"FunctionDefinition","src":"12894:247:0","nodes":[],"body":{"id":259,"nodeType":"Block","src":"13000:141:0","nodes":[],"statements":[{"assignments":[243],"declarations":[{"constant":false,"id":243,"mutability":"mutable","name":"pool","nameLocation":"13023:4:0","nodeType":"VariableDeclaration","scope":259,"src":"13010:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":242,"nodeType":"UserDefinedTypeName","pathNode":{"id":241,"name":"Pool","nameLocations":["13010:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13010:4:0"},"referencedDeclaration":2319,"src":"13010:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":247,"initialValue":{"baseExpression":{"id":244,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"13030:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":246,"indexExpression":{"id":245,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13036:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13030:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13010:34:0"},{"expression":{"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":248,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"13054:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13059:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2314,"src":"13054:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":251,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13070:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"13054:25:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":253,"nodeType":"ExpressionStatement","src":"13054:25:0"},{"eventCall":{"arguments":[{"id":255,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13115:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":256,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13124:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":254,"name":"PoolMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"13095:19:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,struct Metadata memory)"}},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13095:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":258,"nodeType":"EmitStatement","src":"13090:44:0"}]},"baseFunctions":[2413],"documentation":{"id":230,"nodeType":"StructuredDocumentation","src":"12678:211:0","text":"@notice Update pool metadata\n @dev 'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\n @param _poolId ID of the pool\n @param _metadata The new metadata of the pool"},"functionSelector":"5f9ca138","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":238,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"12991:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":239,"kind":"modifierInvocation","modifierName":{"id":237,"name":"onlyPoolManager","nameLocations":["12975:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"12975:15:0"},"nodeType":"ModifierInvocation","src":"12975:24:0"}],"name":"updatePoolMetadata","nameLocation":"12903:18:0","parameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"mutability":"mutable","name":"_poolId","nameLocation":"12930:7:0","nodeType":"VariableDeclaration","scope":260,"src":"12922:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":231,"name":"uint256","nodeType":"ElementaryTypeName","src":"12922:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"_metadata","nameLocation":"12955:9:0","nodeType":"VariableDeclaration","scope":260,"src":"12939:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":234,"nodeType":"UserDefinedTypeName","pathNode":{"id":233,"name":"Metadata","nameLocations":["12939:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12939:8:0"},"referencedDeclaration":3098,"src":"12939:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12921:44:0"},"returnParameters":{"id":240,"nodeType":"ParameterList","parameters":[],"src":"13000:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":273,"nodeType":"FunctionDefinition","src":"13330:105:0","nodes":[],"body":{"id":272,"nodeType":"Block","src":"13392:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":269,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":263,"src":"13418:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":268,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"13402:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13402:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":271,"nodeType":"ExpressionStatement","src":"13402:26:0"}]},"baseFunctions":[2419],"documentation":{"id":261,"nodeType":"StructuredDocumentation","src":"13147:178:0","text":"@notice Updates the registry address.\n @dev Use this to update the registry address. 'msg.sender' must be Allo owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":true,"kind":"function","modifiers":[{"id":266,"kind":"modifierInvocation","modifierName":{"id":265,"name":"onlyOwner","nameLocations":["13382:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"13382:9:0"},"nodeType":"ModifierInvocation","src":"13382:9:0"}],"name":"updateRegistry","nameLocation":"13339:14:0","parameters":{"id":264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":263,"mutability":"mutable","name":"_registry","nameLocation":"13362:9:0","nodeType":"VariableDeclaration","scope":273,"src":"13354:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":262,"name":"address","nodeType":"ElementaryTypeName","src":"13354:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13353:19:0"},"returnParameters":{"id":267,"nodeType":"ParameterList","parameters":[],"src":"13392:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":286,"nodeType":"FunctionDefinition","src":"13624:113:0","nodes":[],"body":{"id":285,"nodeType":"Block","src":"13694:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":282,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"13720:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":281,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"13704:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13704:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":284,"nodeType":"ExpressionStatement","src":"13704:26:0"}]},"baseFunctions":[2425],"documentation":{"id":274,"nodeType":"StructuredDocumentation","src":"13441:178:0","text":"@notice Updates the treasury address.\n @dev Use this to update the treasury address. 'msg.sender' must be Allo owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":true,"kind":"function","modifiers":[{"id":279,"kind":"modifierInvocation","modifierName":{"id":278,"name":"onlyOwner","nameLocations":["13684:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"13684:9:0"},"nodeType":"ModifierInvocation","src":"13684:9:0"}],"name":"updateTreasury","nameLocation":"13633:14:0","parameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"_treasury","nameLocation":"13664:9:0","nodeType":"VariableDeclaration","scope":286,"src":"13648:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"13648:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"13647:27:0"},"returnParameters":{"id":280,"nodeType":"ParameterList","parameters":[],"src":"13694:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":299,"nodeType":"FunctionDefinition","src":"13911:113:0","nodes":[],"body":{"id":298,"nodeType":"Block","src":"13977:47:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":295,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"14005:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":294,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"13987:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13987:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":297,"nodeType":"ExpressionStatement","src":"13987:30:0"}]},"baseFunctions":[2431],"documentation":{"id":287,"nodeType":"StructuredDocumentation","src":"13743:163:0","text":"@notice Updates the fee percentage.\n @dev Use this to update the fee percentage. 'msg.sender' must be Allo owner.\n @param _percentFee The new fee"},"functionSelector":"f54fc4a0","implemented":true,"kind":"function","modifiers":[{"id":292,"kind":"modifierInvocation","modifierName":{"id":291,"name":"onlyOwner","nameLocations":["13967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"13967:9:0"},"nodeType":"ModifierInvocation","src":"13967:9:0"}],"name":"updatePercentFee","nameLocation":"13920:16:0","parameters":{"id":290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":289,"mutability":"mutable","name":"_percentFee","nameLocation":"13945:11:0","nodeType":"VariableDeclaration","scope":299,"src":"13937:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":288,"name":"uint256","nodeType":"ElementaryTypeName","src":"13937:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13936:21:0"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"13977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":312,"nodeType":"FunctionDefinition","src":"14188:101:0","nodes":[],"body":{"id":311,"nodeType":"Block","src":"14248:41:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":308,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"14273:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":307,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"14258:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14258:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"14258:24:0"}]},"baseFunctions":[2437],"documentation":{"id":300,"nodeType":"StructuredDocumentation","src":"14030:153:0","text":"@notice Updates the base fee.\n @dev Use this to update the base fee. 'msg.sender' must be Allo owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":true,"kind":"function","modifiers":[{"id":305,"kind":"modifierInvocation","modifierName":{"id":304,"name":"onlyOwner","nameLocations":["14238:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"14238:9:0"},"nodeType":"ModifierInvocation","src":"14238:9:0"}],"name":"updateBaseFee","nameLocation":"14197:13:0","parameters":{"id":303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"_baseFee","nameLocation":"14219:8:0","nodeType":"VariableDeclaration","scope":312,"src":"14211:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":301,"name":"uint256","nodeType":"ElementaryTypeName","src":"14211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14210:18:0"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"14248:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":341,"nodeType":"FunctionDefinition","src":"14481:229:0","nodes":[],"body":{"id":340,"nodeType":"Block","src":"14553:157:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14567:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"14580:7:0","typeDescriptions":{}}},"id":324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14567:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":329,"nodeType":"IfStatement","src":"14563:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":326,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"14599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":328,"nodeType":"RevertStatement","src":"14592:21:0"}},{"expression":{"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":330,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"14624:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":332,"indexExpression":{"id":331,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14644:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14624:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14657:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14624:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":335,"nodeType":"ExpressionStatement","src":"14624:37:0"},{"eventCall":{"arguments":[{"id":337,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14693:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":336,"name":"StrategyApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"14676:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14676:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"EmitStatement","src":"14671:32:0"}]},"baseFunctions":[2443],"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"14295:181:0","text":"@notice Add a strategy to the allowlist.\n @dev Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"41bba0b4","implemented":true,"kind":"function","modifiers":[{"id":318,"kind":"modifierInvocation","modifierName":{"id":317,"name":"onlyOwner","nameLocations":["14543:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"14543:9:0"},"nodeType":"ModifierInvocation","src":"14543:9:0"}],"name":"addToCloneableStrategies","nameLocation":"14490:24:0","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"_strategy","nameLocation":"14523:9:0","nodeType":"VariableDeclaration","scope":341,"src":"14515:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"14515:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14514:19:0"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"14553:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":360,"nodeType":"FunctionDefinition","src":"14900:288:0","nodes":[],"body":{"id":359,"nodeType":"Block","src":"14977:211:0","nodes":[],"statements":[{"expression":{"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":349,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"15059:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":351,"indexExpression":{"id":350,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15079:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15059:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15092:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15059:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":354,"nodeType":"ExpressionStatement","src":"15059:38:0"},{"eventCall":{"arguments":[{"id":356,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15171:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":355,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"15155:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"15150:31:0"}]},"baseFunctions":[2449],"documentation":{"id":342,"nodeType":"StructuredDocumentation","src":"14716:179:0","text":"@notice Remove a strategy from the allowlist\n @dev Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"031e2fa1","implemented":true,"kind":"function","modifiers":[{"id":347,"kind":"modifierInvocation","modifierName":{"id":346,"name":"onlyOwner","nameLocations":["14967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"14967:9:0"},"nodeType":"ModifierInvocation","src":"14967:9:0"}],"name":"removeFromCloneableStrategies","nameLocation":"14909:29:0","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"mutability":"mutable","name":"_strategy","nameLocation":"14947:9:0","nodeType":"VariableDeclaration","scope":360,"src":"14939:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":343,"name":"address","nodeType":"ElementaryTypeName","src":"14939:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14938:19:0"},"returnParameters":{"id":348,"nodeType":"ParameterList","parameters":[],"src":"14977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":390,"nodeType":"FunctionDefinition","src":"15387:358:0","nodes":[],"body":{"id":389,"nodeType":"Block","src":"15478:267:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":371,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15568:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"15580:7:0","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15568:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":380,"nodeType":"IfStatement","src":"15564:49:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":377,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"15599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"RevertStatement","src":"15592:21:0"}},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":382,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"15701:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":384,"indexExpression":{"id":383,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15707:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15701:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15716:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"15701:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":386,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":381,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"15690:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15690:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":388,"nodeType":"ExpressionStatement","src":"15690:48:0"}]},"baseFunctions":[2457],"documentation":{"id":361,"nodeType":"StructuredDocumentation","src":"15194:188:0","text":"@notice Add a pool manager\n @dev Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to add"},"functionSelector":"2cf682b0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":368,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15469:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":369,"kind":"modifierInvocation","modifierName":{"id":367,"name":"onlyPoolAdmin","nameLocations":["15455:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"15455:13:0"},"nodeType":"ModifierInvocation","src":"15455:22:0"}],"name":"addPoolManager","nameLocation":"15396:14:0","parameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"mutability":"mutable","name":"_poolId","nameLocation":"15419:7:0","nodeType":"VariableDeclaration","scope":390,"src":"15411:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":362,"name":"uint256","nodeType":"ElementaryTypeName","src":"15411:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":365,"mutability":"mutable","name":"_manager","nameLocation":"15436:8:0","nodeType":"VariableDeclaration","scope":390,"src":"15428:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"15428:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15410:35:0"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[],"src":"15478:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":410,"nodeType":"FunctionDefinition","src":"15950:160:0","nodes":[],"body":{"id":409,"nodeType":"Block","src":"16044:66:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":402,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"16066:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":404,"indexExpression":{"id":403,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16072:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16081:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"16066:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":406,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":395,"src":"16094:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":401,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52772,"src":"16054:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":408,"nodeType":"ExpressionStatement","src":"16054:49:0"}]},"baseFunctions":[2465],"documentation":{"id":391,"nodeType":"StructuredDocumentation","src":"15751:194:0","text":"@notice Remove a pool manager\n @dev Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to remove"},"functionSelector":"7f5a70bd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":398,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16035:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":399,"kind":"modifierInvocation","modifierName":{"id":397,"name":"onlyPoolAdmin","nameLocations":["16021:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"16021:13:0"},"nodeType":"ModifierInvocation","src":"16021:22:0"}],"name":"removePoolManager","nameLocation":"15959:17:0","parameters":{"id":396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":393,"mutability":"mutable","name":"_poolId","nameLocation":"15985:7:0","nodeType":"VariableDeclaration","scope":410,"src":"15977:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"15977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":395,"mutability":"mutable","name":"_manager","nameLocation":"16002:8:0","nodeType":"VariableDeclaration","scope":410,"src":"15994:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":394,"name":"address","nodeType":"ElementaryTypeName","src":"15994:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15976:35:0"},"returnParameters":{"id":400,"nodeType":"ParameterList","parameters":[],"src":"16044:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":448,"nodeType":"FunctionDefinition","src":"16308:430:0","nodes":[],"body":{"id":447,"nodeType":"Block","src":"16385:353:0","nodes":[],"statements":[{"assignments":[421],"declarations":[{"constant":false,"id":421,"mutability":"mutable","name":"amount","nameLocation":"16514:6:0","nodeType":"VariableDeclaration","scope":447,"src":"16506:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":420,"name":"uint256","nodeType":"ElementaryTypeName","src":"16506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":440,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16523:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":423,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16533:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16523:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":436,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16610:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16602:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"16602:7:0","typeDescriptions":{}}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":431,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16584:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":430,"name":"IERC20Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53396,"src":"16566:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Upgradeable_$53396_$","typeString":"type(contract IERC20Upgradeable)"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Upgradeable_$53396","typeString":"contract IERC20Upgradeable"}},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16592:9:0","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":53353,"src":"16566:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16523:93:0","trueExpression":{"expression":{"arguments":[{"id":427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16550:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16542:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":425,"name":"address","nodeType":"ElementaryTypeName","src":"16542:7:0","typeDescriptions":{}}},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16542:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16556:7:0","memberName":"balance","nodeType":"MemberAccess","src":"16542:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16506:110:0"},{"expression":{"arguments":[{"id":442,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16704:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":443,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"16712:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"16724:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"16688:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16688:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"ExpressionStatement","src":"16688:43:0"}]},"baseFunctions":[2473],"documentation":{"id":411,"nodeType":"StructuredDocumentation","src":"16116:187:0","text":"@notice Transfer the funds recovered to the recipient\n @dev 'msg.sender' must be Allo owner\n @param _token The token to transfer\n @param _recipient The recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"id":418,"kind":"modifierInvocation","modifierName":{"id":417,"name":"onlyOwner","nameLocations":["16375:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"16375:9:0"},"nodeType":"ModifierInvocation","src":"16375:9:0"}],"name":"recoverFunds","nameLocation":"16317:12:0","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"mutability":"mutable","name":"_token","nameLocation":"16338:6:0","nodeType":"VariableDeclaration","scope":448,"src":"16330:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":412,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":415,"mutability":"mutable","name":"_recipient","nameLocation":"16354:10:0","nodeType":"VariableDeclaration","scope":448,"src":"16346:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":414,"name":"address","nodeType":"ElementaryTypeName","src":"16346:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16329:36:0"},"returnParameters":{"id":419,"nodeType":"ParameterList","parameters":[],"src":"16385:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":474,"nodeType":"FunctionDefinition","src":"17298:276:0","nodes":[],"body":{"id":473,"nodeType":"Block","src":"17410:164:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":468,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"17549:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":469,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17556:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17560:6:0","memberName":"sender","nodeType":"MemberAccess","src":"17556:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":460,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"17489:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":462,"indexExpression":{"id":461,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"17495:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17489:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17504:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17489:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17513:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"17489:41:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17538:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17542:5:0","memberName":"value","nodeType":"MemberAccess","src":"17538:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"17489:59:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$value","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":459,"id":472,"nodeType":"Return","src":"17482:85:0"}]},"baseFunctions":[2483],"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"16877:416:0","text":"@notice Passes _data through to the strategy for that pool.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of registerRecipient().\n @param _poolId ID of the pool\n @param _data Encoded data unique to a strategy that registerRecipient() requires\n @return recipientId The recipient ID that has been registered"},"functionSelector":"075c0e9c","implemented":true,"kind":"function","modifiers":[{"id":456,"kind":"modifierInvocation","modifierName":{"id":455,"name":"nonReentrant","nameLocations":["17379:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"17379:12:0"},"nodeType":"ModifierInvocation","src":"17379:12:0"}],"name":"registerRecipient","nameLocation":"17307:17:0","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"_poolId","nameLocation":"17333:7:0","nodeType":"VariableDeclaration","scope":474,"src":"17325:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17325:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"_data","nameLocation":"17355:5:0","nodeType":"VariableDeclaration","scope":474,"src":"17342:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":452,"name":"bytes","nodeType":"ElementaryTypeName","src":"17342:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17324:37:0"},"returnParameters":{"id":459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":474,"src":"17401:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":457,"name":"address","nodeType":"ElementaryTypeName","src":"17401:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17400:9:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":543,"nodeType":"FunctionDefinition","src":"18212:747:0","nodes":[],"body":{"id":542,"nodeType":"Block","src":"18383:576:0","nodes":[],"statements":[{"assignments":[490],"declarations":[{"constant":false,"id":490,"mutability":"mutable","name":"poolIdLength","nameLocation":"18401:12:0","nodeType":"VariableDeclaration","scope":542,"src":"18393:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":489,"name":"uint256","nodeType":"ElementaryTypeName","src":"18393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":493,"initialValue":{"expression":{"id":491,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18416:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18425:6:0","memberName":"length","nodeType":"MemberAccess","src":"18416:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18393:38:0"},{"expression":{"id":500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":494,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18441:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":498,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18470:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18456:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"18460:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":496,"nodeType":"ArrayTypeName","src":"18460:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18456:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"18441:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":501,"nodeType":"ExpressionStatement","src":"18441:42:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":502,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18498:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":503,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18514:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18520:6:0","memberName":"length","nodeType":"MemberAccess","src":"18514:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18498:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":509,"nodeType":"IfStatement","src":"18494:51:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":506,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"18535:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18535:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"RevertStatement","src":"18528:17:0"}},{"body":{"id":538,"nodeType":"Block","src":"18693:169:0","statements":[{"expression":{"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":516,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18707:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":518,"indexExpression":{"id":517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18720:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18707:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":526,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18771:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":528,"indexExpression":{"id":527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18777:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18771:8:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18781:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18785:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18781:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":519,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"18725:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":523,"indexExpression":{"baseExpression":{"id":520,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18731:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":522,"indexExpression":{"id":521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18740:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18731:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18725:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18744:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18725:27:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18753:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"18725:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18725:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18707:85:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":533,"nodeType":"ExpressionStatement","src":"18707:85:0"},{"id":537,"nodeType":"UncheckedBlock","src":"18806:46:0","statements":[{"expression":{"id":535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18834:3:0","subExpression":{"id":534,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18836:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":536,"nodeType":"ExpressionStatement","src":"18834:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":513,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18674:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":514,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18678:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18674:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":539,"initializationExpression":{"assignments":[511],"declarations":[{"constant":false,"id":511,"mutability":"mutable","name":"i","nameLocation":"18671:1:0","nodeType":"VariableDeclaration","scope":539,"src":"18663:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18663:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":512,"nodeType":"VariableDeclarationStatement","src":"18663:9:0"},"nodeType":"ForStatement","src":"18658:204:0"},{"expression":{"id":540,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18940:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":488,"id":541,"nodeType":"Return","src":"18933:19:0"}]},"baseFunctions":[2496],"documentation":{"id":475,"nodeType":"StructuredDocumentation","src":"17580:627:0","text":"@notice Register multiple recipients to multiple pools.\n @dev Returns the 'recipientIds' from the strategy that have been registered from calling this function.\n Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match\n '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\n @param _poolIds ID's of the pools\n @param _data An array of encoded data unique to a strategy that registerRecipient() requires.\n @return recipientIds The recipient IDs that have been registered"},"functionSelector":"1a20bd88","implemented":true,"kind":"function","modifiers":[{"id":484,"kind":"modifierInvocation","modifierName":{"id":483,"name":"nonReentrant","nameLocations":["18318:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"18318:12:0"},"nodeType":"ModifierInvocation","src":"18318:12:0"}],"name":"batchRegisterRecipient","nameLocation":"18221:22:0","parameters":{"id":482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"_poolIds","nameLocation":"18261:8:0","nodeType":"VariableDeclaration","scope":543,"src":"18244:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":476,"name":"uint256","nodeType":"ElementaryTypeName","src":"18244:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":477,"nodeType":"ArrayTypeName","src":"18244:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"_data","nameLocation":"18286:5:0","nodeType":"VariableDeclaration","scope":543,"src":"18271:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":479,"name":"bytes","nodeType":"ElementaryTypeName","src":"18271:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":480,"nodeType":"ArrayTypeName","src":"18271:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18243:49:0"},"returnParameters":{"id":488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":487,"mutability":"mutable","name":"recipientIds","nameLocation":"18365:12:0","nodeType":"VariableDeclaration","scope":543,"src":"18348:29:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":485,"name":"address","nodeType":"ElementaryTypeName","src":"18348:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":486,"nodeType":"ArrayTypeName","src":"18348:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18347:31:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":588,"nodeType":"FunctionDefinition","src":"19156:439:0","nodes":[],"body":{"id":587,"nodeType":"Block","src":"19238:357:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":553,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19318:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19318:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":559,"nodeType":"IfStatement","src":"19314:43:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":556,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19339:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19339:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"RevertStatement","src":"19332:25:0"}},{"assignments":[562],"declarations":[{"constant":false,"id":562,"mutability":"mutable","name":"pool","nameLocation":"19380:4:0","nodeType":"VariableDeclaration","scope":587,"src":"19368:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":561,"nodeType":"UserDefinedTypeName","pathNode":{"id":560,"name":"Pool","nameLocations":["19368:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"19368:4:0"},"referencedDeclaration":2319,"src":"19368:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":566,"initialValue":{"baseExpression":{"id":563,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"19387:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":565,"indexExpression":{"id":564,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19387:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19368:33:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":567,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19415:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19420:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"19415:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":569,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"19429:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19415:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":571,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19439:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":572,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19450:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19454:5:0","memberName":"value","nodeType":"MemberAccess","src":"19450:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19439:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19415:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":579,"nodeType":"IfStatement","src":"19411:75:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":576,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19468:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19468:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":578,"nodeType":"RevertStatement","src":"19461:25:0"}},{"expression":{"arguments":[{"id":581,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19556:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":582,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":583,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19574:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19579:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19574:13:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":580,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"19546:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19546:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"19546:42:0"}]},"baseFunctions":[2504],"documentation":{"id":544,"nodeType":"StructuredDocumentation","src":"18965:186:0","text":"@notice Fund a pool.\n @dev Anyone can fund a pool and call this function.\n @param _poolId ID of the pool\n @param _amount The amount to be deposited into the pool"},"functionSelector":"5acd6fac","implemented":true,"kind":"function","modifiers":[{"id":551,"kind":"modifierInvocation","modifierName":{"id":550,"name":"nonReentrant","nameLocations":["19225:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"19225:12:0"},"nodeType":"ModifierInvocation","src":"19225:12:0"}],"name":"fundPool","nameLocation":"19165:8:0","parameters":{"id":549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":546,"mutability":"mutable","name":"_poolId","nameLocation":"19182:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19174:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"19174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"_amount","nameLocation":"19199:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19191:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"19191:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19173:34:0"},"returnParameters":{"id":552,"nodeType":"ParameterList","parameters":[],"src":"19238:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":604,"nodeType":"FunctionDefinition","src":"19921:127:0","nodes":[],"body":{"id":603,"nodeType":"Block","src":"20006:42:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":599,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"src":"20026:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"20035:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":598,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20016:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20016:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"20016:25:0"}]},"baseFunctions":[2512],"documentation":{"id":589,"nodeType":"StructuredDocumentation","src":"19601:315:0","text":"@notice Allocate to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate().\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"functionSelector":"2ec38188","implemented":true,"kind":"function","modifiers":[{"id":596,"kind":"modifierInvocation","modifierName":{"id":595,"name":"nonReentrant","nameLocations":["19993:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"19993:12:0"},"nodeType":"ModifierInvocation","src":"19993:12:0"}],"name":"allocate","nameLocation":"19930:8:0","parameters":{"id":594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":591,"mutability":"mutable","name":"_poolId","nameLocation":"19947:7:0","nodeType":"VariableDeclaration","scope":604,"src":"19939:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":590,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":593,"mutability":"mutable","name":"_data","nameLocation":"19969:5:0","nodeType":"VariableDeclaration","scope":604,"src":"19956:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":592,"name":"bytes","nodeType":"ElementaryTypeName","src":"19956:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19938:37:0"},"returnParameters":{"id":597,"nodeType":"ParameterList","parameters":[],"src":"20006:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":651,"nodeType":"FunctionDefinition","src":"20511:559:0","nodes":[],"body":{"id":650,"nodeType":"Block","src":"20608:462:0","nodes":[],"statements":[{"assignments":[617],"declarations":[{"constant":false,"id":617,"mutability":"mutable","name":"numPools","nameLocation":"20626:8:0","nodeType":"VariableDeclaration","scope":650,"src":"20618:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":616,"name":"uint256","nodeType":"ElementaryTypeName","src":"20618:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":620,"initialValue":{"expression":{"id":618,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20637:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20646:6:0","memberName":"length","nodeType":"MemberAccess","src":"20637:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20618:34:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":621,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20772:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":622,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20784:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20791:6:0","memberName":"length","nodeType":"MemberAccess","src":"20784:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20772:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":628,"nodeType":"IfStatement","src":"20768:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"20806:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20806:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"20799:17:0"}},{"body":{"id":648,"nodeType":"Block","src":"20947:117:0","statements":[{"expression":{"arguments":[{"baseExpression":{"id":636,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20971:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":638,"indexExpression":{"id":637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20980:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20971:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":639,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20984:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":641,"indexExpression":{"id":640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20991:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20984:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":635,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20961:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20961:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":643,"nodeType":"ExpressionStatement","src":"20961:33:0"},{"id":647,"nodeType":"UncheckedBlock","src":"21008:46:0","statements":[{"expression":{"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"21036:3:0","subExpression":{"id":644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"21038:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":646,"nodeType":"ExpressionStatement","src":"21036:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":632,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20932:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":633,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20932:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":649,"initializationExpression":{"assignments":[630],"declarations":[{"constant":false,"id":630,"mutability":"mutable","name":"i","nameLocation":"20929:1:0","nodeType":"VariableDeclaration","scope":649,"src":"20921:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":629,"name":"uint256","nodeType":"ElementaryTypeName","src":"20921:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":631,"nodeType":"VariableDeclarationStatement","src":"20921:9:0"},"nodeType":"ForStatement","src":"20916:148:0"}]},"baseFunctions":[2522],"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"20054:452:0","text":"@notice Allocate to multiple pools\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate(). Please note that this is not a 'payable' function, so if you\n want to send funds to the strategy, you must send the funds using 'fundPool()'.\n @param _poolIds IDs of the pools\n @param _datas encoded data unique to the strategy for that pool"},"functionSelector":"c6dff1cf","implemented":true,"kind":"function","modifiers":[{"id":614,"kind":"modifierInvocation","modifierName":{"id":613,"name":"nonReentrant","nameLocations":["20595:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"20595:12:0"},"nodeType":"ModifierInvocation","src":"20595:12:0"}],"name":"batchAllocate","nameLocation":"20520:13:0","parameters":{"id":612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":608,"mutability":"mutable","name":"_poolIds","nameLocation":"20553:8:0","nodeType":"VariableDeclaration","scope":651,"src":"20534:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":606,"name":"uint256","nodeType":"ElementaryTypeName","src":"20534:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":607,"nodeType":"ArrayTypeName","src":"20534:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"_datas","nameLocation":"20578:6:0","nodeType":"VariableDeclaration","scope":651,"src":"20563:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":609,"name":"bytes","nodeType":"ElementaryTypeName","src":"20563:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":610,"nodeType":"ArrayTypeName","src":"20563:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20533:52:0"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"20608:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":676,"nodeType":"FunctionDefinition","src":"21468:196:0","nodes":[],"body":{"id":675,"nodeType":"Block","src":"21579:85:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":669,"name":"_recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":657,"src":"21624:13:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":670,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"21639:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":671,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21646:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21650:6:0","memberName":"sender","nodeType":"MemberAccess","src":"21646:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":664,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"21589:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":666,"indexExpression":{"id":665,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":654,"src":"21595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21589:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21604:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"21589:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21613:10:0","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":2968,"src":"21589:34:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address[] memory,bytes memory,address) external"}},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21589:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":674,"nodeType":"ExpressionStatement","src":"21589:68:0"}]},"baseFunctions":[2533],"documentation":{"id":652,"nodeType":"StructuredDocumentation","src":"21076:387:0","text":"@notice Distribute to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of 'strategy.distribute()'.\n @param _poolId ID of the pool\n @param _recipientIds Ids of the recipients of the distribution\n @param _data Encoded data unique to the strategy"},"functionSelector":"3a5fbd92","implemented":true,"kind":"function","modifiers":[{"id":662,"kind":"modifierInvocation","modifierName":{"id":661,"name":"nonReentrant","nameLocations":["21566:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"21566:12:0"},"nodeType":"ModifierInvocation","src":"21566:12:0"}],"name":"distribute","nameLocation":"21477:10:0","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":654,"mutability":"mutable","name":"_poolId","nameLocation":"21496:7:0","nodeType":"VariableDeclaration","scope":676,"src":"21488:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":653,"name":"uint256","nodeType":"ElementaryTypeName","src":"21488:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":657,"mutability":"mutable","name":"_recipientIds","nameLocation":"21522:13:0","nodeType":"VariableDeclaration","scope":676,"src":"21505:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":655,"name":"address","nodeType":"ElementaryTypeName","src":"21505:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":656,"nodeType":"ArrayTypeName","src":"21505:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":659,"mutability":"mutable","name":"_data","nameLocation":"21550:5:0","nodeType":"VariableDeclaration","scope":676,"src":"21537:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":658,"name":"bytes","nodeType":"ElementaryTypeName","src":"21537:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21487:69:0"},"returnParameters":{"id":663,"nodeType":"ParameterList","parameters":[],"src":"21579:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":693,"nodeType":"FunctionDefinition","src":"21910:142:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"21972:80:0","nodes":[],"statements":[{"condition":{"id":687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21986:36:0","subExpression":{"arguments":[{"id":683,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"22002:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22011:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22015:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22011:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":682,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"21987:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"21982:63:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":688,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22031:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22031:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":690,"nodeType":"RevertStatement","src":"22024:21:0"}}]},"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"21806:99:0","text":"@notice Internal function to check is caller is pool manager\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolManager","nameLocation":"21919:21:0","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":679,"mutability":"mutable","name":"_poolId","nameLocation":"21949:7:0","nodeType":"VariableDeclaration","scope":693,"src":"21941:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":678,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21940:17:0"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[],"src":"21972:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":710,"nodeType":"FunctionDefinition","src":"22160:138:0","nodes":[],"body":{"id":709,"nodeType":"Block","src":"22220:78:0","nodes":[],"statements":[{"condition":{"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22234:34:0","subExpression":{"arguments":[{"id":700,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"22248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22257:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22261:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22257:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":699,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"22235:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22235:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":708,"nodeType":"IfStatement","src":"22230:61:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":705,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22277:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22277:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":707,"nodeType":"RevertStatement","src":"22270:21:0"}}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"22058:97:0","text":"@notice Internal function to check is caller is pool admin\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolAdmin","nameLocation":"22169:19:0","parameters":{"id":697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":696,"mutability":"mutable","name":"_poolId","nameLocation":"22197:7:0","nodeType":"VariableDeclaration","scope":710,"src":"22189:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":695,"name":"uint256","nodeType":"ElementaryTypeName","src":"22189:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22188:17:0"},"returnParameters":{"id":698,"nodeType":"ParameterList","parameters":[],"src":"22220:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":925,"nodeType":"FunctionDefinition","src":"23131:2681:0","nodes":[],"body":{"id":924,"nodeType":"Block","src":"23409:2403:0","nodes":[],"statements":[{"condition":{"id":739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23423:58:0","subExpression":{"arguments":[{"id":735,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23458:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23470:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23474:6:0","memberName":"sender","nodeType":"MemberAccess","src":"23470:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":733,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"23424:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23433:24:0","memberName":"isOwnerOrMemberOfProfile","nodeType":"MemberAccess","referencedDeclaration":2704,"src":"23424:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23424:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":743,"nodeType":"IfStatement","src":"23419:85:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":740,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"23490:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":742,"nodeType":"RevertStatement","src":"23483:21:0"}},{"expression":{"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":744,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23515:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23524:12:0","subExpression":{"id":745,"name":"_poolIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"23526:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23515:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":748,"nodeType":"ExpressionStatement","src":"23515:21:0"},{"assignments":[750],"declarations":[{"constant":false,"id":750,"mutability":"mutable","name":"POOL_MANAGER_ROLE","nameLocation":"23683:17:0","nodeType":"VariableDeclaration","scope":924,"src":"23675:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23675:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":755,"initialValue":{"arguments":[{"id":753,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23711:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23703:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23703:7:0","typeDescriptions":{}}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23703:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23675:43:0"},{"assignments":[757],"declarations":[{"constant":false,"id":757,"mutability":"mutable","name":"POOL_ADMIN_ROLE","nameLocation":"23736:15:0","nodeType":"VariableDeclaration","scope":924,"src":"23728:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23728:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":765,"initialValue":{"arguments":[{"arguments":[{"id":761,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23781:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"61646d696e","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23789:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""},"value":"admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""}],"expression":{"id":759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23764:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23768:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"23764:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23764:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":758,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23754:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23754:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23728:70:0"},{"assignments":[768],"declarations":[{"constant":false,"id":768,"mutability":"mutable","name":"pool","nameLocation":"23857:4:0","nodeType":"VariableDeclaration","scope":924,"src":"23845:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":767,"nodeType":"UserDefinedTypeName","pathNode":{"id":766,"name":"Pool","nameLocations":["23845:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"23845:4:0"},"referencedDeclaration":2319,"src":"23845:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":777,"initialValue":{"arguments":[{"id":770,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23894:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"23928:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":772,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"23961:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":773,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"23991:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24024:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":775,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24066:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":769,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"23864:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pool_$2319_storage_ptr_$","typeString":"type(struct IAllo.Pool storage pointer)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23883:9:0","23918:8:0","23951:8:0","23984:5:0","24011:11:0","24055:9:0"],"names":["profileId","strategy","metadata","token","managerRole","adminRole"],"nodeType":"FunctionCall","src":"23864:228:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"23845:247:0"},{"expression":{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":778,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"24159:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":780,"indexExpression":{"id":779,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24165:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24159:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":781,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"24175:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"24159:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":783,"nodeType":"ExpressionStatement","src":"24159:20:0"},{"expression":{"arguments":[{"id":785,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24250:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":786,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24267:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24271:6:0","memberName":"sender","nodeType":"MemberAccess","src":"24267:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":784,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"24239:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24239:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":789,"nodeType":"ExpressionStatement","src":"24239:39:0"},{"expression":{"arguments":[{"id":791,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24351:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":792,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24370:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":790,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52709,"src":"24337:13:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24337:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"ExpressionStatement","src":"24337:49:0"},{"expression":{"arguments":[{"id":798,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24562:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":799,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"24570:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":795,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24541:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24551:10:0","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":2939,"src":"24541:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) external"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24541:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":801,"nodeType":"ExpressionStatement","src":"24541:47:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":802,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24603:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24613:9:0","memberName":"getPoolId","nodeType":"MemberAccess","referencedDeclaration":2876,"src":"24603:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24603:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":805,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24628:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24603:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24646:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24656:7:0","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":2870,"src":"24646:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24646:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}],"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24638:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":807,"name":"address","nodeType":"ElementaryTypeName","src":"24638:7:0","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24638:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":815,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24678:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24670:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":813,"name":"address","nodeType":"ElementaryTypeName","src":"24670:7:0","typeDescriptions":{}}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24670:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24638:45:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24603:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":822,"nodeType":"IfStatement","src":"24599:103:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":819,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"24692:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24692:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":821,"nodeType":"RevertStatement","src":"24685:17:0"}},{"assignments":[824],"declarations":[{"constant":false,"id":824,"mutability":"mutable","name":"managersLength","nameLocation":"24758:14:0","nodeType":"VariableDeclaration","scope":924,"src":"24750:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":823,"name":"uint256","nodeType":"ElementaryTypeName","src":"24750:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":827,"initialValue":{"expression":{"id":825,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24775:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24785:6:0","memberName":"length","nodeType":"MemberAccess","src":"24775:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24750:41:0"},{"body":{"id":859,"nodeType":"Block","src":"24838:229:0","statements":[{"assignments":[835],"declarations":[{"constant":false,"id":835,"mutability":"mutable","name":"manager","nameLocation":"24860:7:0","nodeType":"VariableDeclaration","scope":859,"src":"24852:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"24852:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":839,"initialValue":{"baseExpression":{"id":836,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24870:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":838,"indexExpression":{"id":837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24880:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24870:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24852:30:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":840,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24900:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24919:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24911:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"24911:7:0","typeDescriptions":{}}},"id":844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24911:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24900:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":849,"nodeType":"IfStatement","src":"24896:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":846,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"24930:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24930:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":848,"nodeType":"RevertStatement","src":"24923:21:0"}},{"expression":{"arguments":[{"id":851,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24970:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":852,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24989:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":850,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"24959:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":854,"nodeType":"ExpressionStatement","src":"24959:38:0"},{"id":858,"nodeType":"UncheckedBlock","src":"25011:46:0","statements":[{"expression":{"id":856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"25039:3:0","subExpression":{"id":855,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"25041:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":857,"nodeType":"ExpressionStatement","src":"25039:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24817:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":832,"name":"managersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":824,"src":"24821:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24817:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":860,"initializationExpression":{"assignments":[829],"declarations":[{"constant":false,"id":829,"mutability":"mutable","name":"i","nameLocation":"24814:1:0","nodeType":"VariableDeclaration","scope":860,"src":"24806:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":828,"name":"uint256","nodeType":"ElementaryTypeName","src":"24806:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":830,"nodeType":"VariableDeclarationStatement","src":"24806:9:0"},"nodeType":"ForStatement","src":"24801:266:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":861,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25081:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25091:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25081:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":903,"nodeType":"IfStatement","src":"25077:554:0","trueBody":{"id":902,"nodeType":"Block","src":"25094:537:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":864,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25359:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":865,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25369:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25359:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":867,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":868,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25390:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":870,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25401:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25405:5:0","memberName":"value","nodeType":"MemberAccess","src":"25401:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":873,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25379:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25359:52:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":875,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25358:54:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":876,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25417:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":877,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25427:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25417:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":879,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25437:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":880,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25448:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25452:5:0","memberName":"value","nodeType":"MemberAccess","src":"25448:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25437:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25417:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25416:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25358:100:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":890,"nodeType":"IfStatement","src":"25354:164:0","trueBody":{"id":889,"nodeType":"Block","src":"25460:58:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":886,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"25485:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25485:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":888,"nodeType":"RevertStatement","src":"25478:25:0"}]}},{"expression":{"arguments":[{"id":892,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25547:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":893,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25555:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":894,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":891,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25531:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"ExpressionStatement","src":"25531:42:0"},{"eventCall":{"arguments":[{"id":898,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25604:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":899,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25612:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":897,"name":"BaseFeePaid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2360,"src":"25592:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25592:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":901,"nodeType":"EmitStatement","src":"25587:33:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25645:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25655:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25645:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":914,"nodeType":"IfStatement","src":"25641:79:0","trueBody":{"id":913,"nodeType":"Block","src":"25658:62:0","statements":[{"expression":{"arguments":[{"id":908,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25682:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":909,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25691:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":910,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25699:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":907,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"25672:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25672:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":912,"nodeType":"ExpressionStatement","src":"25672:37:0"}]}},{"eventCall":{"arguments":[{"id":916,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25747:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":917,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"25755:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":918,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25767:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25778:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":920,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25786:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":921,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"25795:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":915,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2336,"src":"25735:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,bytes32,contract IStrategy,address,uint256,struct Metadata memory)"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25735:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"EmitStatement","src":"25730:75:0"}]},"documentation":{"id":711,"nodeType":"StructuredDocumentation","src":"22304:822:0","text":"@notice Creates a new pool.\n @dev This is an internal function that is called by the 'createPool()' & 'createPoolWithCustomStrategy()' functions\n It is used to create a new pool and is called by both functions. The 'msg.sender' must be a member or owner of\n a profile to create a pool.\n @param _profileId The ID of the profile of for pool creator in the registry\n @param _strategy The address of strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token that the pool is denominated in\n @param _amount The amount of the token to be deposited into the pool\n @param _metadata The 'Metadata' of the pool\n @param _managers The managers of the pool\n @return poolId The ID of the pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_createPool","nameLocation":"23140:11:0","parameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"_profileId","nameLocation":"23169:10:0","nodeType":"VariableDeclaration","scope":925,"src":"23161:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23161:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":716,"mutability":"mutable","name":"_strategy","nameLocation":"23199:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23189:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":715,"nodeType":"UserDefinedTypeName","pathNode":{"id":714,"name":"IStrategy","nameLocations":["23189:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"23189:9:0"},"referencedDeclaration":2969,"src":"23189:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"_initStrategyData","nameLocation":"23231:17:0","nodeType":"VariableDeclaration","scope":925,"src":"23218:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":717,"name":"bytes","nodeType":"ElementaryTypeName","src":"23218:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"_token","nameLocation":"23266:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23258:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":719,"name":"address","nodeType":"ElementaryTypeName","src":"23258:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"_amount","nameLocation":"23290:7:0","nodeType":"VariableDeclaration","scope":925,"src":"23282:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":721,"name":"uint256","nodeType":"ElementaryTypeName","src":"23282:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":725,"mutability":"mutable","name":"_metadata","nameLocation":"23323:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23307:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":724,"nodeType":"UserDefinedTypeName","pathNode":{"id":723,"name":"Metadata","nameLocations":["23307:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"23307:8:0"},"referencedDeclaration":3098,"src":"23307:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"_managers","nameLocation":"23359:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23342:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":726,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":727,"nodeType":"ArrayTypeName","src":"23342:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23151:223:0"},"returnParameters":{"id":732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":731,"mutability":"mutable","name":"poolId","nameLocation":"23401:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23393:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":730,"name":"uint256","nodeType":"ElementaryTypeName","src":"23393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23392:16:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":947,"nodeType":"FunctionDefinition","src":"26159:151:0","nodes":[],"body":{"id":946,"nodeType":"Block","src":"26224:86:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":941,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":930,"src":"26285:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26292:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26296:6:0","memberName":"sender","nodeType":"MemberAccess","src":"26292:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":933,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26234:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":935,"indexExpression":{"id":934,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"26240:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26234:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26249:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"26234:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26258:8:0","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":2957,"src":"26234:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes memory,address) payable external"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":938,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26274:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26278:5:0","memberName":"value","nodeType":"MemberAccess","src":"26274:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"26234:50:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$value","typeString":"function (bytes memory,address) payable external"}},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26234:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":945,"nodeType":"ExpressionStatement","src":"26234:69:0"}]},"documentation":{"id":926,"nodeType":"StructuredDocumentation","src":"25818:336:0","text":"@notice Allocate to recipient(s).\n @dev Passes '_data' & 'msg.sender' through to the strategy for that pool.\n This is an internal function that is called by the 'allocate()' & 'batchAllocate()' functions.\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"26168:9:0","parameters":{"id":931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"mutability":"mutable","name":"_poolId","nameLocation":"26186:7:0","nodeType":"VariableDeclaration","scope":947,"src":"26178:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":927,"name":"uint256","nodeType":"ElementaryTypeName","src":"26178:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"_data","nameLocation":"26208:5:0","nodeType":"VariableDeclaration","scope":947,"src":"26195:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"26195:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26177:37:0"},"returnParameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"26224:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1122,"nodeType":"FunctionDefinition","src":"26634:1879:0","nodes":[],"body":{"id":1121,"nodeType":"Block","src":"26717:1796:0","nodes":[],"statements":[{"assignments":[959],"declarations":[{"constant":false,"id":959,"mutability":"mutable","name":"feeAmount","nameLocation":"26735:9:0","nodeType":"VariableDeclaration","scope":1121,"src":"26727:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":958,"name":"uint256","nodeType":"ElementaryTypeName","src":"26727:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":960,"nodeType":"VariableDeclarationStatement","src":"26727:17:0"},{"assignments":[962],"declarations":[{"constant":false,"id":962,"mutability":"mutable","name":"amountAfterFee","nameLocation":"26762:14:0","nodeType":"VariableDeclaration","scope":1121,"src":"26754:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":961,"name":"uint256","nodeType":"ElementaryTypeName","src":"26754:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":964,"initialValue":{"id":963,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26779:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26754:32:0"},{"assignments":[967],"declarations":[{"constant":false,"id":967,"mutability":"mutable","name":"pool","nameLocation":"26810:4:0","nodeType":"VariableDeclaration","scope":1121,"src":"26797:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":966,"nodeType":"UserDefinedTypeName","pathNode":{"id":965,"name":"Pool","nameLocations":["26797:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"26797:4:0"},"referencedDeclaration":2319,"src":"26797:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":971,"initialValue":{"baseExpression":{"id":968,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26817:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":970,"indexExpression":{"id":969,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"26823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26817:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26797:34:0"},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_token","nameLocation":"26849:6:0","nodeType":"VariableDeclaration","scope":1121,"src":"26841:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":972,"name":"address","nodeType":"ElementaryTypeName","src":"26841:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":976,"initialValue":{"expression":{"id":974,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"26858:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26863:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26858:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26841:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":977,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26883:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26896:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26883:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1050,"nodeType":"IfStatement","src":"26879:808:0","trueBody":{"id":1049,"nodeType":"Block","src":"26899:788:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":980,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"26913:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":981,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26926:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":982,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26936:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26926:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26925:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":985,"name":"getFeeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1276,"src":"26950:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26950:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26925:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26913:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":989,"nodeType":"ExpressionStatement","src":"26913:56:0"},{"expression":{"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":990,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"26983:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":991,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27001:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26983:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":993,"nodeType":"ExpressionStatement","src":"26983:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":994,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27029:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":995,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27041:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":997,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"27059:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1002,"nodeType":"IfStatement","src":"27025:59:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":999,"name":"INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"27075:7:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27075:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1001,"nodeType":"RevertStatement","src":"27068:16:0"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1003,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27103:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1004,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27113:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27103:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1047,"nodeType":"Block","src":"27254:423:0","statements":[{"assignments":[1018],"declarations":[{"constant":false,"id":1018,"mutability":"mutable","name":"balanceBeforeFee","nameLocation":"27280:16:0","nodeType":"VariableDeclaration","scope":1047,"src":"27272:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1017,"name":"uint256","nodeType":"ElementaryTypeName","src":"27272:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1023,"initialValue":{"arguments":[{"id":1020,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27311:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1021,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27319:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1019,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27299:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27299:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27272:56:0"},{"expression":{"arguments":[{"id":1025,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27366:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1027,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27394:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27398:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27394:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1029,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27410:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1030,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27428:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1026,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27374:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27388:4:0","27406:2:0","27420:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27374:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1024,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27346:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27346:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1033,"nodeType":"ExpressionStatement","src":"27346:94:0"},{"assignments":[1035],"declarations":[{"constant":false,"id":1035,"mutability":"mutable","name":"balanceAfterFee","nameLocation":"27466:15:0","nodeType":"VariableDeclaration","scope":1047,"src":"27458:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"27458:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1040,"initialValue":{"arguments":[{"id":1037,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27496:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1038,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27504:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1036,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27484:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27458:55:0"},{"expression":{"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1041,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27616:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1042,"name":"balanceAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1035,"src":"27628:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1043,"name":"balanceBeforeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1018,"src":"27646:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27628:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27616:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1046,"nodeType":"ExpressionStatement","src":"27616:46:0"}]},"id":1048,"nodeType":"IfStatement","src":"27099:578:0","trueBody":{"id":1016,"nodeType":"Block","src":"27121:127:0","statements":[{"expression":{"arguments":[{"id":1007,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27159:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27187:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27191:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27187:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1011,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27203:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1012,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27221:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1008,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27167:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27181:4:0","27199:2:0","27213:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27167:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1006,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27139:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27139:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1015,"nodeType":"ExpressionStatement","src":"27139:94:0"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1051,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27701:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1052,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27711:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27701:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1107,"nodeType":"Block","src":"27889:501:0","statements":[{"assignments":[1069],"declarations":[{"constant":false,"id":1069,"mutability":"mutable","name":"balanceBeforeFundingPool","nameLocation":"27911:24:0","nodeType":"VariableDeclaration","scope":1107,"src":"27903:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"27903:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1077,"initialValue":{"arguments":[{"id":1071,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27950:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1074,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27966:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27958:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1072,"name":"address","nodeType":"ElementaryTypeName","src":"27958:7:0","typeDescriptions":{}}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27958:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1070,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27938:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27938:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27903:74:0"},{"expression":{"arguments":[{"id":1079,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28028:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1081,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28056:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28060:6:0","memberName":"sender","nodeType":"MemberAccess","src":"28056:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1085,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28080:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28072:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1083,"name":"address","nodeType":"ElementaryTypeName","src":"28072:7:0","typeDescriptions":{}}},"id":1086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28072:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1087,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28100:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1080,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"28036:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28050:4:0","28068:2:0","28092:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"28036:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1078,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27991:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27991:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1090,"nodeType":"ExpressionStatement","src":"27991:139:0"},{"assignments":[1092],"declarations":[{"constant":false,"id":1092,"mutability":"mutable","name":"balanceAfterFundingPool","nameLocation":"28152:23:0","nodeType":"VariableDeclaration","scope":1107,"src":"28144:31:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1091,"name":"uint256","nodeType":"ElementaryTypeName","src":"28144:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1100,"initialValue":{"arguments":[{"id":1094,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28190:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1097,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28206:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28198:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"28198:7:0","typeDescriptions":{}}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1093,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"28178:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28178:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28144:73:0"},{"expression":{"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1101,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28312:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1102,"name":"balanceAfterFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1092,"src":"28329:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1103,"name":"balanceBeforeFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"28355:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28329:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28312:67:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1106,"nodeType":"ExpressionStatement","src":"28312:67:0"}]},"id":1108,"nodeType":"IfStatement","src":"27697:693:0","trueBody":{"id":1067,"nodeType":"Block","src":"27719:164:0","statements":[{"expression":{"arguments":[{"id":1055,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27770:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27798:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27802:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27798:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1061,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27822:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27814:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1059,"name":"address","nodeType":"ElementaryTypeName","src":"27814:7:0","typeDescriptions":{}}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27814:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1063,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27842:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1056,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27778:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27792:4:0","27810:2:0","27834:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27778:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1054,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27733:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1066,"nodeType":"ExpressionStatement","src":"27733:139:0"}]}},{"expression":{"arguments":[{"id":1112,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28429:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1109,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28400:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":1111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28410:18:0","memberName":"increasePoolAmount","nodeType":"MemberAccess","referencedDeclaration":2908,"src":"28400:28:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28400:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1114,"nodeType":"ExpressionStatement","src":"28400:44:0"},{"eventCall":{"arguments":[{"id":1116,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"28471:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1117,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28480:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1118,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"28496:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1115,"name":"PoolFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"28460:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28460:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1120,"nodeType":"EmitStatement","src":"28455:51:0"}]},"documentation":{"id":948,"nodeType":"StructuredDocumentation","src":"26316:313:0","text":"@notice Fund a pool.\n @dev Deducts the fee and transfers the amount to the distribution strategy.\n Emits a 'PoolFunded' event.\n @param _amount The amount to transfer\n @param _poolId The 'poolId' for the pool you are funding\n @param _strategy The address of the strategy"},"implemented":true,"kind":"function","modifiers":[],"name":"_fundPool","nameLocation":"26643:9:0","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"_amount","nameLocation":"26661:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26653:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":949,"name":"uint256","nodeType":"ElementaryTypeName","src":"26653:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":952,"mutability":"mutable","name":"_poolId","nameLocation":"26678:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":951,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_strategy","nameLocation":"26697:9:0","nodeType":"VariableDeclaration","scope":1122,"src":"26687:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":954,"nodeType":"UserDefinedTypeName","pathNode":{"id":953,"name":"IStrategy","nameLocations":["26687:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"26687:9:0"},"referencedDeclaration":2969,"src":"26687:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"}],"src":"26652:55:0"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"26717:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1135,"nodeType":"FunctionDefinition","src":"28898:132:0","nodes":[],"body":{"id":1134,"nodeType":"Block","src":"28976:54:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1130,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"28993:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1132,"indexExpression":{"id":1131,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"29013:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28993:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1129,"id":1133,"nodeType":"Return","src":"28986:37:0"}]},"documentation":{"id":1123,"nodeType":"StructuredDocumentation","src":"28519:374:0","text":"@notice Checks if the strategy is an approved cloneable strategy.\n @dev Internal function used by createPoolwithCustomStrategy and createPool to\n determine if a strategy is in the cloneable strategy allow list.\n @param _strategy The address of the strategy\n @return This will return 'true' if the strategy is cloneable, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isCloneableStrategy","nameLocation":"28907:20:0","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"mutability":"mutable","name":"_strategy","nameLocation":"28936:9:0","nodeType":"VariableDeclaration","scope":1135,"src":"28928:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1124,"name":"address","nodeType":"ElementaryTypeName","src":"28928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28927:19:0"},"returnParameters":{"id":1129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1135,"src":"28970:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1127,"name":"bool","nodeType":"ElementaryTypeName","src":"28970:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28969:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1154,"nodeType":"FunctionDefinition","src":"29346:153:0","nodes":[],"body":{"id":1153,"nodeType":"Block","src":"29432:67:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1146,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29457:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1148,"indexExpression":{"id":1147,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1138,"src":"29463:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29457:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29472:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":2318,"src":"29457:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1150,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1140,"src":"29483:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1145,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"29449:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29449:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1144,"id":1152,"nodeType":"Return","src":"29442:50:0"}]},"documentation":{"id":1136,"nodeType":"StructuredDocumentation","src":"29036:305:0","text":"@notice Checks if the address is a pool admin\n @dev Internal function used to determine if an address is a pool admin\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool admin, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolAdmin","nameLocation":"29355:12:0","parameters":{"id":1141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1138,"mutability":"mutable","name":"_poolId","nameLocation":"29376:7:0","nodeType":"VariableDeclaration","scope":1154,"src":"29368:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1137,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1140,"mutability":"mutable","name":"_address","nameLocation":"29393:8:0","nodeType":"VariableDeclaration","scope":1154,"src":"29385:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1139,"name":"address","nodeType":"ElementaryTypeName","src":"29385:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29367:35:0"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"29426:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1142,"name":"bool","nodeType":"ElementaryTypeName","src":"29426:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29425:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1178,"nodeType":"FunctionDefinition","src":"29821:192:0","nodes":[],"body":{"id":1177,"nodeType":"Block","src":"29909:104:0","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":1165,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29934:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1167,"indexExpression":{"id":1166,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29940:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29934:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29949:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"29934:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1169,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29962:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1164,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"29926:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29926:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1172,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29988:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1173,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29997:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1171,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"29975:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29926:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1163,"id":1176,"nodeType":"Return","src":"29919:87:0"}]},"documentation":{"id":1155,"nodeType":"StructuredDocumentation","src":"29505:311:0","text":"@notice Checks if the address is a pool manager\n @dev Internal function used to determine if an address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool manager, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolManager","nameLocation":"29830:14:0","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"_poolId","nameLocation":"29853:7:0","nodeType":"VariableDeclaration","scope":1178,"src":"29845:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"29845:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"_address","nameLocation":"29870:8:0","nodeType":"VariableDeclaration","scope":1178,"src":"29862:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"29862:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29844:35:0"},"returnParameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1178,"src":"29903:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1161,"name":"bool","nodeType":"ElementaryTypeName","src":"29903:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29902:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1205,"nodeType":"FunctionDefinition","src":"30226:203:0","nodes":[],"body":{"id":1204,"nodeType":"Block","src":"30279:150:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1184,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30293:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30314:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30306:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1185,"name":"address","nodeType":"ElementaryTypeName","src":"30306:7:0","typeDescriptions":{}}},"id":1188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30306:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30293:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1193,"nodeType":"IfStatement","src":"30289:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1190,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30325:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30325:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1192,"nodeType":"RevertStatement","src":"30318:21:0"}},{"expression":{"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1194,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"30350:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1196,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30371:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1195,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"30361:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30361:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"30350:31:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":1199,"nodeType":"ExpressionStatement","src":"30350:31:0"},{"eventCall":{"arguments":[{"id":1201,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30412:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1200,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"30396:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30396:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1203,"nodeType":"EmitStatement","src":"30391:31:0"}]},"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"30019:202:0","text":"@notice Updates the registry address\n @dev Internal function used to update the registry address.\n Emits a RegistryUpdated event.\n @param _registry The new registry address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateRegistry","nameLocation":"30235:15:0","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"_registry","nameLocation":"30259:9:0","nodeType":"VariableDeclaration","scope":1205,"src":"30251:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"30251:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:19:0"},"returnParameters":{"id":1183,"nodeType":"ParameterList","parameters":[],"src":"30279:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1230,"nodeType":"FunctionDefinition","src":"30642:199:0","nodes":[],"body":{"id":1229,"nodeType":"Block","src":"30703:138:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1211,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30717:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30738:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1212,"name":"address","nodeType":"ElementaryTypeName","src":"30730:7:0","typeDescriptions":{}}},"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30730:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30717:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1220,"nodeType":"IfStatement","src":"30713:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1217,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30749:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30749:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"RevertStatement","src":"30742:21:0"}},{"expression":{"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1221,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30774:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1222,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30785:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"30774:20:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1224,"nodeType":"ExpressionStatement","src":"30774:20:0"},{"eventCall":{"arguments":[{"id":1226,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30825:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1225,"name":"TreasuryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2365,"src":"30809:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30809:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1228,"nodeType":"EmitStatement","src":"30804:30:0"}]},"documentation":{"id":1206,"nodeType":"StructuredDocumentation","src":"30435:202:0","text":"@notice Updates the treasury address\n @dev Internal function used to update the treasury address.\n Emits a TreasuryUpdated event.\n @param _treasury The new treasury address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateTreasury","nameLocation":"30651:15:0","parameters":{"id":1209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1208,"mutability":"mutable","name":"_treasury","nameLocation":"30683:9:0","nodeType":"VariableDeclaration","scope":1230,"src":"30667:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1207,"name":"address","nodeType":"ElementaryTypeName","src":"30667:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"30666:27:0"},"returnParameters":{"id":1210,"nodeType":"ParameterList","parameters":[],"src":"30703:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1252,"nodeType":"FunctionDefinition","src":"31041:198:0","nodes":[],"body":{"id":1251,"nodeType":"Block","src":"31098:141:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1236,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31112:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31126:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"31112:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1242,"nodeType":"IfStatement","src":"31108:44:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1239,"name":"INVALID_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"31139:11:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31139:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"RevertStatement","src":"31132:20:0"}},{"expression":{"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1243,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31163:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1244,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31176:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31163:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1246,"nodeType":"ExpressionStatement","src":"31163:24:0"},{"eventCall":{"arguments":[{"id":1248,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31221:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1247,"name":"PercentFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"31203:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31203:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"EmitStatement","src":"31198:34:0"}]},"documentation":{"id":1231,"nodeType":"StructuredDocumentation","src":"30847:189:0","text":"@notice Updates the fee percentage\n @dev Internal function used to update the percentage fee.\n Emits a PercentFeeUpdated event.\n @param _percentFee The new fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updatePercentFee","nameLocation":"31050:17:0","parameters":{"id":1234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1233,"mutability":"mutable","name":"_percentFee","nameLocation":"31076:11:0","nodeType":"VariableDeclaration","scope":1252,"src":"31068:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1232,"name":"uint256","nodeType":"ElementaryTypeName","src":"31068:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31067:21:0"},"returnParameters":{"id":1235,"nodeType":"ParameterList","parameters":[],"src":"31098:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1267,"nodeType":"FunctionDefinition","src":"31426:125:0","nodes":[],"body":{"id":1266,"nodeType":"Block","src":"31477:74:0","nodes":[],"statements":[{"expression":{"id":1260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1258,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31487:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1259,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1255,"src":"31497:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31487:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1261,"nodeType":"ExpressionStatement","src":"31487:18:0"},{"eventCall":{"arguments":[{"id":1263,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31536:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1262,"name":"BaseFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"31521:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31521:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1265,"nodeType":"EmitStatement","src":"31516:28:0"}]},"documentation":{"id":1253,"nodeType":"StructuredDocumentation","src":"31245:176:0","text":"@notice Updates the base fee\n @dev Internal function used to update the base fee.\n Emits a BaseFeeUpdated event.\n @param _baseFee The new base fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateBaseFee","nameLocation":"31435:14:0","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1255,"mutability":"mutable","name":"_baseFee","nameLocation":"31458:8:0","nodeType":"VariableDeclaration","scope":1267,"src":"31450:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1254,"name":"uint256","nodeType":"ElementaryTypeName","src":"31450:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31449:18:0"},"returnParameters":{"id":1257,"nodeType":"ParameterList","parameters":[],"src":"31477:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1276,"nodeType":"FunctionDefinition","src":"31788:103:0","nodes":[],"body":{"id":1275,"nodeType":"Block","src":"31863:28:0","nodes":[],"statements":[{"expression":{"hexValue":"31653138","id":1273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31880:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"functionReturnParameters":1272,"id":1274,"nodeType":"Return","src":"31873:11:0"}]},"baseFunctions":[2609],"documentation":{"id":1268,"nodeType":"StructuredDocumentation","src":"31657:126:0","text":"@notice Getter for the fee denominator\n @return FEE_DENOMINATOR The fee denominator is (1e18) which represents 100%"},"functionSelector":"f4e1fc41","implemented":true,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"31797:17:0","parameters":{"id":1269,"nodeType":"ParameterList","parameters":[],"src":"31814:2:0"},"returnParameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1271,"mutability":"mutable","name":"FEE_DENOMINATOR","nameLocation":"31846:15:0","nodeType":"VariableDeclaration","scope":1276,"src":"31838:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"31838:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31837:25:0"},"scope":1390,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1292,"nodeType":"FunctionDefinition","src":"32112:140:0","nodes":[],"body":{"id":1291,"nodeType":"Block","src":"32197:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1287,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"32227:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1288,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"32236:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1286,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"32214:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32214:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1285,"id":1290,"nodeType":"Return","src":"32207:38:0"}]},"baseFunctions":[2543],"documentation":{"id":1277,"nodeType":"StructuredDocumentation","src":"31897:210:0","text":"@notice Checks if the address is a pool admin.\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":true,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"32121:11:0","parameters":{"id":1282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1279,"mutability":"mutable","name":"_poolId","nameLocation":"32141:7:0","nodeType":"VariableDeclaration","scope":1292,"src":"32133:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1278,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"_address","nameLocation":"32158:8:0","nodeType":"VariableDeclaration","scope":1292,"src":"32150:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1280,"name":"address","nodeType":"ElementaryTypeName","src":"32150:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32132:35:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1292,"src":"32191:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1283,"name":"bool","nodeType":"ElementaryTypeName","src":"32191:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32190:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1308,"nodeType":"FunctionDefinition","src":"32476:144:0","nodes":[],"body":{"id":1307,"nodeType":"Block","src":"32563:57:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1303,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"32595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1304,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1297,"src":"32604:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1302,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"32580:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32580:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1301,"id":1306,"nodeType":"Return","src":"32573:40:0"}]},"baseFunctions":[2553],"documentation":{"id":1293,"nodeType":"StructuredDocumentation","src":"32258:213:0","text":"@notice Checks if the address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":true,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"32485:13:0","parameters":{"id":1298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1295,"mutability":"mutable","name":"_poolId","nameLocation":"32507:7:0","nodeType":"VariableDeclaration","scope":1308,"src":"32499:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1294,"name":"uint256","nodeType":"ElementaryTypeName","src":"32499:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1297,"mutability":"mutable","name":"_address","nameLocation":"32524:8:0","nodeType":"VariableDeclaration","scope":1308,"src":"32516:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1296,"name":"address","nodeType":"ElementaryTypeName","src":"32516:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32498:35:0"},"returnParameters":{"id":1301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1308,"src":"32557:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1299,"name":"bool","nodeType":"ElementaryTypeName","src":"32557:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32556:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1325,"nodeType":"FunctionDefinition","src":"32753:126:0","nodes":[],"body":{"id":1324,"nodeType":"Block","src":"32823:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1318,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"32848:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1320,"indexExpression":{"id":1319,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1311,"src":"32854:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32848:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32863:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"32848:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32840:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1316,"name":"address","nodeType":"ElementaryTypeName","src":"32840:7:0","typeDescriptions":{}}},"id":1322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32840:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1315,"id":1323,"nodeType":"Return","src":"32833:39:0"}]},"baseFunctions":[2569],"documentation":{"id":1309,"nodeType":"StructuredDocumentation","src":"32626:122:0","text":"@notice Getter for the strategy.\n @param _poolId The ID of the pool\n @return The address of the strategy"},"functionSelector":"cfc0cc34","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"32762:11:0","parameters":{"id":1312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1311,"mutability":"mutable","name":"_poolId","nameLocation":"32782:7:0","nodeType":"VariableDeclaration","scope":1325,"src":"32774:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1310,"name":"uint256","nodeType":"ElementaryTypeName","src":"32774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32773:17:0"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1325,"src":"32814:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"32814:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32813:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1334,"nodeType":"FunctionDefinition","src":"32977:91:0","nodes":[],"body":{"id":1333,"nodeType":"Block","src":"33034:34:0","nodes":[],"statements":[{"expression":{"id":1331,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"33051:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1330,"id":1332,"nodeType":"Return","src":"33044:17:0"}]},"baseFunctions":[2575],"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"32885:87:0","text":"@notice Getter for fee percentage.\n @return The fee percentage (1e18 = 100%)"},"functionSelector":"4edbaadc","implemented":true,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"32986:13:0","parameters":{"id":1327,"nodeType":"ParameterList","parameters":[],"src":"32999:2:0"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1334,"src":"33025:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"33025:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33024:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1343,"nodeType":"FunctionDefinition","src":"33140:85:0","nodes":[],"body":{"id":1342,"nodeType":"Block","src":"33194:31:0","nodes":[],"statements":[{"expression":{"id":1340,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"33211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1339,"id":1341,"nodeType":"Return","src":"33204:14:0"}]},"baseFunctions":[2581],"documentation":{"id":1335,"nodeType":"StructuredDocumentation","src":"33074:61:0","text":"@notice Getter for base fee.\n @return The base fee"},"functionSelector":"15e812ad","implemented":true,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"33149:10:0","parameters":{"id":1336,"nodeType":"ParameterList","parameters":[],"src":"33159:2:0"},"returnParameters":{"id":1339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1343,"src":"33185:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1337,"name":"uint256","nodeType":"ElementaryTypeName","src":"33185:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33184:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1352,"nodeType":"FunctionDefinition","src":"33313:95:0","nodes":[],"body":{"id":1351,"nodeType":"Block","src":"33376:32:0","nodes":[],"statements":[{"expression":{"id":1349,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"33393:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":1348,"id":1350,"nodeType":"Return","src":"33386:15:0"}]},"baseFunctions":[2587],"documentation":{"id":1344,"nodeType":"StructuredDocumentation","src":"33231:77:0","text":"@notice Getter for treasury address.\n @return The treasury address"},"functionSelector":"3b19e84a","implemented":true,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"33322:11:0","parameters":{"id":1345,"nodeType":"ParameterList","parameters":[],"src":"33333:2:0"},"returnParameters":{"id":1348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1352,"src":"33359:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1346,"name":"address","nodeType":"ElementaryTypeName","src":"33359:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"33358:17:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1362,"nodeType":"FunctionDefinition","src":"33488:89:0","nodes":[],"body":{"id":1361,"nodeType":"Block","src":"33545:32:0","nodes":[],"statements":[{"expression":{"id":1359,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"33562:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"functionReturnParameters":1358,"id":1360,"nodeType":"Return","src":"33555:15:0"}]},"baseFunctions":[2594],"documentation":{"id":1353,"nodeType":"StructuredDocumentation","src":"33414:69:0","text":"@notice Getter for registry.\n @return The registry address"},"functionSelector":"5ab1bd53","implemented":true,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"33497:11:0","parameters":{"id":1354,"nodeType":"ParameterList","parameters":[],"src":"33508:2:0"},"returnParameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"33534:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":1356,"nodeType":"UserDefinedTypeName","pathNode":{"id":1355,"name":"IRegistry","nameLocations":["33534:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"33534:9:0"},"referencedDeclaration":2802,"src":"33534:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"33533:11:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1375,"nodeType":"FunctionDefinition","src":"33760:132:0","nodes":[],"body":{"id":1374,"nodeType":"Block","src":"33837:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"33875:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1370,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"33854:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33854:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1369,"id":1373,"nodeType":"Return","src":"33847:38:0"}]},"baseFunctions":[2561],"documentation":{"id":1363,"nodeType":"StructuredDocumentation","src":"33583:172:0","text":"@notice Getter for if strategy is cloneable.\n @param _strategy The address of the strategy\n @return 'true' if the strategy is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":true,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"33769:19:0","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1365,"mutability":"mutable","name":"_strategy","nameLocation":"33797:9:0","nodeType":"VariableDeclaration","scope":1375,"src":"33789:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"33789:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33788:19:0"},"returnParameters":{"id":1369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1375,"src":"33831:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1367,"name":"bool","nodeType":"ElementaryTypeName","src":"33831:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33830:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1389,"nodeType":"FunctionDefinition","src":"34013:108:0","nodes":[],"body":{"id":1388,"nodeType":"Block","src":"34083:38:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1384,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"34100:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1386,"indexExpression":{"id":1385,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1378,"src":"34106:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34100:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"functionReturnParameters":1383,"id":1387,"nodeType":"Return","src":"34093:21:0"}]},"baseFunctions":[2603],"documentation":{"id":1376,"nodeType":"StructuredDocumentation","src":"33898:110:0","text":"@notice Getter for the 'Pool'.\n @param _poolId The ID of the pool\n @return The 'Pool' struct"},"functionSelector":"068bcd8d","implemented":true,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"34022:7:0","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1378,"mutability":"mutable","name":"_poolId","nameLocation":"34038:7:0","nodeType":"VariableDeclaration","scope":1389,"src":"34030:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1377,"name":"uint256","nodeType":"ElementaryTypeName","src":"34030:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34029:17:0"},"returnParameters":{"id":1383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1389,"src":"34070:11:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":1381,"nodeType":"UserDefinedTypeName","pathNode":{"id":1380,"name":"Pool","nameLocations":["34070:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"34070:4:0"},"referencedDeclaration":2319,"src":"34070:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"34069:13:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":16,"name":"IAllo","nameLocations":["5097:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"5097:5:0"},"id":17,"nodeType":"InheritanceSpecifier","src":"5097:5:0"},{"baseName":{"id":18,"name":"Native","nameLocations":["5108:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5108:6:0"},"id":19,"nodeType":"InheritanceSpecifier","src":"5108:6:0"},{"baseName":{"id":20,"name":"Transfer","nameLocations":["5120:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5120:8:0"},"id":21,"nodeType":"InheritanceSpecifier","src":"5120:8:0"},{"baseName":{"id":22,"name":"Initializable","nameLocations":["5134:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53233,"src":"5134:13:0"},"id":23,"nodeType":"InheritanceSpecifier","src":"5134:13:0"},{"baseName":{"id":24,"name":"Ownable","nameLocations":["5153:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":4137,"src":"5153:7:0"},"id":25,"nodeType":"InheritanceSpecifier","src":"5153:7:0"},{"baseName":{"id":26,"name":"AccessControlUpgradeable","nameLocations":["5166:24:0"],"nodeType":"IdentifierPath","referencedDeclaration":52778,"src":"5166:24:0"},"id":27,"nodeType":"InheritanceSpecifier","src":"5166:24:0"},{"baseName":{"id":28,"name":"ReentrancyGuardUpgradeable","nameLocations":["5196:26:0"],"nodeType":"IdentifierPath","referencedDeclaration":53318,"src":"5196:26:0"},"id":29,"nodeType":"InheritanceSpecifier","src":"5196:26:0"},{"baseName":{"id":30,"name":"Errors","nameLocations":["5228:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5228:6:0"},"id":31,"nodeType":"InheritanceSpecifier","src":"5228:6:0"}],"canonicalName":"Allo","contractDependencies":[],"contractKind":"contract","documentation":{"id":15,"nodeType":"StructuredDocumentation","src":"4725:351:0","text":"@title Allo\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice This contract is used to create & manage pools as well as manage the protocol.\n @dev The contract must be initialized with the 'initialize()' function."},"fullyImplemented":true,"linearizedBaseContracts":[1390,3089,53318,52778,54051,54063,52851,53777,4137,53233,3317,3106,2610],"name":"Allo","nameLocation":"5085:4:0","scope":1391,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,3971,3974,3977]}],"license":"AGPL-3.0-only"},"id":0}
\ No newline at end of file
+{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"recipientIds","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"completeOwnershipHandover","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"createPool","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"FEE_DENOMINATOR","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"result","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownershipHandoverExpiresAt","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverCanceled","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverRequested","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NewOwnerIsZeroAddress","inputs":[]},{"type":"error","name":"NoHandoverRequest","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657612c4f908161001c8239f35b600080fdfe6080806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a7146116af57508163031e2fa114611645578163068bcd8d14611491578163075c0e9c146113fe57816315e812ad146113e05781631a20bd88146112185781631a5da6c8146111ee578163248a9ca3146111c157816324ae6a27146110b5578163256929621461106a57816329e40d4b146110435781632cf682b014610fe45781632ec3818814610fc95781632f2ff15d14610f8b57816336568abe14610efa5781633a5fbd9214610e0b5781633b19e84a14610de257816341bba0b414610d5b5781634edbaadc14610d3d57816354d1f13d14610cf75781635ab1bd5314610cce5781635acd6fac14610b1c5781635f9ca13814610964578163715018a61461093057816377da8caf1461080b5781637f51bb1f146107e65781637f5a70bd146107a85781638da5cb5b1461077b5781638e6901861461075657816391d148541461070b578163a0cf0aea146106e2578163a217fddf146106c6578163a6b63eb81461057d578163ab2ec5891461053e578163ab3febc6146104fe578163c6dff1cf14610438578163cfc0cc3414610403578163d547741f146103c5578163e1007d4a14610355578163f04e283e146102e7578163f2fde38b1461028c578163f4e1fc4114610269578163f54fc4a01461023d575063fee81cf41461020857600080fd5b3461023a57602036600319011261023a57610221611702565b9063389a75e1600c5252602080600c2054604051908152f35b80fd5b905034610265576020366003190112610265576102629061025c6126d4565b3561254b565b80f35b5080fd5b823461023a578060031936011261023a576020604051670de0b6b3a76400008152f35b90506020366003190112610265576102a2611702565b906102ab6126d4565b8160601b156102dc575060018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b637448fbae8352601cfd5b90506020366003190112610265576102fd611702565b906103066126d4565b63389a75e1600c528183526020600c20908154421161034a575082905560018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b636f5e88188452601cfd5b905061036036611a5d565b979096919592946001600160a01b031692919083156103b5576040818560ff935260d06020522054166103a657602061039e89898989898989611bf3565b604051908152f35b60405163eeffa72160e01b8152fd5b5060405163538ba4f960e01b8152fd5b9050346102655760403660031901126102655761026290356103e5611718565b9080845260656020526103fe6001604086200154612737565b612a9c565b905034610265576020366003190112610265579060209135815260cf825260016040818060a01b039220015416604051908152f35b823461023a57604036600319011261023a5781356001600160401b038082116104fa57366023830112156104fa5781840135918183116104f657602490600592368386861b840101116104f25782359081116104f25761049b90369088016118da565b956104a4612b12565b865185036104e35750845b8481106104bf5785600160975580f35b806104dd6104cf6001938a611b89565b518583881b860101356121c7565b016104af565b60405163636e39bb60e01b8152fd5b8580fd5b8380fd5b8280fd5b905034610265576040366003190112610265576105349060066040602094610524611718565b9335815260cf865220015461270f565b6040519015158152f35b823461023a57602036600319011261023a5760209060ff906040906001600160a01b03610569611702565b16815260d084522054166040519015158152f35b9050346102655760a036600319011261026557610598611702565b906105a1611718565b6044359290916001600160a01b03919082851685036106c15785549060ff8260081c1615806106b4575b15610659575061ffff191661010117855516638b78c6d81981905561060c92916106079185600080516020612bba8339815191528180a36124ad565b6124fc565b61061760643561254b565b61062260843561259d565b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60849060206040519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50600160ff8316106105cb565b600080fd5b823461023a578060031936011261023a57602090604051908152f35b823461023a578060031936011261023a576020604051600080516020612b9a8339815191528152f35b823461023a57604036600319011261023a57604090610728611718565b923581526065602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b90503461026557602036600319011261026557610262906107756126d4565b3561259d565b823461023a578060031936011261023a57638b78c6d819546040516001600160a01b039091168152602090f35b9050346102655760403660031901126102655761026290356107c8611718565b906107d281611bb3565b835260cf6020526005604084200154612a9c565b823461023a57602036600319011261023a57610262610803611702565b6106076126d4565b8261081536611a5d565b959094610823949294612b12565b60018060a01b0390818116895260209860d08a5260ff6040822054161561091f57600960379133815260ce8c526e5af43d82803e903d91602b57fd5bf36040822080549061087082611ae3565b90558d604051908101913360601b8352603482015260348152610892816117f5565b51902094763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c1617835260781b178c52f5169081156108e1576108d4979850611bf3565b6001609755604051908152f35b60405162461bcd60e51b8152808a018990526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b60405163126d324760e31b81528b90fd5b828060031936011261023a576109446126d4565b80638b78c6d819818154600080516020612bba8339815191528280a35580f35b823461023a57604036600319011261023a5781356001600160401b036024358181116104f6576109979036908601611a05565b906109a2338461246a565b15610b0b5782845260209060cf8252856040862084516003820155019082840151968751918211610af857506109d88254611b08565b601f8111610ab5575b5082601f8211600114610a435781908798600080516020612bda833981519152979892610a38575b50508160011b916000199060031b1c19161790555b610a32604051928284938452830190611776565b0390a280f35b015190508880610a09565b82875283872097601f198316885b818110610a9e575091600080516020612bda83398151915297989991846001959410610a85575b505050811b019055610a1e565b015160001960f88460031b161c19169055888080610a78565b838301518b556001909a0199928601928601610a51565b828752838720601f830160051c810191858410610aee575b601f0160051c01905b818110610ae357506109e1565b878155600101610ad6565b9091508190610acd565b634e487b7160e01b875260419052602486fd5b60405163075fd2b160e01b81528590fd5b82604036600319011261023a578135610b33612b12565b60243515610cbd5780825260cf6020526040822060405190610b5482611796565b8054825260018101546001600160a01b03908116602084015260028201541660408084019190915251610b86816117c7565b6003820154815260405186830180548791610ba082611b08565b8085529160018116908115610c965750600114610c4f575b505090610bcb8160069594930382611810565b6020820152606084015260058101546080840152015460a082015260408101516001600160a01b0316600080516020612b9a8339815191521480610c43575b610c325760200151610c2a916001600160a01b0390911690602435612249565b600160975580f35b6040516303e09bb960e31b81528490fd5b50346024351415610c0a565b885260208820949392915087905b808210610c78575092935090918101602001610bcb82610bb8565b91929394600181602092548385880101520191019094939291610c5d565b60ff191660208087019190915292151560051b85019092019250610bcb9150839050610bb8565b6040516303e09bb960e31b81528390fd5b823461023a578060031936011261023a5760cd546040516001600160a01b039091168152602090f35b828060031936011261023a5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b823461023a578060031936011261023a57602060c954604051908152f35b90503461026557602036600319011261026557610d76611702565b610d7e6126d4565b6001600160a01b0316908115610dd357506020817f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d192845260d0825260408420600160ff19825416179055604051908152a180f35b60405163538ba4f960e01b8152fd5b823461023a578060031936011261023a5760cc546040516001600160a01b039091168152602090f35b9050346102655781600319606036820112610265576001600160401b03906024358281116104f657610e409036908601611997565b916044359081116104f657610e589036908601611879565b610e60612b12565b8435845260cf60205260408420600101546001600160a01b031691823b15610ef657610eaf95610ebe8692606094604051998a9889978896630a6f0ee960e01b8852870152606486019061195a565b91848303016024850152611751565b33604483015203925af18015610eeb57610edc575b50600160975580f35b610ee5906117e2565b38610ed3565b6040513d84823e3d90fd5b8480fd5b823461023a57604036600319011261023a57610f14611718565b336001600160a01b03821603610f2f57610262919235612a9c565b60405162461bcd60e51b8152602081850152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b905034610265576040366003190112610265576102629035610fab611718565b908084526065602052610fc46001604086200154612737565b612a22565b82610c2a610fd636611894565b90610fdf612b12565b6121c7565b823461023a57604036600319011261023a578135611000611718565b9061100a81611bb3565b6001600160a01b03821615611032579061026291835260cf6020526005604084200154612a22565b60405163538ba4f960e01b81528490fd5b823461023a57604036600319011261023a57602061053483611063611718565b903561246a565b828060031936011261023a5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b905034610265576040366003190112610265576110d0611702565b6110d8611718565b6110e06126d4565b6001600160a01b038216600080516020612b9a83398151915281149285918415611153575047935b1561111957505061026292506126f1565b816010916020956044949560145260345263a9059cbb60601b82525af13d156001845114171615611148575080f35b6390b8ec188252601cfd5b6020602491604051928380926370a0823160e01b8252308b8301525afa9081156111b6578391611185575b5093611108565b90506020813d82116111ae575b8161119f60209383611810565b810103126104fa57513861117e565b3d9150611192565b6040513d85823e3d90fd5b90503461026557602036600319011261026557604060209260019235815260658452200154604051908152f35b823461023a57602036600319011261023a5761026261120b611702565b6112136126d4565b6124ad565b905034610265576040366003190112610265578035916001600160401b03918284116102655736602385011215610265578381013592611257846118c3565b946112656040519687611810565b84865260209460248688019160051b830101913683116104f2576024879101915b8383106113d057505050506024359081116104fa576112a890369083016118da565b916112b1612b12565b8451916112bd836118c3565b956112cb6040519788611810565b838752601f196112da856118c3565b013687890137845184036113c057825b84811061130d57600160975560405187815280611309818a018b61195a565b0390f35b6113178183611b89565b51845260cf875260018060a01b039061135f6001928986828660408b20015416611341868d611b89565b518a6040518097819582946315df065760e11b845233918401611b61565b03925af19182156113b5578792611386575b5061137c838c611b89565b91169052016112ea565b6113a79192508a3d8c116113ae575b61139f8183611810565b810190611b42565b9038611371565b503d611395565b6040513d89823e3d90fd5b5060405163636e39bb60e01b8152fd5b8235815291810191879101611286565b823461023a578060031936011261023a57602060ca54604051908152f35b61144d9150602061140e36611894565b9290611418612b12565b855260cf825260018060a01b039283600160408820015416906040518096819482936315df065760e11b845233918401611b61565b039134905af19182156111b65760209392611472575b50600160975560405191168152f35b61148a919250833d81116113ae5761139f8183611810565b9038611463565b823461023a5760209182600319360112610265578160a06040516114b481611796565b82815282868201528260408201526040516114ce816117c7565b838152606087820152606082015282608082015201528035825260cf835260408220604051916114fd83611796565b815483526001808301546001600160a01b0390811687860190815260028501548216604080880191825251919491939091611537856117c7565b60038701548552860189604051928a83549361155285611b08565b8087529483811690811561162057506001146115e4575b5050505050611580816115d3969798990382611810565b888401526060870192835281600660058801549760808a0198895201549560a08901968752604051998a99818b5251908a015251166040880152511660608601525160c0608086015260e0850190611776565b915160a08401525160c08301520390f35b908094939c50528a83205b82841061160d57505050810190970196611580896115d3838d611569565b80548585018d0152928b019281016115ef565b60ff1916858801525050505090151560051b8201019750611580896115d3838d611569565b823461023a57602036600319011261023a577f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea46020611682611702565b61168a6126d4565b6001600160a01b031680845260d082526040808520805460ff1916905551908152a180f35b9150346104fa5760203660031901126104fa573563ffffffff60e01b81168091036104fa5760209250637965db0b60e01b81149081156116f1575b5015158152f35b6301ffc9a760e01b149050386116ea565b600435906001600160a01b03821682036106c157565b602435906001600160a01b03821682036106c157565b60005b8381106117415750506000910152565b8181015183820152602001611731565b9060209161176a8151809281855285808601910161172e565b601f01601f1916010190565b906040602061179393805184520151918160208201520190611751565b90565b60c081019081106001600160401b038211176117b157604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176117b157604052565b6001600160401b0381116117b157604052565b606081019081106001600160401b038211176117b157604052565b601f909101601f19168101906001600160401b038211908210176117b157604052565b9192916001600160401b0382116117b1576040519161185c601f8201601f191660200184611810565b8294818452818301116106c1578281602093846000960137010152565b9080601f830112156106c15781602061179393359101611833565b9060406003198301126106c15760043591602435906001600160401b0382116106c15761179391600401611879565b6001600160401b0381116117b15760051b60200190565b9080601f830112156106c1578135906118f2826118c3565b926119006040519485611810565b828452602092838086019160051b830101928084116106c157848301915b84831061192e5750505050505090565b82356001600160401b0381116106c157869161194f84848094890101611879565b81520192019161191e565b90815180825260208080930193019160005b82811061197a575050505090565b83516001600160a01b03168552938101939281019260010161196c565b81601f820112156106c1578035916119ae836118c3565b926119bc6040519485611810565b808452602092838086019260051b8201019283116106c1578301905b8282106119e6575050505090565b81356001600160a01b03811681036106c15781529083019083016119d8565b91906040838203126106c15760405190611a1e826117c7565b8335825290928391906020810135906001600160401b0382116106c1570181601f820112156106c1576020918183611a5893359101611833565b910152565b60e06003198201126106c157600435916001600160a01b039060243582811681036106c157926001600160401b03906044358281116106c15781611aa391600401611879565b9360643590811681036106c157926084359260a4358181116106c15783611acc91600401611a05565b9260c4359182116106c15761179391600401611997565b6000198114611af25760010190565b634e487b7160e01b600052601160045260246000fd5b90600182811c92168015611b38575b6020831014611b2257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b17565b908160209103126106c157516001600160a01b03811681036106c15790565b90611b79602091949394604084526040840190611751565b6001600160a01b03909416910152565b8051821015611b9d5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b60005260cf602052611bcd3360066040600020015461270f565b15611bd457565b60405163075fd2b160e01b8152600490fd5b91908201809211611af257565b949695939291966000946044602060018060a01b0360cd541660405192838092635e8a791560e01b82528c60048301523360248301525afa9081156113b5578791612188575b5015611bd457611c4a60cb54611ae3565b958660cb55869960405160208101908982526430b236b4b760d91b604082015260258152611c77816117f5565b51902090604051611c8781611796565b8a8152602081019060018060a01b038816825260206040820160018060a01b038b16815260608301908982528d60808501528660a08501528d885260cf8352604088209484518655600186019060018060a01b039051169060018060a01b03199182825416179055600286019160018060a01b03905116908254161790555180516003850155015180519060018060401b03821161217457611d2c6004850154611b08565b601f8111612130575b50602090601f83116001146120be5791806006949260a0948a926120b3575b50508160011b916000199060031b1c19161760048501555b608081015160058501550151910155611d853383612a22565b888352606560205260016040842001918083549355604051928a7fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8680a46001600160a01b0386163b156104fa578180611dfb8593633b7451b360e21b83528c6004840152604060248401526044830190611751565b0381836001600160a01b038a165af18015610eeb576120a4575b5060405163038fff2d60e41b81529091906020816004816001600160a01b0389165afa9081156111b657908891849161206f575b5014801590611fed575b611fdb578051915b828110611f9c5750505060ca5480611ed1575b50611ebc9084600080516020612bfa83398151915295611ec1575b60405194859460018060a01b0316855260018060a01b031660208501526040840152608060608401526080830190611776565b0390a3565b611ecc848883612249565b611e89565b906001600160a01b038416600080516020612b9a833981519152148080611f87575b8115611f6e575b50611f5c57600080516020612bfa83398151915294611f26611ebc9360018060a01b0360cc54166126f1565b867f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72602060ca54604051908152a2945090611e6e565b6040516303e09bb960e31b8152600490fd5b90501580611f7d575b38611efa565b5034821415611f77565b9050611f938684611be6565b34141590611ef3565b6001600160a01b03611fae8284611b89565b5116908115611fc957611fc36001928a612a22565b01611e5b565b60405163538ba4f960e01b8152600490fd5b60405163636e39bb60e01b8152600490fd5b50604051630ae6240f60e11b81526020816004816001600160a01b0389165afa9081156111b657839161202d575b506001600160a01b0316301415611e53565b90506020813d602011612067575b8161204860209383611810565b810103126104fa57516001600160a01b03811681036104fa573861201b565b3d915061203b565b9150506020813d60201161209c575b8161208b60209383611810565b810103126106c15787905138611e49565b3d915061207e565b6120ad906117e2565b38611e15565b015190503880611d54565b906004850188526020882091885b601f19851681106121185750926006949260019260a09583601f198116106120ff575b505050811b016004850155611d6c565b015160001960f88460031b161c191690553880806120ef565b919260206001819286850151815501940192016120cc565b60048501885260208820601f840160051c81016020851061216d575b601f830160051c82018110612162575050611d35565b89815560010161214c565b508061214c565b634e487b7160e01b87526041600452602487fd5b90506020813d6020116121bf575b816121a360209383611810565b810103126121bb575180151581036121bb5738611c39565b8680fd5b3d9150612196565b600090815260cf60205260408120600101549091906001600160a01b0316803b156104fa57918091612210936040518080968194633bca483f60e21b8352339060048401611b61565b039134905af190811561223057506122255750565b61222e906117e2565b565b604051903d90823e3d90fd5b91908203918211611af257565b9291926000819083815260209560cf875260018060a01b03906040948260028786200154169060c9548061237b575b5050600080516020612b9a83398151915281036123315785516122b29161229e826117f5565b3382528484168b83015286888301526125ce565b505b1695863b156106c1576000809760248651809a819363f5b0dfb760e01b83528860048401525af1968715612326577fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851959697612317575b508351928352820152a2565b612320906117e2565b3861230b565b84513d6000823e3d90fd5b9361237082958461237594169061236a8c61234c8484612686565b95848c519261235a846117f5565b3384528301528b820152826125ce565b50612686565b61223c565b926122b4565b81819396929750029186830414861517156124565750670de0b6b3a76400009004926123a7848661223c565b946123b28686611be6565b0361244557600080516020612b9a83398151915281036123fb576123f28360cc54168751906123e0826117f5565b3382528b8201528588820152826125ce565b505b3880612278565b9261243f906124308460cc54166124128188612686565b9289519161241f836117f5565b3383528d83015289820152866125ce565b506123708460cc541686612686565b926123f4565b8551637fcce2a960e01b8152600490fd5b634e487b7160e01b81526011600452602490fd5b908160005260cf6020526124868160056040600020015461270f565b91821561249257505090565b611793925060005260cf60205260066040600020015461270f565b6001600160a01b03168015611fc95760cd80546001600160a01b031916821790556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602090a1565b6001600160a01b03168015611fc95760cc80546001600160a01b031916821790556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602090a1565b670de0b6b3a7640000811161258b576020817f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b0659260c955604051908152a1565b604051632fb15b8760e01b8152600490fd5b60207f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3918060ca55604051908152a1565b6040820151906001600160a01b0390818116600080516020612b9a83398151915203612621575081341061260f57602061260a930151166126f1565b600190565b6040516374c5672b60e01b8152600490fd5b601c6000606492868295602080989951920151166040519860605260405260018060601b03199060601b16602c526323b872dd60601b600c525af13d15600160005114171615612678576000606052604052600190565b637939f4246000526004601cfd5b6001600160a01b039190828116600080516020612b9a833981519152036126ad5750163190565b60209250601060249184936014526370a0823160601b6000525afa601f3d11166020510290565b638b78c6d8195433036126e357565b6382b429006000526004601cfd5b600080809381935af11561270157565b63b12d13eb6000526004601cfd5b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff8482205416156127615750505050565b3384519261276e846117f5565b602a84528484019086368337845115612a0e57603082538451926001938410156129fa576078602187015360295b848111612990575061296057865192608084016001600160401b0381118582101761294c57885260428452868401946060368737845115612938576030865384518210156129385790607860218601536041915b8183116128ca5750505061289a5761289693869361287a9361286b6048946128429a519a8b9576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c880152518092603788019061172e565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061172e565b01036028810187520185611810565b5192839262461bcd60e51b845260048401526024830190611751565b0390fd5b60648587519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b909192600f81166010811015612924576f181899199a1a9b1b9c1cb0b131b232b360811b901a6128fa8588612b68565b5360041c928015612910576000190191906127f0565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b86526041600452602486fd5b60648688519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b90600f811660108110156129e6576f181899199a1a9b1b9c1cb0b131b232b360811b901a6129be8389612b68565b5360041c9080156129d2576000190161279c565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541615612a5457505050565b80835260656020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416612acd57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b600260975414612b23576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908151811015611b9d57016020019056fe537472696e67733a20686578206c656e67746820696e73756666696369656e74000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e014f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf069bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1a264697066735822122086490be4ea4de35e05ff837fb7d62fa33fac6a1801c779dbd556d3147a01c77d64736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a7146116af57508163031e2fa114611645578163068bcd8d14611491578163075c0e9c146113fe57816315e812ad146113e05781631a20bd88146112185781631a5da6c8146111ee578163248a9ca3146111c157816324ae6a27146110b5578163256929621461106a57816329e40d4b146110435781632cf682b014610fe45781632ec3818814610fc95781632f2ff15d14610f8b57816336568abe14610efa5781633a5fbd9214610e0b5781633b19e84a14610de257816341bba0b414610d5b5781634edbaadc14610d3d57816354d1f13d14610cf75781635ab1bd5314610cce5781635acd6fac14610b1c5781635f9ca13814610964578163715018a61461093057816377da8caf1461080b5781637f51bb1f146107e65781637f5a70bd146107a85781638da5cb5b1461077b5781638e6901861461075657816391d148541461070b578163a0cf0aea146106e2578163a217fddf146106c6578163a6b63eb81461057d578163ab2ec5891461053e578163ab3febc6146104fe578163c6dff1cf14610438578163cfc0cc3414610403578163d547741f146103c5578163e1007d4a14610355578163f04e283e146102e7578163f2fde38b1461028c578163f4e1fc4114610269578163f54fc4a01461023d575063fee81cf41461020857600080fd5b3461023a57602036600319011261023a57610221611702565b9063389a75e1600c5252602080600c2054604051908152f35b80fd5b905034610265576020366003190112610265576102629061025c6126d4565b3561254b565b80f35b5080fd5b823461023a578060031936011261023a576020604051670de0b6b3a76400008152f35b90506020366003190112610265576102a2611702565b906102ab6126d4565b8160601b156102dc575060018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b637448fbae8352601cfd5b90506020366003190112610265576102fd611702565b906103066126d4565b63389a75e1600c528183526020600c20908154421161034a575082905560018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b636f5e88188452601cfd5b905061036036611a5d565b979096919592946001600160a01b031692919083156103b5576040818560ff935260d06020522054166103a657602061039e89898989898989611bf3565b604051908152f35b60405163eeffa72160e01b8152fd5b5060405163538ba4f960e01b8152fd5b9050346102655760403660031901126102655761026290356103e5611718565b9080845260656020526103fe6001604086200154612737565b612a9c565b905034610265576020366003190112610265579060209135815260cf825260016040818060a01b039220015416604051908152f35b823461023a57604036600319011261023a5781356001600160401b038082116104fa57366023830112156104fa5781840135918183116104f657602490600592368386861b840101116104f25782359081116104f25761049b90369088016118da565b956104a4612b12565b865185036104e35750845b8481106104bf5785600160975580f35b806104dd6104cf6001938a611b89565b518583881b860101356121c7565b016104af565b60405163636e39bb60e01b8152fd5b8580fd5b8380fd5b8280fd5b905034610265576040366003190112610265576105349060066040602094610524611718565b9335815260cf865220015461270f565b6040519015158152f35b823461023a57602036600319011261023a5760209060ff906040906001600160a01b03610569611702565b16815260d084522054166040519015158152f35b9050346102655760a036600319011261026557610598611702565b906105a1611718565b6044359290916001600160a01b03919082851685036106c15785549060ff8260081c1615806106b4575b15610659575061ffff191661010117855516638b78c6d81981905561060c92916106079185600080516020612bba8339815191528180a36124ad565b6124fc565b61061760643561254b565b61062260843561259d565b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60849060206040519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50600160ff8316106105cb565b600080fd5b823461023a578060031936011261023a57602090604051908152f35b823461023a578060031936011261023a576020604051600080516020612b9a8339815191528152f35b823461023a57604036600319011261023a57604090610728611718565b923581526065602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b90503461026557602036600319011261026557610262906107756126d4565b3561259d565b823461023a578060031936011261023a57638b78c6d819546040516001600160a01b039091168152602090f35b9050346102655760403660031901126102655761026290356107c8611718565b906107d281611bb3565b835260cf6020526005604084200154612a9c565b823461023a57602036600319011261023a57610262610803611702565b6106076126d4565b8261081536611a5d565b959094610823949294612b12565b60018060a01b0390818116895260209860d08a5260ff6040822054161561091f57600960379133815260ce8c526e5af43d82803e903d91602b57fd5bf36040822080549061087082611ae3565b90558d604051908101913360601b8352603482015260348152610892816117f5565b51902094763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c1617835260781b178c52f5169081156108e1576108d4979850611bf3565b6001609755604051908152f35b60405162461bcd60e51b8152808a018990526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b60405163126d324760e31b81528b90fd5b828060031936011261023a576109446126d4565b80638b78c6d819818154600080516020612bba8339815191528280a35580f35b823461023a57604036600319011261023a5781356001600160401b036024358181116104f6576109979036908601611a05565b906109a2338461246a565b15610b0b5782845260209060cf8252856040862084516003820155019082840151968751918211610af857506109d88254611b08565b601f8111610ab5575b5082601f8211600114610a435781908798600080516020612bda833981519152979892610a38575b50508160011b916000199060031b1c19161790555b610a32604051928284938452830190611776565b0390a280f35b015190508880610a09565b82875283872097601f198316885b818110610a9e575091600080516020612bda83398151915297989991846001959410610a85575b505050811b019055610a1e565b015160001960f88460031b161c19169055888080610a78565b838301518b556001909a0199928601928601610a51565b828752838720601f830160051c810191858410610aee575b601f0160051c01905b818110610ae357506109e1565b878155600101610ad6565b9091508190610acd565b634e487b7160e01b875260419052602486fd5b60405163075fd2b160e01b81528590fd5b82604036600319011261023a578135610b33612b12565b60243515610cbd5780825260cf6020526040822060405190610b5482611796565b8054825260018101546001600160a01b03908116602084015260028201541660408084019190915251610b86816117c7565b6003820154815260405186830180548791610ba082611b08565b8085529160018116908115610c965750600114610c4f575b505090610bcb8160069594930382611810565b6020820152606084015260058101546080840152015460a082015260408101516001600160a01b0316600080516020612b9a8339815191521480610c43575b610c325760200151610c2a916001600160a01b0390911690602435612249565b600160975580f35b6040516303e09bb960e31b81528490fd5b50346024351415610c0a565b885260208820949392915087905b808210610c78575092935090918101602001610bcb82610bb8565b91929394600181602092548385880101520191019094939291610c5d565b60ff191660208087019190915292151560051b85019092019250610bcb9150839050610bb8565b6040516303e09bb960e31b81528390fd5b823461023a578060031936011261023a5760cd546040516001600160a01b039091168152602090f35b828060031936011261023a5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b823461023a578060031936011261023a57602060c954604051908152f35b90503461026557602036600319011261026557610d76611702565b610d7e6126d4565b6001600160a01b0316908115610dd357506020817f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d192845260d0825260408420600160ff19825416179055604051908152a180f35b60405163538ba4f960e01b8152fd5b823461023a578060031936011261023a5760cc546040516001600160a01b039091168152602090f35b9050346102655781600319606036820112610265576001600160401b03906024358281116104f657610e409036908601611997565b916044359081116104f657610e589036908601611879565b610e60612b12565b8435845260cf60205260408420600101546001600160a01b031691823b15610ef657610eaf95610ebe8692606094604051998a9889978896630a6f0ee960e01b8852870152606486019061195a565b91848303016024850152611751565b33604483015203925af18015610eeb57610edc575b50600160975580f35b610ee5906117e2565b38610ed3565b6040513d84823e3d90fd5b8480fd5b823461023a57604036600319011261023a57610f14611718565b336001600160a01b03821603610f2f57610262919235612a9c565b60405162461bcd60e51b8152602081850152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b905034610265576040366003190112610265576102629035610fab611718565b908084526065602052610fc46001604086200154612737565b612a22565b82610c2a610fd636611894565b90610fdf612b12565b6121c7565b823461023a57604036600319011261023a578135611000611718565b9061100a81611bb3565b6001600160a01b03821615611032579061026291835260cf6020526005604084200154612a22565b60405163538ba4f960e01b81528490fd5b823461023a57604036600319011261023a57602061053483611063611718565b903561246a565b828060031936011261023a5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b905034610265576040366003190112610265576110d0611702565b6110d8611718565b6110e06126d4565b6001600160a01b038216600080516020612b9a83398151915281149285918415611153575047935b1561111957505061026292506126f1565b816010916020956044949560145260345263a9059cbb60601b82525af13d156001845114171615611148575080f35b6390b8ec188252601cfd5b6020602491604051928380926370a0823160e01b8252308b8301525afa9081156111b6578391611185575b5093611108565b90506020813d82116111ae575b8161119f60209383611810565b810103126104fa57513861117e565b3d9150611192565b6040513d85823e3d90fd5b90503461026557602036600319011261026557604060209260019235815260658452200154604051908152f35b823461023a57602036600319011261023a5761026261120b611702565b6112136126d4565b6124ad565b905034610265576040366003190112610265578035916001600160401b03918284116102655736602385011215610265578381013592611257846118c3565b946112656040519687611810565b84865260209460248688019160051b830101913683116104f2576024879101915b8383106113d057505050506024359081116104fa576112a890369083016118da565b916112b1612b12565b8451916112bd836118c3565b956112cb6040519788611810565b838752601f196112da856118c3565b013687890137845184036113c057825b84811061130d57600160975560405187815280611309818a018b61195a565b0390f35b6113178183611b89565b51845260cf875260018060a01b039061135f6001928986828660408b20015416611341868d611b89565b518a6040518097819582946315df065760e11b845233918401611b61565b03925af19182156113b5578792611386575b5061137c838c611b89565b91169052016112ea565b6113a79192508a3d8c116113ae575b61139f8183611810565b810190611b42565b9038611371565b503d611395565b6040513d89823e3d90fd5b5060405163636e39bb60e01b8152fd5b8235815291810191879101611286565b823461023a578060031936011261023a57602060ca54604051908152f35b61144d9150602061140e36611894565b9290611418612b12565b855260cf825260018060a01b039283600160408820015416906040518096819482936315df065760e11b845233918401611b61565b039134905af19182156111b65760209392611472575b50600160975560405191168152f35b61148a919250833d81116113ae5761139f8183611810565b9038611463565b823461023a5760209182600319360112610265578160a06040516114b481611796565b82815282868201528260408201526040516114ce816117c7565b838152606087820152606082015282608082015201528035825260cf835260408220604051916114fd83611796565b815483526001808301546001600160a01b0390811687860190815260028501548216604080880191825251919491939091611537856117c7565b60038701548552860189604051928a83549361155285611b08565b8087529483811690811561162057506001146115e4575b5050505050611580816115d3969798990382611810565b888401526060870192835281600660058801549760808a0198895201549560a08901968752604051998a99818b5251908a015251166040880152511660608601525160c0608086015260e0850190611776565b915160a08401525160c08301520390f35b908094939c50528a83205b82841061160d57505050810190970196611580896115d3838d611569565b80548585018d0152928b019281016115ef565b60ff1916858801525050505090151560051b8201019750611580896115d3838d611569565b823461023a57602036600319011261023a577f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea46020611682611702565b61168a6126d4565b6001600160a01b031680845260d082526040808520805460ff1916905551908152a180f35b9150346104fa5760203660031901126104fa573563ffffffff60e01b81168091036104fa5760209250637965db0b60e01b81149081156116f1575b5015158152f35b6301ffc9a760e01b149050386116ea565b600435906001600160a01b03821682036106c157565b602435906001600160a01b03821682036106c157565b60005b8381106117415750506000910152565b8181015183820152602001611731565b9060209161176a8151809281855285808601910161172e565b601f01601f1916010190565b906040602061179393805184520151918160208201520190611751565b90565b60c081019081106001600160401b038211176117b157604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176117b157604052565b6001600160401b0381116117b157604052565b606081019081106001600160401b038211176117b157604052565b601f909101601f19168101906001600160401b038211908210176117b157604052565b9192916001600160401b0382116117b1576040519161185c601f8201601f191660200184611810565b8294818452818301116106c1578281602093846000960137010152565b9080601f830112156106c15781602061179393359101611833565b9060406003198301126106c15760043591602435906001600160401b0382116106c15761179391600401611879565b6001600160401b0381116117b15760051b60200190565b9080601f830112156106c1578135906118f2826118c3565b926119006040519485611810565b828452602092838086019160051b830101928084116106c157848301915b84831061192e5750505050505090565b82356001600160401b0381116106c157869161194f84848094890101611879565b81520192019161191e565b90815180825260208080930193019160005b82811061197a575050505090565b83516001600160a01b03168552938101939281019260010161196c565b81601f820112156106c1578035916119ae836118c3565b926119bc6040519485611810565b808452602092838086019260051b8201019283116106c1578301905b8282106119e6575050505090565b81356001600160a01b03811681036106c15781529083019083016119d8565b91906040838203126106c15760405190611a1e826117c7565b8335825290928391906020810135906001600160401b0382116106c1570181601f820112156106c1576020918183611a5893359101611833565b910152565b60e06003198201126106c157600435916001600160a01b039060243582811681036106c157926001600160401b03906044358281116106c15781611aa391600401611879565b9360643590811681036106c157926084359260a4358181116106c15783611acc91600401611a05565b9260c4359182116106c15761179391600401611997565b6000198114611af25760010190565b634e487b7160e01b600052601160045260246000fd5b90600182811c92168015611b38575b6020831014611b2257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b17565b908160209103126106c157516001600160a01b03811681036106c15790565b90611b79602091949394604084526040840190611751565b6001600160a01b03909416910152565b8051821015611b9d5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b60005260cf602052611bcd3360066040600020015461270f565b15611bd457565b60405163075fd2b160e01b8152600490fd5b91908201809211611af257565b949695939291966000946044602060018060a01b0360cd541660405192838092635e8a791560e01b82528c60048301523360248301525afa9081156113b5578791612188575b5015611bd457611c4a60cb54611ae3565b958660cb55869960405160208101908982526430b236b4b760d91b604082015260258152611c77816117f5565b51902090604051611c8781611796565b8a8152602081019060018060a01b038816825260206040820160018060a01b038b16815260608301908982528d60808501528660a08501528d885260cf8352604088209484518655600186019060018060a01b039051169060018060a01b03199182825416179055600286019160018060a01b03905116908254161790555180516003850155015180519060018060401b03821161217457611d2c6004850154611b08565b601f8111612130575b50602090601f83116001146120be5791806006949260a0948a926120b3575b50508160011b916000199060031b1c19161760048501555b608081015160058501550151910155611d853383612a22565b888352606560205260016040842001918083549355604051928a7fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8680a46001600160a01b0386163b156104fa578180611dfb8593633b7451b360e21b83528c6004840152604060248401526044830190611751565b0381836001600160a01b038a165af18015610eeb576120a4575b5060405163038fff2d60e41b81529091906020816004816001600160a01b0389165afa9081156111b657908891849161206f575b5014801590611fed575b611fdb578051915b828110611f9c5750505060ca5480611ed1575b50611ebc9084600080516020612bfa83398151915295611ec1575b60405194859460018060a01b0316855260018060a01b031660208501526040840152608060608401526080830190611776565b0390a3565b611ecc848883612249565b611e89565b906001600160a01b038416600080516020612b9a833981519152148080611f87575b8115611f6e575b50611f5c57600080516020612bfa83398151915294611f26611ebc9360018060a01b0360cc54166126f1565b867f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72602060ca54604051908152a2945090611e6e565b6040516303e09bb960e31b8152600490fd5b90501580611f7d575b38611efa565b5034821415611f77565b9050611f938684611be6565b34141590611ef3565b6001600160a01b03611fae8284611b89565b5116908115611fc957611fc36001928a612a22565b01611e5b565b60405163538ba4f960e01b8152600490fd5b60405163636e39bb60e01b8152600490fd5b50604051630ae6240f60e11b81526020816004816001600160a01b0389165afa9081156111b657839161202d575b506001600160a01b0316301415611e53565b90506020813d602011612067575b8161204860209383611810565b810103126104fa57516001600160a01b03811681036104fa573861201b565b3d915061203b565b9150506020813d60201161209c575b8161208b60209383611810565b810103126106c15787905138611e49565b3d915061207e565b6120ad906117e2565b38611e15565b015190503880611d54565b906004850188526020882091885b601f19851681106121185750926006949260019260a09583601f198116106120ff575b505050811b016004850155611d6c565b015160001960f88460031b161c191690553880806120ef565b919260206001819286850151815501940192016120cc565b60048501885260208820601f840160051c81016020851061216d575b601f830160051c82018110612162575050611d35565b89815560010161214c565b508061214c565b634e487b7160e01b87526041600452602487fd5b90506020813d6020116121bf575b816121a360209383611810565b810103126121bb575180151581036121bb5738611c39565b8680fd5b3d9150612196565b600090815260cf60205260408120600101549091906001600160a01b0316803b156104fa57918091612210936040518080968194633bca483f60e21b8352339060048401611b61565b039134905af190811561223057506122255750565b61222e906117e2565b565b604051903d90823e3d90fd5b91908203918211611af257565b9291926000819083815260209560cf875260018060a01b03906040948260028786200154169060c9548061237b575b5050600080516020612b9a83398151915281036123315785516122b29161229e826117f5565b3382528484168b83015286888301526125ce565b505b1695863b156106c1576000809760248651809a819363f5b0dfb760e01b83528860048401525af1968715612326577fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851959697612317575b508351928352820152a2565b612320906117e2565b3861230b565b84513d6000823e3d90fd5b9361237082958461237594169061236a8c61234c8484612686565b95848c519261235a846117f5565b3384528301528b820152826125ce565b50612686565b61223c565b926122b4565b81819396929750029186830414861517156124565750670de0b6b3a76400009004926123a7848661223c565b946123b28686611be6565b0361244557600080516020612b9a83398151915281036123fb576123f28360cc54168751906123e0826117f5565b3382528b8201528588820152826125ce565b505b3880612278565b9261243f906124308460cc54166124128188612686565b9289519161241f836117f5565b3383528d83015289820152866125ce565b506123708460cc541686612686565b926123f4565b8551637fcce2a960e01b8152600490fd5b634e487b7160e01b81526011600452602490fd5b908160005260cf6020526124868160056040600020015461270f565b91821561249257505090565b611793925060005260cf60205260066040600020015461270f565b6001600160a01b03168015611fc95760cd80546001600160a01b031916821790556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602090a1565b6001600160a01b03168015611fc95760cc80546001600160a01b031916821790556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602090a1565b670de0b6b3a7640000811161258b576020817f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b0659260c955604051908152a1565b604051632fb15b8760e01b8152600490fd5b60207f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3918060ca55604051908152a1565b6040820151906001600160a01b0390818116600080516020612b9a83398151915203612621575081341061260f57602061260a930151166126f1565b600190565b6040516374c5672b60e01b8152600490fd5b601c6000606492868295602080989951920151166040519860605260405260018060601b03199060601b16602c526323b872dd60601b600c525af13d15600160005114171615612678576000606052604052600190565b637939f4246000526004601cfd5b6001600160a01b039190828116600080516020612b9a833981519152036126ad5750163190565b60209250601060249184936014526370a0823160601b6000525afa601f3d11166020510290565b638b78c6d8195433036126e357565b6382b429006000526004601cfd5b600080809381935af11561270157565b63b12d13eb6000526004601cfd5b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff8482205416156127615750505050565b3384519261276e846117f5565b602a84528484019086368337845115612a0e57603082538451926001938410156129fa576078602187015360295b848111612990575061296057865192608084016001600160401b0381118582101761294c57885260428452868401946060368737845115612938576030865384518210156129385790607860218601536041915b8183116128ca5750505061289a5761289693869361287a9361286b6048946128429a519a8b9576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c880152518092603788019061172e565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061172e565b01036028810187520185611810565b5192839262461bcd60e51b845260048401526024830190611751565b0390fd5b60648587519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b909192600f81166010811015612924576f181899199a1a9b1b9c1cb0b131b232b360811b901a6128fa8588612b68565b5360041c928015612910576000190191906127f0565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b86526041600452602486fd5b60648688519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b90600f811660108110156129e6576f181899199a1a9b1b9c1cb0b131b232b360811b901a6129be8389612b68565b5360041c9080156129d2576000190161279c565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541615612a5457505050565b80835260656020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416612acd57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b600260975414612b23576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908151811015611b9d57016020019056fe537472696e67733a20686578206c656e67746820696e73756666696369656e74000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e014f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf069bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1a264697066735822122086490be4ea4de35e05ff837fb7d62fa33fac6a1801c779dbd556d3147a01c77d64736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10204:237:13;;;;;5076:29047:0;10204:237:13;;;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;14005:11;10797:70:13;;;:::i;:::-;5076:29047:0;14005:11;:::i;:::-;5076:29047;;;;;;;;;;;;;;;;;;;;;;31880:4;5076:29047;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:13;;;:::i;:::-;6789:183;;;;;;5076:29047:0;;;;;;5147:382:13;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:13;;;;5076:29047:0;;6789:183:13;;;;;;5076:29047:0;;-1:-1:-1;5076:29047:0;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:13;;;:::i;:::-;8816:526;;;;;;5076:29047:0;8816:526:13;;;;;;;;;;;;;5076:29047:0;;;;;5147:382:13;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:13;;;;5076:29047:0;;8816:526:13;;;;;;5076:29047:0;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;10687:23;;10683:50;;5076:29047;;;;;;28993:19;5076:29047;;;;;10894:66;;5076:29047;11055:103;;;;;;;;;:::i;:::-;5076:29047;;;;;;10894:66;5076:29047;;-1:-1:-1;;;10938:22:0;;;10683:50;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;10719:14:0;;;5076:29047;;;;;;;;-1:-1:-1;;5076:29047:0;;;;5837:7:45;5076:29047:0;;;;:::i;:::-;;;;;4955:6:45;5076:29047:0;;2809:4:45;5076:29047:0;;;;4955:22:45;5076:29047:0;2809:4:45;:::i;:::-;5837:7;:::i;5076:29047:0:-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;32848:5;5076:29047;;;;;;;;;;;32848:23;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:103:50;;;:::i;:::-;5076:29047:0;;20772:25;;20768:48;;20921:9;;20932:12;;;;;;5076:29047;;3074:22:50;5076:29047:0;;;20921:9;20984;;;5076:29047;20984:9;;;:::i;:::-;;5076:29047;;;;;;;;20984:9;:::i;:::-;5076:29047;20921:9;;20768:48;5076:29047;;-1:-1:-1;;;20806:10:0;;;5076:29047;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;29449:43;5076:29047;29457:24;5076:29047;;;;;:::i;:::-;;;;;29457:5;5076:29047;;;29457:24;5076:29047;29449:43;:::i;:::-;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;:::i;:::-;;;;28993:19;5076:29047;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;4881:14:49;:40;;;5076:29047:0;;;;-1:-1:-1;;;5076:29047:0;;;;;4634:328:13;-1:-1:-1;;4634:328:13;;;8064:9:0;;5076:29047;7984:9;;5076:29047;-1:-1:-1;;;;;;;;;;;5076:29047:0;;4634:328:13;7984:9:0;:::i;:::-;8064;:::i;:::-;8137:11;5076:29047;;8137:11;:::i;:::-;8203:8;5076:29047;;8203:8;:::i;:::-;5076:29047;;;;;;;5091:20:49;5076:29047:0;;;;;;5091:20:49;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;4881:40:49;5076:29047:0;;;;;4899:22:49;4881:40;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;:::i;:::-;;;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;14273:8;10797:70:13;;;:::i;:::-;5076:29047:0;14273:8;:::i;5076:29047::-;;;;;;;;;;;;;-1:-1:-1;;9833:70:13;5076:29047:0;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;16094:8;5076:29047;;;;:::i;:::-;8857:7;;;;:::i;:::-;5076:29047;;16066:5;5076:29047;;16066:26;5076:29047;;;16066:26;5076:29047;16094:8;:::i;5076:29047::-;;;;;;;-1:-1:-1;;5076:29047:0;;;;13720:9;5076:29047;;:::i;:::-;10797:70:13;;:::i;5076:29047:0:-;;;;;:::i;:::-;2492:103:50;;;;;;;;:::i;:::-;5076:29047:0;;;;;;;;;;;;;28993:19;5076:29047;;;;;;;;12281:32;12277:93;;2273:565:48;;12522:10:0;;5076:29047;;12514:7;5076:29047;;2273:565:48;5076:29047:0;;;;;12514:21;;;;:::i;:::-;5076:29047;;;;;4867:36:6;;;12522:10:0;;5076:29047;;;;;;;;;4867:36:6;;;;;:::i;:::-;5076:29047:0;4857:47:6;;2273:565:48;;;;;;;;;;;;;;;;5076:29047:0;2855:22:48;;;5076:29047:0;;12426:239;;;;;:::i;:::-;5076:29047;3074:22:50;5076:29047:0;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;12277:93;5076:29047;;-1:-1:-1;;;12336:23:0;;5076:29047;;12336:23;5076:29047;;;;;;;;;;10797:70:13;;:::i;:::-;5147:382;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:13;;;;5076:29047:0;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;:::i;:::-;22011:10;21987:35;22011:10;21987:35;;:::i;:::-;21986:36;21982:63;;5076:29047;;;;;13030:5;5076:29047;;;;;;;;;13054:13;;5076:29047;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13095:39;;;5076:29047;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;21982:63;5076:29047;;-1:-1:-1;;;22031:14:0;;5076:29047;;22031:14;5076:29047;;;;-1:-1:-1;;5076:29047:0;;;;;;2492:103:50;;:::i;:::-;5076:29047:0;;19318:12;19314:43;;5076:29047;;;19387:5;5076:29047;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;19415:20:0;;:44;;5076:29047;19411:75;;5076:29047;;;19574:13;;-1:-1:-1;;;;;5076:29047:0;;;;;;19574:13;:::i;:::-;5076:29047;3074:22:50;5076:29047:0;;;19411:75;5076:29047;;-1:-1:-1;;;19468:18:0;;5076:29047;;19468:18;19415:44;19450:9;;5076:29047;;19439:20;;19415:44;;5076:29047;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;19314:43;5076:29047;;-1:-1:-1;;;19339:18:0;;5076:29047;;19339:18;5076:29047;;;;;;;;;;;;;33562:8;5076:29047;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;8141:339:13;;;;;;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;33051:10;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:13;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;14567:23;;14563:50;;5076:29047;;;14676:27;5076:29047;;;14624:19;5076:29047;;;;;;;;;;;;;;;;;;;14676:27;5076:29047;;14563:50;5076:29047;;-1:-1:-1;;;14599:14:0;;;5076:29047;;;;;;;;;;;;;33393:8;5076:29047;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;2492:103:50;;:::i;:::-;5076:29047:0;;;;21589:5;5076:29047;;;;;;21589:23;5076:29047;-1:-1:-1;;;;;5076:29047:0;;21589:68;;;;;5076:29047;;;;;;;;;;;;;;;;;;;21589:68;;;;5076:29047;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;21646:10;5076:29047;;;;21589:68;;;;;;;;;;5076:29047;;;3074:22:50;5076:29047:0;;;21589:68;;;;:::i;:::-;;;;;5076:29047;;;;;;;;;21589:68;5076:29047;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;965:10:53;-1:-1:-1;;;;;5076:29047:0;;6484:23:45;5076:29047:0;;6588:7:45;5076:29047:0;;;6588:7:45;:::i;5076:29047:0:-;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;5410:7:45;5076:29047:0;;;;:::i;:::-;;;;;4955:6:45;5076:29047:0;;2809:4:45;5076:29047:0;;;;4955:22:45;5076:29047:0;2809:4:45;:::i;:::-;5410:7;:::i;5076:29047:0:-;;20035:5;5076:29047;;;:::i;:::-;2492:103:50;;;:::i;:::-;20035:5:0;:::i;5076:29047::-;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;:::i;:::-;8857:7;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;15568:22;15564:49;;5076:29047;15729:8;5076:29047;;;15701:5;5076:29047;;15701:26;5076:29047;;;15701:26;5076:29047;15729:8;:::i;15564:49::-;5076:29047;;-1:-1:-1;;;15599:14:0;;5076:29047;;15599:14;5076:29047;;;;;;;-1:-1:-1;;5076:29047:0;;;;;32580:33;5076:29047;;;:::i;:::-;;;32580:33;:::i;5076:29047::-;;;;;;;;;;7549:383:13;;;;;;6282:9;7442:15;5076:29047:0;7549:383:13;;;;;;;;;5076:29047:0;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;;;:::i;:::-;10797:70:13;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;-1:-1:-1;;;;;;;;;;;16523:16:0;;;5076:29047;;16523:93;;;;16542:21;;16523:93;;6815:16:10;;;6884:7;;;;;;:::i;6811:173::-;11581:1056:15;;;;;;;;;;;;;;;;;;;;;5076:29047:0;11581:1056:15;;;;;;;;6811:173:10;5076:29047:0;;11581:1056:15;;;;;;16523:93:0;5076:29047;;;;;;;;;;;;16566:50;;16610:4;16566:50;;;5076:29047;16566:50;;;;;;;;;;;16523:93;;;;;16566:50;;;5076:29047;16566:50;;;;;;;;;5076:29047;16566:50;;;:::i;:::-;;;5076:29047;;;;;16566:50;;;;;;-1:-1:-1;16566:50:0;;;5076:29047;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;4955:6:45;5076:29047:0;;;4955:22:45;5076:29047:0;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;13418:9;5076:29047;;:::i;:::-;10797:70:13;;:::i;:::-;13418:9:0;:::i;5076:29047::-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:103:50;;;:::i;:::-;5076:29047:0;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5076:29047:0;;;:::i;:::-;;;;;;;;;18498:28;;18494:51;;18663:9;18674:16;;;;;;5076:29047;3074:22:50;5076:29047:0;;;;;;;;;;;;;:::i;:::-;;;;18663:9;18731:11;;;;:::i;:::-;5076:29047;;;18725:5;5076:29047;;;;;;;;18725:67;5076:29047;;;;;;;;;18725:27;5076:29047;;18771:8;;;;:::i;:::-;;5076:29047;;;;;;;;;;;;18725:67;;18781:10;18725:67;;;;:::i;:::-;;;;;;;;;;;;;;18663:9;18707:85;;;;;:::i;:::-;5076:29047;;;;;18663:9;;18725:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;5076:29047;;;;;;;;;18494:51;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;18535:10:0;;;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;33211:7;5076:29047;;;;;;;;17489:78;5076:29047;;;;;;:::i;:::-;2492:103:50;;;;:::i;:::-;5076:29047:0;;17489:5;5076:29047;;;;;;;;;;;;;17489:23;5076:29047;;;;;;;;;;;;;;17489:78;;17556:10;17489:78;;;;:::i;:::-;;17538:9;;17489:78;;;;;;;;5076:29047;17489:78;;;;5076:29047;;;3074:22:50;5076:29047:0;;;;;;;;17489:78;;;;;;;;;;;;;;;:::i;:::-;;;;;5076:29047;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;34100:5;5076:29047;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;-1:-1:-1;;;;5076:29047:0;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;15155:26;5076:29047;;;:::i;:::-;10797:70:13;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;15059:19;5076:29047;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;15155:26;5076:29047;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3158:58:45;;;:98;;;;5076:29047:0;;;;;;;3158:98:45;-1:-1:-1;;;1189:51:55;;-1:-1:-1;3158:98:45;;;5076:29047:0;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;5076:29047:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;-1:-1:-1;;5076:29047:0;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;-1:-1:-1;;5076:29047:0;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;22160:138;-1:-1:-1;5076:29047:0;29457:5;5076:29047;;29449:43;22257:10;29457:24;5076:29047;-1:-1:-1;5076:29047:0;29457:24;5076:29047;29449:43;:::i;:::-;22234:34;22230:61;;22160:138::o;22230:61::-;5076:29047;;-1:-1:-1;;;22277:14:0;;;;;5076:29047;;;;;;;;;;:::o;23131:2681::-;;;;;;;;5076:29047;;;23424:57;5076:29047;;;;;23424:8;5076:29047;;;;;;;;;;;23424:57;;;;;;5076:29047;23470:10;5076:29047;;;;23424:57;;;;;;;;;;;23131:2681;23423:58;;23419:85;;23524:12;;5076:29047;23524:12;:::i;:::-;5076:29047;;23524:12;5076:29047;23515:21;5076:29047;;;23424:57;23764:33;;5076:29047;;;;-1:-1:-1;;;5076:29047:0;;;;23764:33;;;;;;:::i;:::-;5076:29047;23754:44;;5076:29047;;;;;;:::i;:::-;;;;23424:57;23864:228;;5076:29047;;;;;;;;;;23424:57;5076:29047;23864:228;;5076:29047;;;;;;;;;23864:228;;;5076:29047;;;;23864:228;;;;5076:29047;23864:228;5076:29047;23864:228;;5076:29047;;;;24159:5;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;:::i;:::-;;;;;;23131:2681;5076:29047;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;23864:228;;;5076:29047;;;;;23864:228;5076:29047;;;;24267:10;23470;24267;;:::i;:::-;5076:29047;;;4955:6:45;23424:57:0;5076:29047;;;;;4955:22:45;5076:29047:0;;;;;;;;7711:52:45;;;;;;-1:-1:-1;;;;;5076:29047:0;;24541:47;;;;5076:29047;;;;;;;;24541:47;;;23424:57;24541:47;;5076:29047;;;;;;;;;;;:::i;:::-;24541:47;5076:29047;;-1:-1:-1;;;;;5076:29047:0;;24541:47;;;;;;;;5076:29047;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;24603:21:0;;5076:29047;;;23424:57;5076:29047;23424:57;5076:29047;-1:-1:-1;;;;;5076:29047:0;;24603:21;;;;;;;;;;;;;;5076:29047;24603:31;;;;:80;;;5076:29047;24599:103;;5076:29047;;24806:9;24817:18;;;;;;5076:29047;;;25081:7;5076:29047;25081:11;25077:554;;24801:266;25645:11;5076:29047;25645:11;;-1:-1:-1;;;;;;;;;;;25645:11:0;25641:79;;24801:266;5076:29047;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;23864:228;;5076:29047;;;23864:228;5076:29047;;;;:::i;:::-;25735:70;;;23131:2681::o;25641:79::-;25699:9;;;;;:::i;:::-;25641:79;;25077:554;5076:29047;-1:-1:-1;;;;;5076:29047:0;;-1:-1:-1;;;;;;;;;;;25359:16:0;;;:52;;25077:554;25358:100;;;;25077:554;25354:164;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;6884:7:10;5076:29047:0;;;;;;;25555:8;5076:29047;;6884:7:10;:::i;:::-;5076:29047:0;25592:28;23424:57;25081:7;5076:29047;;;;;;25592:28;25077:554;;;;;25354:164;5076:29047;;-1:-1:-1;;;25485:18:0;;23424:57;;25485:18;25358:100;25417:16;;;:40;;;25358:100;;;;25417:40;25448:9;;25437:20;;;25417:40;;25359:52;25380:17;;;;;;:::i;:::-;25401:9;25380:30;;25359:52;;;24806:9;-1:-1:-1;;;;;24870:12:0;;;;:::i;:::-;5076:29047;;24900:21;;;24896:48;;24989:7;5076:29047;24989:7;;;:::i;:::-;5076:29047;24806:9;;24896:48;5076:29047;;-1:-1:-1;;;24930:14:0;;23424:57;;24930:14;24599:103;5076:29047;;-1:-1:-1;;;24692:10:0;;23424:57;;24692:10;24603:80;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;24646:19:0;;23424:57;5076:29047;23424:57;5076:29047;-1:-1:-1;;;;;5076:29047:0;;24646:19;;;;;;;;;;;24603:80;-1:-1:-1;;;;;;5076:29047:0;24678:4;24638:45;;24603:80;;24646:19;;;23424:57;24646:19;;23424:57;24646:19;;;;;;23424:57;24646:19;;;:::i;:::-;;;5076:29047;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;24646:19;;;;;;-1:-1:-1;24646:19:0;;24603:21;;;;23424:57;24603:21;;23424:57;24603:21;;;;;;23424:57;24603:21;;;:::i;:::-;;;5076:29047;;;;;;;24603:21;;;;;;-1:-1:-1;24603:21:0;;24541:47;;;;:::i;:::-;;;;5076:29047;;;;-1:-1:-1;5076:29047:0;;;;;;23424:57;5076:29047;;;;23424:57;5076:29047;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;23424:57;5076:29047;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;-1:-1:-1;;;5076:29047:0;;;23424:57;5076:29047;;;;23424:57;;;;;;;;;;;;;;;;;:::i;:::-;;;5076:29047;;;;;;;;;;;;23424:57;;;5076:29047;;;;23424:57;;;-1:-1:-1;23424:57:0;;26159:151;-1:-1:-1;5076:29047:0;;;26234:5;5076:29047;;;;;;26234:23;5076:29047;-1:-1:-1;;26159:151:0;-1:-1:-1;;;;;5076:29047:0;26234:69;;;;;5076:29047;;;26234:69;5076:29047;;;;;;;;;;;26234:69;;26292:10;26234:69;;;;;:::i;:::-;;26274:9;;26234:69;;;;;;;;;;;26159:151;:::o;26234:69::-;;;;:::i;:::-;26159:151::o;26234:69::-;5076:29047;;;;;;;;;;;;;;;;;;;;:::o;26634:1879::-;;;;-1:-1:-1;26754:32:0;5076:29047;;;;;;26817:5;5076:29047;;;;;;;;;;;26858:10;5076:29047;;;26858:10;5076:29047;;;26883:10;5076:29047;26883:14;26879:808;;26634:1879;-1:-1:-1;;;;;;;;;;;;;27701:16:0;;4445:42:9;;5076:29047:0;;27733:139;;5076:29047;;;:::i;:::-;27798:10;5076:29047;;;;;27778:80;;;5076:29047;27778:80;;;;5076:29047;27733:139;:::i;:::-;;27697:693;5076:29047;28400:44;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;28400:44;;;;;;5076:29047;28400:44;;;;;;;28460:46;28400:44;;;;;27697:693;5076:29047;;;;;;;;;28460:46;26634:1879::o;28400:44::-;;;;:::i;:::-;;;;;5076:29047;;;-1:-1:-1;5076:29047:0;;;;;27697:693;5076:29047;28178:39;5076:29047;;;28329:50;5076:29047;;27938:39;27991:139;27938:39;;;;;:::i;:::-;5076:29047;;;;;;;;:::i;:::-;28056:10;5076:29047;;28036:80;;5076:29047;28036:80;;;5076:29047;27991:139;;:::i;:::-;;28178:39;:::i;:::-;28329:50;:::i;:::-;27697:693;;;26879:808;5076:29047;;;;;;;;;;;;;;;;;;;;31880:4;5076:29047;;26983:27;;;;;:::i;:::-;27029:26;;;;;:::i;:::-;:37;27025:59;;-1:-1:-1;;;;;;;;;;;27103:16:0;;4445:42:9;;27139:94:0;5076:29047;27203:8;5076:29047;;;;;;;;:::i;:::-;27187:10;5076:29047;;27167:65;;;5076:29047;27167:65;;;;5076:29047;27139:94;;:::i;:::-;;27099:578;26879:808;;;;27099:578;5076:29047;27628:34;5076:29047;27346:94;5076:29047;27319:8;5076:29047;;27299:29;;;;:::i;:::-;5076:29047;;;;;;;:::i;:::-;27394:10;5076:29047;;27374:65;;;5076:29047;27374:65;;;5076:29047;27346:94;;:::i;:::-;;27484:29;5076:29047;27319:8;5076:29047;;27484:29;;:::i;27628:34::-;27099:578;;;27025:59;5076:29047;;-1:-1:-1;;;27075:9:0;;;;;5076:29047;-1:-1:-1;;;5076:29047:0;;;;;;;;29821:192;;5076:29047;-1:-1:-1;5076:29047:0;29934:5;5076:29047;;29926:45;5076:29047;29934:26;5076:29047;-1:-1:-1;5076:29047:0;29934:26;5076:29047;29926:45;:::i;:::-;:80;;;;;29919:87;;29821:192;:::o;29926:80::-;29449:43;5076:29047;;-1:-1:-1;5076:29047:0;29934:5;5076:29047;;29457:24;5076:29047;-1:-1:-1;5076:29047:0;29457:24;5076:29047;29449:43;:::i;30226:203::-;-1:-1:-1;;;;;5076:29047:0;30293:23;;30289:50;;30350:31;5076:29047;;-1:-1:-1;;;;;;5076:29047:0;;;;;;;;;;30396:26;;5076:29047;;30396:26;30226:203::o;30642:199::-;-1:-1:-1;;;;;5076:29047:0;30717:23;;30713:50;;30774:20;5076:29047;;-1:-1:-1;;;;;;5076:29047:0;;;;;;;;;;30809:25;;5076:29047;;30809:25;30642:199::o;31041:198::-;31126:4;31112:18;;31108:44;;5076:29047;;31203:29;5076:29047;31163:24;5076:29047;;;;;;31203:29;31041:198::o;31108:44::-;5076:29047;;-1:-1:-1;;;31139:13:0;;;;;31426:125;5076:29047;31521:23;31426:125;5076:29047;31487:18;5076:29047;;;;;;31521:23;31426:125::o;6019:500:10:-;6150:20;;;5076:29047:0;;-1:-1:-1;;;;;5076:29047:0;;;;-1:-1:-1;;;;;;;;;;;6184:16:10;4445:42:9;;6248:9:10;;;:18;6244:48;;6339:16;6357:6;6339:16;;5076:29047:0;;6357:6:10;:::i;:::-;5076:29047:0;6019:500:10;:::o;6244:48::-;6150:20;5076:29047:0;-1:-1:-1;;;6275:17:10;;;;;6180:312;7816:1228:15;-1:-1:-1;7816:1228:15;5076:29047:0;;;;6456:16:10;5076:29047:0;;;;6456:16:10;;5076:29047:0;;6150:20:10;7816:1228:15;;;;6150:20:10;7816:1228:15;5076:29047:0;;;;;7816:1228:15;;;;;;;;;;;;;;;;5076:29047:0;-1:-1:-1;7816:1228:15;;;;;;;-1:-1:-1;7816:1228:15;;6150:20:10;7816:1228:15;5076:29047:0;6019:500:10;:::o;7816:1228:15:-;;-1:-1:-1;7816:1228:15;;;;7224:263:10;-1:-1:-1;;;;;5076:29047:0;7224:263:10;5076:29047:0;;;-1:-1:-1;;;;;;;;;;;7325:16:10;4445:42:9;;5076:29047:0;;7364:25:10;7357:32;:::o;7321:160::-;18442:573:15;;;;;;;;;;5076:29047:0;18442:573:15;;-1:-1:-1;18442:573:15;;;;;;;;;;7420:50:10;:::o;5593:364:13:-;-1:-1:-1;;5691:260:13;;;;;5593:364::o;5691:260::-;;;;;;;2455:490:15;2570:369;2455:490;;;;;2570:369;;;;;2455:490::o;2570:369::-;;;;;;;3350:145:45;-1:-1:-1;5076:29047:0;3459:6:45;5076:29047:0;;;-1:-1:-1;5076:29047:0;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;5076:29047:0;;;3350:145:45;:::o;3789:103::-;-1:-1:-1;5076:29047:0;;;;;;3459:6:45;5076:29047:0;;;;;;;965:10:53;5076:29047:0;;;;;;;;;;4260:23:45;4256:412;;3789:103;;;;:::o;4256:412::-;965:10:53;5076:29047:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:54;;;5076:29047:0;;;;;;;;;;2066:15:54;5076:29047:0;;;2066:15:54;5076:29047:0;2124:5:54;;;;;;2236:10;311:18;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:54;;;5076:29047:0;;;;;;;;2066:15:54;5076:29047:0;;;2066:15:54;5076:29047:0;2091:128:54;2124:5;;;;;;2236:10;;;311:18;;5076:29047:0;;;;4351:274:45;5076:29047:0;;;;;;;4351:274:45;;;-1:-1:-1;;;4351:274:45;;;5076:29047:0;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;:::i;:::-;;4351:274:45;;;;;;;;;:::i;:::-;5076:29047:0;;;;;;;4299:358:45;;2207:1:54;4299:358:45;;5076:29047:0;;;;;;:::i;:::-;4299:358:45;;;311:18:54;;5076:29047:0;;;;;;;311:18:54;;;2207:1;311:18;;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;311:18:54;;2131:3;2171:11;;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;2207:1;5076:29047:0;2131:3:54;5076:29047:0;;;;-1:-1:-1;;5076:29047:0;;2096:26:54;;;5076:29047:0;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;2162:21:54;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;311:18:54;;5076:29047:0;;;;;;;311:18:54;;;2207:1;311:18;;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;311:18:54;;2131:3;2171:11;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;2207:1;5076:29047:0;2131:3:54;5076:29047:0;;;;-1:-1:-1;;5076:29047:0;2096:26:54;;5076:29047:0;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;2162:21:54;-1:-1:-1;;;5076:29047:0;;;2207:1:54;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;7938:233:45;;-1:-1:-1;5076:29047:0;;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;8020:23:45;8016:149;;7938:233;;;:::o;8016:149::-;5076:29047:0;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;8114:40:45;965:10:53;8114:40:45;;;7938:233::o;8342:234::-;;-1:-1:-1;5076:29047:0;;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;8421:149:45;;8342:234;;;:::o;8421:149::-;5076:29047:0;;;3459:6:45;5076:29047:0;;;;;;;;;;;;;;;;;;;;8519:40:45;965:10:53;8519:40:45;;;8342:234::o;2601:287:50:-;1851:1;2733:7;5076:29047:0;2733:19:50;1851:1;;;2733:7;5076:29047:0;2601:287:50:o;1851:1::-;5076:29047:0;;-1:-1:-1;;;1851:1:50;;;;;;;;;;;5076:29047:0;1851:1:50;5076:29047:0;;;1851:1:50;;;;5076:29047:0;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","cancelOwnershipHandover()":"54d1f13d","completeOwnershipHandover(address)":"f04e283e","createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"77da8caf","createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getRoleAdmin(bytes32)":"248a9ca3","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","owner()":"8da5cb5b","ownershipHandoverExpiresAt(address)":"fee81cf4","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","requestOwnershipHandover()":"25692962","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewOwnerIsZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoHandoverRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"recipientIds\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"completeOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"FEE_DENOMINATOR\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"result\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ownershipHandoverExpiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The contract must be initialized with the 'initialize()' function.\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}],\"NewOwnerIsZeroAddress()\":[{\"details\":\"The `newOwner` cannot be the zero address.\"}],\"NoHandoverRequest()\":[{\"details\":\"The `pendingOwner` does not have a valid handover request.\"}],\"Unauthorized()\":[{\"details\":\"The caller is not authorized to call the function.\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OwnershipHandoverCanceled(address)\":{\"details\":\"The ownership handover to `pendingOwner` has been canceled.\"},\"OwnershipHandoverRequested(address)\":{\"details\":\"An ownership handover to `pendingOwner` has been requested.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"The ownership is transferred from `oldOwner` to `newOwner`. This event is intentionally kept the same as OpenZeppelin's Ownable to be compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), despite it not being as lightweight as a single argument event.\"},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to add\",\"_poolId\":\"ID of the pool\"}},\"addToCloneableStrategies(address)\":{\"details\":\"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"allocate(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().\",\"params\":{\"_data\":\"Encoded data unique to the strategy for that pool\",\"_poolId\":\"ID of the pool\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.\",\"params\":{\"_datas\":\"encoded data unique to the strategy for that pool\",\"_poolIds\":\"IDs of the pools\"}},\"batchRegisterRecipient(uint256[],bytes[])\":{\"details\":\"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\",\"params\":{\"_data\":\"An array of encoded data unique to a strategy that registerRecipient() requires.\",\"_poolIds\":\"ID's of the pools\"},\"returns\":{\"recipientIds\":\"The recipient IDs that have been registered\"}},\"cancelOwnershipHandover()\":{\"details\":\"Cancels the two-step ownership handover to the caller, if any.\"},\"completeOwnershipHandover(address)\":{\"details\":\"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"custom:initstrategydata\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'\",\"details\":\"'msg.sender' must be owner or member of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool\",\"_metadata\":\"The metadata of the pool\",\"_profileId\":\"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the strategy contract the pool will use.\",\"_token\":\"The address of the token\"}},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"details\":\"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token you want to deposit into the pool on initialization\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool, and can be added/removed later by the pool admin\",\"_metadata\":\"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\",\"_profileId\":\"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the deployed custom strategy\",\"_token\":\"The address of the token you want to use in your pool\"},\"returns\":{\"poolId\":\"The ID of the pool\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.\",\"params\":{\"_data\":\"Encoded data unique to the strategy\",\"_poolId\":\"ID of the pool\",\"_recipientIds\":\"Ids of the recipients of the distribution\"}},\"fundPool(uint256,uint256)\":{\"details\":\"Anyone can fund a pool and call this function.\",\"params\":{\"_amount\":\"The amount to be deposited into the pool\",\"_poolId\":\"ID of the pool\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"The base fee\"}},\"getFeeDenominator()\":{\"returns\":{\"FEE_DENOMINATOR\":\"The fee denominator is (1e18) which represents 100%\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"The fee percentage (1e18 = 100%)\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The 'Pool' struct\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"The registry address\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The address of the strategy\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"The treasury address\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address,address,address,uint256,uint256)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer\",\"params\":{\"_baseFee\":\"The base fee\",\"_owner\":\"The owner of allo\",\"_percentFee\":\"The percentage fee\",\"_registry\":\"The address of the registry\",\"_treasury\":\"The address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy\"},\"returns\":{\"_0\":\"'true' if the strategy is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool manager, otherwise 'false'\"}},\"owner()\":{\"details\":\"Returns the owner of the contract.\"},\"ownershipHandoverExpiresAt(address)\":{\"details\":\"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.\"},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be Allo owner\",\"params\":{\"_recipient\":\"The recipient\",\"_token\":\"The token to transfer\"}},\"registerRecipient(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().\",\"params\":{\"_data\":\"Encoded data unique to a strategy that registerRecipient() requires\",\"_poolId\":\"ID of the pool\"},\"returns\":{\"_0\":\"recipientId The recipient ID that has been registered\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"removePoolManager(uint256,address)\":{\"details\":\"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to remove\",\"_poolId\":\"ID of the pool\"}},\"renounceOwnership()\":{\"details\":\"Allows the owner to renounce their ownership.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"requestOwnershipHandover()\":{\"details\":\"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the owner to transfer the ownership to `newOwner`.\"},\"updateBaseFee(uint256)\":{\"details\":\"Use this to update the base fee. 'msg.sender' must be Allo owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"Use this to update the fee percentage. 'msg.sender' must be Allo owner.\",\"params\":{\"_percentFee\":\"The new fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\",\"params\":{\"_metadata\":\"The new metadata of the pool\",\"_poolId\":\"ID of the pool\"}},\"updateRegistry(address)\":{\"details\":\"Use this to update the registry address. 'msg.sender' must be Allo owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"Use this to update the treasury address. 'msg.sender' must be Allo owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"stateVariables\":{\"_nonces\":{\"details\":\"'msg.sender' -> 'nonce' for cloning strategies\"},\"baseFee\":{\"details\":\"This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address.\"},\"cloneableStrategies\":{\"details\":\"Strategy.address -> bool\"},\"percentFee\":{\"details\":\"How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%\"},\"pools\":{\"details\":\"'Pool.id' -> 'Pool'\"}},\"title\":\"Allo\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"addPoolManager(uint256,address)\":{\"notice\":\"Add a pool manager\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Add a strategy to the allowlist.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocate to a recipient or multiple recipients.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocate to multiple pools\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Register multiple recipients to multiple pools.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (by cloning a cloneable strategies).\"},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (with a custom strategy)\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distribute to a recipient or multiple recipients.\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Fund a pool.\"},\"getBaseFee()\":{\"notice\":\"Getter for base fee.\"},\"getFeeDenominator()\":{\"notice\":\"Getter for the fee denominator\"},\"getPercentFee()\":{\"notice\":\"Getter for fee percentage.\"},\"getPool(uint256)\":{\"notice\":\"Getter for the 'Pool'.\"},\"getRegistry()\":{\"notice\":\"Getter for registry.\"},\"getStrategy(uint256)\":{\"notice\":\"Getter for the strategy.\"},\"getTreasury()\":{\"notice\":\"Getter for treasury address.\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isCloneableStrategy(address)\":{\"notice\":\"Getter for if strategy is cloneable.\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if the address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if the address is a pool manager\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfer the funds recovered to the recipient\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Passes _data through to the strategy for that pool.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Remove a strategy from the allowlist\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Remove a pool manager\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the fee percentage.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Update pool metadata\"},\"updateRegistry(address)\":{\"notice\":\"Updates the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"This contract is used to create & manage pools as well as manage the protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Allo.sol\":\"Allo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"NewOwnerIsZeroAddress"},{"inputs":[],"type":"error","name":"NoHandoverRequest"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverCanceled","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverRequested","anonymous":false},{"inputs":[{"internalType":"address","name":"oldOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"recipientIds","type":"address[]"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"cancelOwnershipHandover"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"completeOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"FEE_DENOMINATOR","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}]},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"view","type":"function","name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[],"stateMutability":"payable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[],"stateMutability":"payable","type":"function","name":"requestOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to add","_poolId":"ID of the pool"}},"addToCloneableStrategies(address)":{"details":"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"allocate(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().","params":{"_data":"Encoded data unique to the strategy for that pool","_poolId":"ID of the pool"}},"batchAllocate(uint256[],bytes[])":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.","params":{"_datas":"encoded data unique to the strategy for that pool","_poolIds":"IDs of the pools"}},"batchRegisterRecipient(uint256[],bytes[])":{"details":"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.","params":{"_data":"An array of encoded data unique to a strategy that registerRecipient() requires.","_poolIds":"ID's of the pools"},"returns":{"recipientIds":"The recipient IDs that have been registered"}},"cancelOwnershipHandover()":{"details":"Cancels the two-step ownership handover to the caller, if any."},"completeOwnershipHandover(address)":{"details":"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"custom:initstrategydata":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'","details":"'msg.sender' must be owner or member of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool","_metadata":"The metadata of the pool","_profileId":"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the strategy contract the pool will use.","_token":"The address of the token"}},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"details":"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token you want to deposit into the pool on initialization","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool, and can be added/removed later by the pool admin","_metadata":"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)","_profileId":"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the deployed custom strategy","_token":"The address of the token you want to use in your pool"},"returns":{"poolId":"The ID of the pool"}},"distribute(uint256,address[],bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.","params":{"_data":"Encoded data unique to the strategy","_poolId":"ID of the pool","_recipientIds":"Ids of the recipients of the distribution"}},"fundPool(uint256,uint256)":{"details":"Anyone can fund a pool and call this function.","params":{"_amount":"The amount to be deposited into the pool","_poolId":"ID of the pool"}},"getBaseFee()":{"returns":{"_0":"The base fee"}},"getFeeDenominator()":{"returns":{"FEE_DENOMINATOR":"The fee denominator is (1e18) which represents 100%"}},"getPercentFee()":{"returns":{"_0":"The fee percentage (1e18 = 100%)"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The 'Pool' struct"}},"getRegistry()":{"returns":{"_0":"The registry address"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The address of the strategy"}},"getTreasury()":{"returns":{"_0":"The treasury address"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address,address,address,uint256,uint256)":{"details":"During upgrade -> a higher version should be passed to reinitializer","params":{"_baseFee":"The base fee","_owner":"The owner of allo","_percentFee":"The percentage fee","_registry":"The address of the registry","_treasury":"The address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy"},"returns":{"_0":"'true' if the strategy is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool manager, otherwise 'false'"}},"owner()":{"details":"Returns the owner of the contract."},"ownershipHandoverExpiresAt(address)":{"details":"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`."},"recoverFunds(address,address)":{"details":"'msg.sender' must be Allo owner","params":{"_recipient":"The recipient","_token":"The token to transfer"}},"registerRecipient(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().","params":{"_data":"Encoded data unique to a strategy that registerRecipient() requires","_poolId":"ID of the pool"},"returns":{"_0":"recipientId The recipient ID that has been registered"}},"removeFromCloneableStrategies(address)":{"details":"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"removePoolManager(uint256,address)":{"details":"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to remove","_poolId":"ID of the pool"}},"renounceOwnership()":{"details":"Allows the owner to renounce their ownership."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"requestOwnershipHandover()":{"details":"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Allows the owner to transfer the ownership to `newOwner`."},"updateBaseFee(uint256)":{"details":"Use this to update the base fee. 'msg.sender' must be Allo owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"Use this to update the fee percentage. 'msg.sender' must be Allo owner.","params":{"_percentFee":"The new fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.","params":{"_metadata":"The new metadata of the pool","_poolId":"ID of the pool"}},"updateRegistry(address)":{"details":"Use this to update the registry address. 'msg.sender' must be Allo owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"Use this to update the treasury address. 'msg.sender' must be Allo owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"addPoolManager(uint256,address)":{"notice":"Add a pool manager"},"addToCloneableStrategies(address)":{"notice":"Add a strategy to the allowlist."},"allocate(uint256,bytes)":{"notice":"Allocate to a recipient or multiple recipients."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocate to multiple pools"},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Register multiple recipients to multiple pools."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (by cloning a cloneable strategies)."},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (with a custom strategy)"},"distribute(uint256,address[],bytes)":{"notice":"Distribute to a recipient or multiple recipients."},"fundPool(uint256,uint256)":{"notice":"Fund a pool."},"getBaseFee()":{"notice":"Getter for base fee."},"getFeeDenominator()":{"notice":"Getter for the fee denominator"},"getPercentFee()":{"notice":"Getter for fee percentage."},"getPool(uint256)":{"notice":"Getter for the 'Pool'."},"getRegistry()":{"notice":"Getter for registry."},"getStrategy(uint256)":{"notice":"Getter for the strategy."},"getTreasury()":{"notice":"Getter for treasury address."},"initialize(address,address,address,uint256,uint256)":{"notice":"Initializes the contract after an upgrade"},"isCloneableStrategy(address)":{"notice":"Getter for if strategy is cloneable."},"isPoolAdmin(uint256,address)":{"notice":"Checks if the address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if the address is a pool manager"},"recoverFunds(address,address)":{"notice":"Transfer the funds recovered to the recipient"},"registerRecipient(uint256,bytes)":{"notice":"Passes _data through to the strategy for that pool."},"removeFromCloneableStrategies(address)":{"notice":"Remove a strategy from the allowlist"},"removePoolManager(uint256,address)":{"notice":"Remove a pool manager"},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the fee percentage."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Update pool metadata"},"updateRegistry(address)":{"notice":"Updates the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Allo.sol":"Allo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":54050,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52470,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)"},{"astId":52777,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53248,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_status","offset":0,"slot":"151","type":"t_uint256"},{"astId":53317,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"152","type":"t_array(t_uint256)49_storage"},{"astId":34,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"percentFee","offset":0,"slot":"201","type":"t_uint256"},{"astId":37,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"baseFee","offset":0,"slot":"202","type":"t_uint256"},{"astId":40,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_poolIndex","offset":0,"slot":"203","type":"t_uint256"},{"astId":43,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"treasury","offset":0,"slot":"204","type":"t_address_payable"},{"astId":47,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"registry","offset":0,"slot":"205","type":"t_contract(IRegistry)2802"},{"astId":52,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_nonces","offset":0,"slot":"206","type":"t_mapping(t_address,t_uint256)"},{"astId":58,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pools","offset":0,"slot":"207","type":"t_mapping(t_uint256,t_struct(Pool)2319_storage)"},{"astId":63,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"cloneableStrategies","offset":0,"slot":"208","type":"t_mapping(t_address,t_bool)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(IStrategy)2969":{"encoding":"inplace","label":"contract IStrategy","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52465_storage"},"t_mapping(t_uint256,t_struct(Pool)2319_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct IAllo.Pool)","numberOfBytes":"32","value":"t_struct(Pool)2319_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Pool)2319_storage":{"encoding":"inplace","label":"struct IAllo.Pool","numberOfBytes":"224","members":[{"astId":2306,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"profileId","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2309,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"strategy","offset":0,"slot":"1","type":"t_contract(IStrategy)2969"},{"astId":2311,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"token","offset":0,"slot":"2","type":"t_address"},{"astId":2314,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2316,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"managerRole","offset":0,"slot":"5","type":"t_bytes32"},{"astId":2318,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"6","type":"t_bytes32"}]},"t_struct(RoleData)52465_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52462,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52464,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","id":1391,"exportedSymbols":{"AccessControlUpgradeable":[52778],"AddressUpgradeable":[53726],"Allo":[1390],"Clone":[3002],"ContextUpgradeable":[53777],"ERC165Upgradeable":[54051],"Errors":[3089],"IAccessControlUpgradeable":[52851],"IAllo":[2610],"IERC165Upgradeable":[54063],"IERC20Upgradeable":[53396],"IRegistry":[2802],"IStrategy":[2969],"Initializable":[53233],"MathUpgradeable":[54929],"Metadata":[3098],"Native":[3106],"Ownable":[4137],"ReentrancyGuardUpgradeable":[53318],"SignedMathUpgradeable":[55034],"StringsUpgradeable":[54006],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:34082:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"42:23:0","nodes":[],"literals":["solidity","0.8",".19"]},{"id":2,"nodeType":"ImportDirective","src":"89:37:0","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/auth/Ownable.sol","file":"solady/src/auth/Ownable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":4138,"symbolAliases":[],"unitAlias":""},{"id":3,"nodeType":"ImportDirective","src":"127:84:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53234,"symbolAliases":[],"unitAlias":""},{"id":4,"nodeType":"ImportDirective","src":"212:88:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53397,"symbolAliases":[],"unitAlias":""},{"id":5,"nodeType":"ImportDirective","src":"301:90:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52779,"symbolAliases":[],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"392:94:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53319,"symbolAliases":[],"unitAlias":""},{"id":7,"nodeType":"ImportDirective","src":"501:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"./interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":2611,"symbolAliases":[],"unitAlias":""},{"id":9,"nodeType":"ImportDirective","src":"557:44:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"./libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":8,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"565:5:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11,"nodeType":"ImportDirective","src":"602:46:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":10,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"610:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12,"nodeType":"ImportDirective","src":"649:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":14,"nodeType":"ImportDirective","src":"682:50:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3318,"symbolAliases":[{"foreign":{"id":13,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"690:8:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1390,"nodeType":"ContractDefinition","src":"5076:29047:0","nodes":[{"id":34,"nodeType":"VariableDeclaration","src":"5862:26:0","nodes":[],"constant":false,"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"5344:513:0","text":"@notice Percentage that is used to calculate the fee Allo takes from each pool when funded\n and is deducted when a pool is funded. So if you want to fund a round with 1000 DAI and the fee\n percentage is 1e17 (10%), then 100 DAI will be deducted from the 1000 DAI and the pool will be\n funded with 900 DAI. The fee is then sent to the treasury address.\n @dev How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%"},"mutability":"mutable","name":"percentFee","nameLocation":"5878:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33,"name":"uint256","nodeType":"ElementaryTypeName","src":"5862:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":37,"nodeType":"VariableDeclaration","src":"6339:24:0","nodes":[],"constant":false,"documentation":{"id":35,"nodeType":"StructuredDocumentation","src":"5895:439:0","text":"@notice Fee Allo charges for all pools on creation\n @dev This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool\n with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created\n with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address."},"mutability":"mutable","name":"baseFee","nameLocation":"6356:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"6339:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"6431:26:0","nodes":[],"constant":false,"documentation":{"id":38,"nodeType":"StructuredDocumentation","src":"6370:56:0","text":"@notice Incremental index to track the pools created"},"mutability":"mutable","name":"_poolIndex","nameLocation":"6447:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39,"name":"uint256","nodeType":"ElementaryTypeName","src":"6431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":43,"nodeType":"VariableDeclaration","src":"6494:32:0","nodes":[],"constant":false,"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"6464:25:0","text":"@notice Allo treasury"},"mutability":"mutable","name":"treasury","nameLocation":"6518:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":42,"name":"address","nodeType":"ElementaryTypeName","src":"6494:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"private"},{"id":47,"nodeType":"VariableDeclaration","src":"6567:26:0","nodes":[],"constant":false,"documentation":{"id":44,"nodeType":"StructuredDocumentation","src":"6533:29:0","text":"@notice Registry contract"},"mutability":"mutable","name":"registry","nameLocation":"6585:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":46,"nodeType":"UserDefinedTypeName","pathNode":{"id":45,"name":"IRegistry","nameLocations":["6567:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6567:9:0"},"referencedDeclaration":2802,"src":"6567:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"private"},{"id":52,"nodeType":"VariableDeclaration","src":"6733:43:0","nodes":[],"constant":false,"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"6600:128:0","text":"@notice Maps the `msg.sender` to a `nonce` to prevent duplicates\n @dev 'msg.sender' -> 'nonce' for cloning strategies"},"mutability":"mutable","name":"_nonces","nameLocation":"6769:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":51,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6733:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":58,"nodeType":"VariableDeclaration","src":"6869:38:0","nodes":[],"constant":false,"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"6783:81:0","text":"@notice Maps the pool ID to the pool details\n @dev 'Pool.id' -> 'Pool'"},"mutability":"mutable","name":"pools","nameLocation":"6902:5:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"typeName":{"id":57,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6869:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"Pool","nameLocations":["6888:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"6888:4:0"},"referencedDeclaration":2319,"src":"6888:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}}},"visibility":"private"},{"id":63,"nodeType":"VariableDeclaration","src":"7064:52:0","nodes":[],"constant":false,"documentation":{"id":59,"nodeType":"StructuredDocumentation","src":"6914:145:0","text":"@notice Returns a bool for whether a strategy is cloneable or not using the strategy address as the key\n @dev Strategy.address -> bool"},"mutability":"mutable","name":"cloneableStrategies","nameLocation":"7097:19:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":62,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"7072:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7064:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61,"name":"bool","nodeType":"ElementaryTypeName","src":"7083:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"id":101,"nodeType":"FunctionDefinition","src":"7626:593:0","nodes":[],"body":{"id":100,"nodeType":"Block","src":"7819:400:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":81,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66,"src":"7907:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80,"name":"_initializeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4022,"src":"7890:16:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83,"nodeType":"ExpressionStatement","src":"7890:24:0"},{"expression":{"arguments":[{"id":85,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"7984:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"7968:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87,"nodeType":"ExpressionStatement","src":"7968:26:0"},{"expression":{"arguments":[{"id":89,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"8064:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":88,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"8048:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8048:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91,"nodeType":"ExpressionStatement","src":"8048:26:0"},{"expression":{"arguments":[{"id":93,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"8137:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"8119:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95,"nodeType":"ExpressionStatement","src":"8119:30:0"},{"expression":{"arguments":[{"id":97,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"8203:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"8188:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"8188:24:0"}]},"baseFunctions":[2404],"documentation":{"id":64,"nodeType":"StructuredDocumentation","src":"7257:364:0","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer\n @param _owner The owner of allo\n @param _registry The address of the registry\n @param _treasury The address of the treasury\n @param _percentFee The percentage fee\n @param _baseFee The base fee"},"functionSelector":"a6b63eb8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":77,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":78,"kind":"modifierInvocation","modifierName":{"id":76,"name":"reinitializer","nameLocations":["7802:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53168,"src":"7802:13:0"},"nodeType":"ModifierInvocation","src":"7802:16:0"}],"name":"initialize","nameLocation":"7635:10:0","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66,"mutability":"mutable","name":"_owner","nameLocation":"7663:6:0","nodeType":"VariableDeclaration","scope":101,"src":"7655:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"7655:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"_registry","nameLocation":"7687:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7679:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67,"name":"address","nodeType":"ElementaryTypeName","src":"7679:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"_treasury","nameLocation":"7722:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7706:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"7706:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"_percentFee","nameLocation":"7749:11:0","nodeType":"VariableDeclaration","scope":101,"src":"7741:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"7741:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74,"mutability":"mutable","name":"_baseFee","nameLocation":"7778:8:0","nodeType":"VariableDeclaration","scope":101,"src":"7770:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73,"name":"uint256","nodeType":"ElementaryTypeName","src":"7770:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7645:147:0"},"returnParameters":{"id":79,"nodeType":"ParameterList","parameters":[],"src":"7819:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":112,"nodeType":"ModifierDefinition","src":"8573:100:0","nodes":[],"body":{"id":111,"nodeType":"Block","src":"8615:58:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":107,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"8647:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":106,"name":"_checkOnlyPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"8625:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8625:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"ExpressionStatement","src":"8625:30:0"},{"id":110,"nodeType":"PlaceholderStatement","src":"8665:1:0"}]},"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"8463:105:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool manager\n @param _poolId The pool id"},"name":"onlyPoolManager","nameLocation":"8582:15:0","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"_poolId","nameLocation":"8606:7:0","nodeType":"VariableDeclaration","scope":112,"src":"8598:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint256","nodeType":"ElementaryTypeName","src":"8598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8597:17:0"},"virtual":false,"visibility":"internal"},{"id":123,"nodeType":"ModifierDefinition","src":"8787:96:0","nodes":[],"body":{"id":122,"nodeType":"Block","src":"8827:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":118,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"8857:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":117,"name":"_checkOnlyPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8837:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8837:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":120,"nodeType":"ExpressionStatement","src":"8837:28:0"},{"id":121,"nodeType":"PlaceholderStatement","src":"8875:1:0"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"8679:103:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool admin\n @param _poolId The pool id"},"name":"onlyPoolAdmin","nameLocation":"8796:13:0","parameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"mutability":"mutable","name":"_poolId","nameLocation":"8818:7:0","nodeType":"VariableDeclaration","scope":123,"src":"8810:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":114,"name":"uint256","nodeType":"ElementaryTypeName","src":"8810:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8809:17:0"},"virtual":false,"visibility":"internal"},{"id":175,"nodeType":"FunctionDefinition","src":"10281:884:0","nodes":[],"body":{"id":174,"nodeType":"Block","src":"10582:583:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":145,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10687:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10708:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10700:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":146,"name":"address","nodeType":"ElementaryTypeName","src":"10700:7:0","typeDescriptions":{}}},"id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10700:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10687:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":154,"nodeType":"IfStatement","src":"10683:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":151,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10719:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"RevertStatement","src":"10712:21:0"}},{"condition":{"arguments":[{"id":156,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10919:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":155,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10898:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10898:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":161,"nodeType":"IfStatement","src":"10894:66:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":158,"name":"IS_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3038,"src":"10938:20:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10938:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":160,"nodeType":"RevertStatement","src":"10931:29:0"}},{"expression":{"arguments":[{"id":163,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"11067:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":165,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"11089:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":164,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"11079:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":167,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"11101:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":168,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"11120:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":169,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"11128:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":170,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"11137:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":171,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"11148:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":162,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"11055:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11055:103:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":144,"id":173,"nodeType":"Return","src":"11048:110:0"}]},"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"9025:1251:0","text":"@notice Creates a new pool (with a custom strategy)\n @dev 'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data\n will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy\n address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must\n be a member or owner of the profile id passed as '_profileId'.\n @param _profileId The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the deployed custom strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token you want to use in your pool\n @param _amount The amount of the token you want to deposit into the pool on initialization\n @param _metadata The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\n @param _managers The managers of the pool, and can be added/removed later by the pool admin\n @return poolId The ID of the pool"},"functionSelector":"e1007d4a","implemented":true,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"10290:28:0","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"_profileId","nameLocation":"10336:10:0","nodeType":"VariableDeclaration","scope":175,"src":"10328:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10328:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"_strategy","nameLocation":"10364:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10356:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"10356:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"_initStrategyData","nameLocation":"10396:17:0","nodeType":"VariableDeclaration","scope":175,"src":"10383:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":129,"name":"bytes","nodeType":"ElementaryTypeName","src":"10383:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":132,"mutability":"mutable","name":"_token","nameLocation":"10431:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10423:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"10423:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"_amount","nameLocation":"10455:7:0","nodeType":"VariableDeclaration","scope":175,"src":"10447:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"10447:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"_metadata","nameLocation":"10488:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10472:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":136,"nodeType":"UserDefinedTypeName","pathNode":{"id":135,"name":"Metadata","nameLocations":["10472:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10472:8:0"},"referencedDeclaration":3098,"src":"10472:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"_managers","nameLocation":"10524:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10507:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"10507:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":139,"nodeType":"ArrayTypeName","src":"10507:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10318:221:0"},"returnParameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"mutability":"mutable","name":"poolId","nameLocation":"10574:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10566:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint256","nodeType":"ElementaryTypeName","src":"10566:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10565:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":229,"nodeType":"FunctionDefinition","src":"11971:701:0","nodes":[],"body":{"id":228,"nodeType":"Block","src":"12267:405:0","nodes":[],"statements":[{"condition":{"id":202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12281:32:0","subExpression":{"arguments":[{"id":200,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12303:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":199,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"12282:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":207,"nodeType":"IfStatement","src":"12277:93:0","trueBody":{"id":206,"nodeType":"Block","src":"12315:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":203,"name":"NOT_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3035,"src":"12336:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":205,"nodeType":"RevertStatement","src":"12329:30:0"}]}},{"expression":{"arguments":[{"id":209,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"12451:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":213,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12503:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12514:21:0","subExpression":{"baseExpression":{"id":214,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"12514:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":217,"indexExpression":{"expression":{"id":215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12522:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12526:6:0","memberName":"sender","nodeType":"MemberAccess","src":"12522:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12514:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":211,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"12485:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12491:11:0","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"12485:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":210,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"12475:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12475:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":221,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"12551:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":222,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"12582:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":223,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"12602:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":224,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"12623:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":225,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"12646:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":208,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"12426:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12426:239:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":198,"id":227,"nodeType":"Return","src":"12419:246:0"}]},"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"11171:795:0","text":"@notice Creates a new pool (by cloning a cloneable strategies).\n @dev 'msg.sender' must be owner or member of the profile id passed as '_profileId'.\n @param _profileId The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the strategy contract the pool will use.\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token\n @param _amount The amount of the token\n @param _metadata The metadata of the pool\n @param _managers The managers of the pool\n @custom:initstrategydata The encoded data will be specific to a given strategy requirements,\n reference the strategy implementation of 'initialize()'"},"functionSelector":"77da8caf","implemented":true,"kind":"function","modifiers":[{"id":195,"kind":"modifierInvocation","modifierName":{"id":194,"name":"nonReentrant","nameLocations":["12229:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"12229:12:0"},"nodeType":"ModifierInvocation","src":"12229:12:0"}],"name":"createPool","nameLocation":"11980:10:0","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"_profileId","nameLocation":"12008:10:0","nodeType":"VariableDeclaration","scope":229,"src":"12000:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12000:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"_strategy","nameLocation":"12036:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12028:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"12028:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":182,"mutability":"mutable","name":"_initStrategyData","nameLocation":"12068:17:0","nodeType":"VariableDeclaration","scope":229,"src":"12055:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":181,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":184,"mutability":"mutable","name":"_token","nameLocation":"12103:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12095:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"_amount","nameLocation":"12127:7:0","nodeType":"VariableDeclaration","scope":229,"src":"12119:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"12119:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":189,"mutability":"mutable","name":"_metadata","nameLocation":"12160:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12144:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":188,"nodeType":"UserDefinedTypeName","pathNode":{"id":187,"name":"Metadata","nameLocations":["12144:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12144:8:0"},"referencedDeclaration":3098,"src":"12144:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":192,"mutability":"mutable","name":"_managers","nameLocation":"12196:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12179:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":190,"name":"address","nodeType":"ElementaryTypeName","src":"12179:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":191,"nodeType":"ArrayTypeName","src":"12179:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11990:221:0"},"returnParameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"mutability":"mutable","name":"poolId","nameLocation":"12259:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12251:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":196,"name":"uint256","nodeType":"ElementaryTypeName","src":"12251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12250:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":260,"nodeType":"FunctionDefinition","src":"12894:247:0","nodes":[],"body":{"id":259,"nodeType":"Block","src":"13000:141:0","nodes":[],"statements":[{"assignments":[243],"declarations":[{"constant":false,"id":243,"mutability":"mutable","name":"pool","nameLocation":"13023:4:0","nodeType":"VariableDeclaration","scope":259,"src":"13010:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":242,"nodeType":"UserDefinedTypeName","pathNode":{"id":241,"name":"Pool","nameLocations":["13010:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13010:4:0"},"referencedDeclaration":2319,"src":"13010:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":247,"initialValue":{"baseExpression":{"id":244,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"13030:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":246,"indexExpression":{"id":245,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13036:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13030:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13010:34:0"},{"expression":{"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":248,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"13054:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13059:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2314,"src":"13054:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":251,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13070:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"13054:25:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":253,"nodeType":"ExpressionStatement","src":"13054:25:0"},{"eventCall":{"arguments":[{"id":255,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13115:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":256,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13124:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":254,"name":"PoolMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"13095:19:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,struct Metadata memory)"}},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13095:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":258,"nodeType":"EmitStatement","src":"13090:44:0"}]},"baseFunctions":[2413],"documentation":{"id":230,"nodeType":"StructuredDocumentation","src":"12678:211:0","text":"@notice Update pool metadata\n @dev 'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\n @param _poolId ID of the pool\n @param _metadata The new metadata of the pool"},"functionSelector":"5f9ca138","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":238,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"12991:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":239,"kind":"modifierInvocation","modifierName":{"id":237,"name":"onlyPoolManager","nameLocations":["12975:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"12975:15:0"},"nodeType":"ModifierInvocation","src":"12975:24:0"}],"name":"updatePoolMetadata","nameLocation":"12903:18:0","parameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"mutability":"mutable","name":"_poolId","nameLocation":"12930:7:0","nodeType":"VariableDeclaration","scope":260,"src":"12922:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":231,"name":"uint256","nodeType":"ElementaryTypeName","src":"12922:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"_metadata","nameLocation":"12955:9:0","nodeType":"VariableDeclaration","scope":260,"src":"12939:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":234,"nodeType":"UserDefinedTypeName","pathNode":{"id":233,"name":"Metadata","nameLocations":["12939:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12939:8:0"},"referencedDeclaration":3098,"src":"12939:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12921:44:0"},"returnParameters":{"id":240,"nodeType":"ParameterList","parameters":[],"src":"13000:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":273,"nodeType":"FunctionDefinition","src":"13330:105:0","nodes":[],"body":{"id":272,"nodeType":"Block","src":"13392:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":269,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":263,"src":"13418:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":268,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"13402:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13402:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":271,"nodeType":"ExpressionStatement","src":"13402:26:0"}]},"baseFunctions":[2419],"documentation":{"id":261,"nodeType":"StructuredDocumentation","src":"13147:178:0","text":"@notice Updates the registry address.\n @dev Use this to update the registry address. 'msg.sender' must be Allo owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":true,"kind":"function","modifiers":[{"id":266,"kind":"modifierInvocation","modifierName":{"id":265,"name":"onlyOwner","nameLocations":["13382:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"13382:9:0"},"nodeType":"ModifierInvocation","src":"13382:9:0"}],"name":"updateRegistry","nameLocation":"13339:14:0","parameters":{"id":264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":263,"mutability":"mutable","name":"_registry","nameLocation":"13362:9:0","nodeType":"VariableDeclaration","scope":273,"src":"13354:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":262,"name":"address","nodeType":"ElementaryTypeName","src":"13354:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13353:19:0"},"returnParameters":{"id":267,"nodeType":"ParameterList","parameters":[],"src":"13392:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":286,"nodeType":"FunctionDefinition","src":"13624:113:0","nodes":[],"body":{"id":285,"nodeType":"Block","src":"13694:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":282,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"13720:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":281,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"13704:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13704:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":284,"nodeType":"ExpressionStatement","src":"13704:26:0"}]},"baseFunctions":[2425],"documentation":{"id":274,"nodeType":"StructuredDocumentation","src":"13441:178:0","text":"@notice Updates the treasury address.\n @dev Use this to update the treasury address. 'msg.sender' must be Allo owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":true,"kind":"function","modifiers":[{"id":279,"kind":"modifierInvocation","modifierName":{"id":278,"name":"onlyOwner","nameLocations":["13684:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"13684:9:0"},"nodeType":"ModifierInvocation","src":"13684:9:0"}],"name":"updateTreasury","nameLocation":"13633:14:0","parameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"_treasury","nameLocation":"13664:9:0","nodeType":"VariableDeclaration","scope":286,"src":"13648:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"13648:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"13647:27:0"},"returnParameters":{"id":280,"nodeType":"ParameterList","parameters":[],"src":"13694:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":299,"nodeType":"FunctionDefinition","src":"13911:113:0","nodes":[],"body":{"id":298,"nodeType":"Block","src":"13977:47:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":295,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"14005:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":294,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"13987:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13987:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":297,"nodeType":"ExpressionStatement","src":"13987:30:0"}]},"baseFunctions":[2431],"documentation":{"id":287,"nodeType":"StructuredDocumentation","src":"13743:163:0","text":"@notice Updates the fee percentage.\n @dev Use this to update the fee percentage. 'msg.sender' must be Allo owner.\n @param _percentFee The new fee"},"functionSelector":"f54fc4a0","implemented":true,"kind":"function","modifiers":[{"id":292,"kind":"modifierInvocation","modifierName":{"id":291,"name":"onlyOwner","nameLocations":["13967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"13967:9:0"},"nodeType":"ModifierInvocation","src":"13967:9:0"}],"name":"updatePercentFee","nameLocation":"13920:16:0","parameters":{"id":290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":289,"mutability":"mutable","name":"_percentFee","nameLocation":"13945:11:0","nodeType":"VariableDeclaration","scope":299,"src":"13937:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":288,"name":"uint256","nodeType":"ElementaryTypeName","src":"13937:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13936:21:0"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"13977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":312,"nodeType":"FunctionDefinition","src":"14188:101:0","nodes":[],"body":{"id":311,"nodeType":"Block","src":"14248:41:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":308,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"14273:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":307,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"14258:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14258:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"14258:24:0"}]},"baseFunctions":[2437],"documentation":{"id":300,"nodeType":"StructuredDocumentation","src":"14030:153:0","text":"@notice Updates the base fee.\n @dev Use this to update the base fee. 'msg.sender' must be Allo owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":true,"kind":"function","modifiers":[{"id":305,"kind":"modifierInvocation","modifierName":{"id":304,"name":"onlyOwner","nameLocations":["14238:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"14238:9:0"},"nodeType":"ModifierInvocation","src":"14238:9:0"}],"name":"updateBaseFee","nameLocation":"14197:13:0","parameters":{"id":303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"_baseFee","nameLocation":"14219:8:0","nodeType":"VariableDeclaration","scope":312,"src":"14211:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":301,"name":"uint256","nodeType":"ElementaryTypeName","src":"14211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14210:18:0"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"14248:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":341,"nodeType":"FunctionDefinition","src":"14481:229:0","nodes":[],"body":{"id":340,"nodeType":"Block","src":"14553:157:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14567:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"14580:7:0","typeDescriptions":{}}},"id":324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14567:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":329,"nodeType":"IfStatement","src":"14563:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":326,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"14599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":328,"nodeType":"RevertStatement","src":"14592:21:0"}},{"expression":{"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":330,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"14624:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":332,"indexExpression":{"id":331,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14644:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14624:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14657:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14624:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":335,"nodeType":"ExpressionStatement","src":"14624:37:0"},{"eventCall":{"arguments":[{"id":337,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14693:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":336,"name":"StrategyApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"14676:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14676:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"EmitStatement","src":"14671:32:0"}]},"baseFunctions":[2443],"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"14295:181:0","text":"@notice Add a strategy to the allowlist.\n @dev Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"41bba0b4","implemented":true,"kind":"function","modifiers":[{"id":318,"kind":"modifierInvocation","modifierName":{"id":317,"name":"onlyOwner","nameLocations":["14543:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"14543:9:0"},"nodeType":"ModifierInvocation","src":"14543:9:0"}],"name":"addToCloneableStrategies","nameLocation":"14490:24:0","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"_strategy","nameLocation":"14523:9:0","nodeType":"VariableDeclaration","scope":341,"src":"14515:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"14515:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14514:19:0"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"14553:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":360,"nodeType":"FunctionDefinition","src":"14900:288:0","nodes":[],"body":{"id":359,"nodeType":"Block","src":"14977:211:0","nodes":[],"statements":[{"expression":{"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":349,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"15059:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":351,"indexExpression":{"id":350,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15079:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15059:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15092:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15059:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":354,"nodeType":"ExpressionStatement","src":"15059:38:0"},{"eventCall":{"arguments":[{"id":356,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15171:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":355,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"15155:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"15150:31:0"}]},"baseFunctions":[2449],"documentation":{"id":342,"nodeType":"StructuredDocumentation","src":"14716:179:0","text":"@notice Remove a strategy from the allowlist\n @dev Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"031e2fa1","implemented":true,"kind":"function","modifiers":[{"id":347,"kind":"modifierInvocation","modifierName":{"id":346,"name":"onlyOwner","nameLocations":["14967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"14967:9:0"},"nodeType":"ModifierInvocation","src":"14967:9:0"}],"name":"removeFromCloneableStrategies","nameLocation":"14909:29:0","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"mutability":"mutable","name":"_strategy","nameLocation":"14947:9:0","nodeType":"VariableDeclaration","scope":360,"src":"14939:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":343,"name":"address","nodeType":"ElementaryTypeName","src":"14939:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14938:19:0"},"returnParameters":{"id":348,"nodeType":"ParameterList","parameters":[],"src":"14977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":390,"nodeType":"FunctionDefinition","src":"15387:358:0","nodes":[],"body":{"id":389,"nodeType":"Block","src":"15478:267:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":371,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15568:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"15580:7:0","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15568:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":380,"nodeType":"IfStatement","src":"15564:49:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":377,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"15599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"RevertStatement","src":"15592:21:0"}},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":382,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"15701:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":384,"indexExpression":{"id":383,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15707:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15701:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15716:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"15701:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":386,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":381,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"15690:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15690:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":388,"nodeType":"ExpressionStatement","src":"15690:48:0"}]},"baseFunctions":[2457],"documentation":{"id":361,"nodeType":"StructuredDocumentation","src":"15194:188:0","text":"@notice Add a pool manager\n @dev Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to add"},"functionSelector":"2cf682b0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":368,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15469:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":369,"kind":"modifierInvocation","modifierName":{"id":367,"name":"onlyPoolAdmin","nameLocations":["15455:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"15455:13:0"},"nodeType":"ModifierInvocation","src":"15455:22:0"}],"name":"addPoolManager","nameLocation":"15396:14:0","parameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"mutability":"mutable","name":"_poolId","nameLocation":"15419:7:0","nodeType":"VariableDeclaration","scope":390,"src":"15411:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":362,"name":"uint256","nodeType":"ElementaryTypeName","src":"15411:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":365,"mutability":"mutable","name":"_manager","nameLocation":"15436:8:0","nodeType":"VariableDeclaration","scope":390,"src":"15428:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"15428:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15410:35:0"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[],"src":"15478:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":410,"nodeType":"FunctionDefinition","src":"15950:160:0","nodes":[],"body":{"id":409,"nodeType":"Block","src":"16044:66:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":402,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"16066:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":404,"indexExpression":{"id":403,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16072:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16081:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"16066:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":406,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":395,"src":"16094:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":401,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52772,"src":"16054:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":408,"nodeType":"ExpressionStatement","src":"16054:49:0"}]},"baseFunctions":[2465],"documentation":{"id":391,"nodeType":"StructuredDocumentation","src":"15751:194:0","text":"@notice Remove a pool manager\n @dev Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to remove"},"functionSelector":"7f5a70bd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":398,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16035:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":399,"kind":"modifierInvocation","modifierName":{"id":397,"name":"onlyPoolAdmin","nameLocations":["16021:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"16021:13:0"},"nodeType":"ModifierInvocation","src":"16021:22:0"}],"name":"removePoolManager","nameLocation":"15959:17:0","parameters":{"id":396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":393,"mutability":"mutable","name":"_poolId","nameLocation":"15985:7:0","nodeType":"VariableDeclaration","scope":410,"src":"15977:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"15977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":395,"mutability":"mutable","name":"_manager","nameLocation":"16002:8:0","nodeType":"VariableDeclaration","scope":410,"src":"15994:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":394,"name":"address","nodeType":"ElementaryTypeName","src":"15994:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15976:35:0"},"returnParameters":{"id":400,"nodeType":"ParameterList","parameters":[],"src":"16044:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":448,"nodeType":"FunctionDefinition","src":"16308:430:0","nodes":[],"body":{"id":447,"nodeType":"Block","src":"16385:353:0","nodes":[],"statements":[{"assignments":[421],"declarations":[{"constant":false,"id":421,"mutability":"mutable","name":"amount","nameLocation":"16514:6:0","nodeType":"VariableDeclaration","scope":447,"src":"16506:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":420,"name":"uint256","nodeType":"ElementaryTypeName","src":"16506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":440,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16523:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":423,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16533:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16523:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":436,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16610:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16602:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"16602:7:0","typeDescriptions":{}}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":431,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16584:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":430,"name":"IERC20Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53396,"src":"16566:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Upgradeable_$53396_$","typeString":"type(contract IERC20Upgradeable)"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Upgradeable_$53396","typeString":"contract IERC20Upgradeable"}},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16592:9:0","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":53353,"src":"16566:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16523:93:0","trueExpression":{"expression":{"arguments":[{"id":427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16550:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16542:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":425,"name":"address","nodeType":"ElementaryTypeName","src":"16542:7:0","typeDescriptions":{}}},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16542:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16556:7:0","memberName":"balance","nodeType":"MemberAccess","src":"16542:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16506:110:0"},{"expression":{"arguments":[{"id":442,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16704:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":443,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"16712:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"16724:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"16688:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16688:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"ExpressionStatement","src":"16688:43:0"}]},"baseFunctions":[2473],"documentation":{"id":411,"nodeType":"StructuredDocumentation","src":"16116:187:0","text":"@notice Transfer the funds recovered to the recipient\n @dev 'msg.sender' must be Allo owner\n @param _token The token to transfer\n @param _recipient The recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"id":418,"kind":"modifierInvocation","modifierName":{"id":417,"name":"onlyOwner","nameLocations":["16375:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4136,"src":"16375:9:0"},"nodeType":"ModifierInvocation","src":"16375:9:0"}],"name":"recoverFunds","nameLocation":"16317:12:0","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"mutability":"mutable","name":"_token","nameLocation":"16338:6:0","nodeType":"VariableDeclaration","scope":448,"src":"16330:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":412,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":415,"mutability":"mutable","name":"_recipient","nameLocation":"16354:10:0","nodeType":"VariableDeclaration","scope":448,"src":"16346:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":414,"name":"address","nodeType":"ElementaryTypeName","src":"16346:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16329:36:0"},"returnParameters":{"id":419,"nodeType":"ParameterList","parameters":[],"src":"16385:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":474,"nodeType":"FunctionDefinition","src":"17298:276:0","nodes":[],"body":{"id":473,"nodeType":"Block","src":"17410:164:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":468,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"17549:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":469,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17556:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17560:6:0","memberName":"sender","nodeType":"MemberAccess","src":"17556:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":460,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"17489:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":462,"indexExpression":{"id":461,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"17495:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17489:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17504:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17489:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17513:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"17489:41:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17538:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17542:5:0","memberName":"value","nodeType":"MemberAccess","src":"17538:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"17489:59:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$value","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":459,"id":472,"nodeType":"Return","src":"17482:85:0"}]},"baseFunctions":[2483],"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"16877:416:0","text":"@notice Passes _data through to the strategy for that pool.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of registerRecipient().\n @param _poolId ID of the pool\n @param _data Encoded data unique to a strategy that registerRecipient() requires\n @return recipientId The recipient ID that has been registered"},"functionSelector":"075c0e9c","implemented":true,"kind":"function","modifiers":[{"id":456,"kind":"modifierInvocation","modifierName":{"id":455,"name":"nonReentrant","nameLocations":["17379:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"17379:12:0"},"nodeType":"ModifierInvocation","src":"17379:12:0"}],"name":"registerRecipient","nameLocation":"17307:17:0","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"_poolId","nameLocation":"17333:7:0","nodeType":"VariableDeclaration","scope":474,"src":"17325:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17325:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"_data","nameLocation":"17355:5:0","nodeType":"VariableDeclaration","scope":474,"src":"17342:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":452,"name":"bytes","nodeType":"ElementaryTypeName","src":"17342:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17324:37:0"},"returnParameters":{"id":459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":474,"src":"17401:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":457,"name":"address","nodeType":"ElementaryTypeName","src":"17401:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17400:9:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":543,"nodeType":"FunctionDefinition","src":"18212:747:0","nodes":[],"body":{"id":542,"nodeType":"Block","src":"18383:576:0","nodes":[],"statements":[{"assignments":[490],"declarations":[{"constant":false,"id":490,"mutability":"mutable","name":"poolIdLength","nameLocation":"18401:12:0","nodeType":"VariableDeclaration","scope":542,"src":"18393:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":489,"name":"uint256","nodeType":"ElementaryTypeName","src":"18393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":493,"initialValue":{"expression":{"id":491,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18416:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18425:6:0","memberName":"length","nodeType":"MemberAccess","src":"18416:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18393:38:0"},{"expression":{"id":500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":494,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18441:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":498,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18470:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18456:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"18460:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":496,"nodeType":"ArrayTypeName","src":"18460:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18456:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"18441:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":501,"nodeType":"ExpressionStatement","src":"18441:42:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":502,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18498:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":503,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18514:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18520:6:0","memberName":"length","nodeType":"MemberAccess","src":"18514:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18498:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":509,"nodeType":"IfStatement","src":"18494:51:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":506,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"18535:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18535:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"RevertStatement","src":"18528:17:0"}},{"body":{"id":538,"nodeType":"Block","src":"18693:169:0","statements":[{"expression":{"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":516,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18707:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":518,"indexExpression":{"id":517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18720:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18707:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":526,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18771:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":528,"indexExpression":{"id":527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18777:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18771:8:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18781:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18785:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18781:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":519,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"18725:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":523,"indexExpression":{"baseExpression":{"id":520,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18731:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":522,"indexExpression":{"id":521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18740:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18731:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18725:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18744:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18725:27:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18753:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"18725:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18725:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18707:85:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":533,"nodeType":"ExpressionStatement","src":"18707:85:0"},{"id":537,"nodeType":"UncheckedBlock","src":"18806:46:0","statements":[{"expression":{"id":535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18834:3:0","subExpression":{"id":534,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18836:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":536,"nodeType":"ExpressionStatement","src":"18834:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":513,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18674:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":514,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18678:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18674:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":539,"initializationExpression":{"assignments":[511],"declarations":[{"constant":false,"id":511,"mutability":"mutable","name":"i","nameLocation":"18671:1:0","nodeType":"VariableDeclaration","scope":539,"src":"18663:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18663:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":512,"nodeType":"VariableDeclarationStatement","src":"18663:9:0"},"nodeType":"ForStatement","src":"18658:204:0"},{"expression":{"id":540,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18940:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":488,"id":541,"nodeType":"Return","src":"18933:19:0"}]},"baseFunctions":[2496],"documentation":{"id":475,"nodeType":"StructuredDocumentation","src":"17580:627:0","text":"@notice Register multiple recipients to multiple pools.\n @dev Returns the 'recipientIds' from the strategy that have been registered from calling this function.\n Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match\n '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\n @param _poolIds ID's of the pools\n @param _data An array of encoded data unique to a strategy that registerRecipient() requires.\n @return recipientIds The recipient IDs that have been registered"},"functionSelector":"1a20bd88","implemented":true,"kind":"function","modifiers":[{"id":484,"kind":"modifierInvocation","modifierName":{"id":483,"name":"nonReentrant","nameLocations":["18318:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"18318:12:0"},"nodeType":"ModifierInvocation","src":"18318:12:0"}],"name":"batchRegisterRecipient","nameLocation":"18221:22:0","parameters":{"id":482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"_poolIds","nameLocation":"18261:8:0","nodeType":"VariableDeclaration","scope":543,"src":"18244:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":476,"name":"uint256","nodeType":"ElementaryTypeName","src":"18244:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":477,"nodeType":"ArrayTypeName","src":"18244:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"_data","nameLocation":"18286:5:0","nodeType":"VariableDeclaration","scope":543,"src":"18271:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":479,"name":"bytes","nodeType":"ElementaryTypeName","src":"18271:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":480,"nodeType":"ArrayTypeName","src":"18271:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18243:49:0"},"returnParameters":{"id":488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":487,"mutability":"mutable","name":"recipientIds","nameLocation":"18365:12:0","nodeType":"VariableDeclaration","scope":543,"src":"18348:29:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":485,"name":"address","nodeType":"ElementaryTypeName","src":"18348:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":486,"nodeType":"ArrayTypeName","src":"18348:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18347:31:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":588,"nodeType":"FunctionDefinition","src":"19156:439:0","nodes":[],"body":{"id":587,"nodeType":"Block","src":"19238:357:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":553,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19318:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19318:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":559,"nodeType":"IfStatement","src":"19314:43:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":556,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19339:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19339:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"RevertStatement","src":"19332:25:0"}},{"assignments":[562],"declarations":[{"constant":false,"id":562,"mutability":"mutable","name":"pool","nameLocation":"19380:4:0","nodeType":"VariableDeclaration","scope":587,"src":"19368:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":561,"nodeType":"UserDefinedTypeName","pathNode":{"id":560,"name":"Pool","nameLocations":["19368:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"19368:4:0"},"referencedDeclaration":2319,"src":"19368:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":566,"initialValue":{"baseExpression":{"id":563,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"19387:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":565,"indexExpression":{"id":564,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19387:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19368:33:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":567,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19415:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19420:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"19415:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":569,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"19429:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19415:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":571,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19439:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":572,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19450:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19454:5:0","memberName":"value","nodeType":"MemberAccess","src":"19450:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19439:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19415:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":579,"nodeType":"IfStatement","src":"19411:75:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":576,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19468:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19468:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":578,"nodeType":"RevertStatement","src":"19461:25:0"}},{"expression":{"arguments":[{"id":581,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19556:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":582,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":583,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19574:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19579:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19574:13:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":580,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"19546:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19546:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"19546:42:0"}]},"baseFunctions":[2504],"documentation":{"id":544,"nodeType":"StructuredDocumentation","src":"18965:186:0","text":"@notice Fund a pool.\n @dev Anyone can fund a pool and call this function.\n @param _poolId ID of the pool\n @param _amount The amount to be deposited into the pool"},"functionSelector":"5acd6fac","implemented":true,"kind":"function","modifiers":[{"id":551,"kind":"modifierInvocation","modifierName":{"id":550,"name":"nonReentrant","nameLocations":["19225:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"19225:12:0"},"nodeType":"ModifierInvocation","src":"19225:12:0"}],"name":"fundPool","nameLocation":"19165:8:0","parameters":{"id":549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":546,"mutability":"mutable","name":"_poolId","nameLocation":"19182:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19174:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"19174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"_amount","nameLocation":"19199:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19191:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"19191:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19173:34:0"},"returnParameters":{"id":552,"nodeType":"ParameterList","parameters":[],"src":"19238:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":604,"nodeType":"FunctionDefinition","src":"19921:127:0","nodes":[],"body":{"id":603,"nodeType":"Block","src":"20006:42:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":599,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"src":"20026:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"20035:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":598,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20016:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20016:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"20016:25:0"}]},"baseFunctions":[2512],"documentation":{"id":589,"nodeType":"StructuredDocumentation","src":"19601:315:0","text":"@notice Allocate to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate().\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"functionSelector":"2ec38188","implemented":true,"kind":"function","modifiers":[{"id":596,"kind":"modifierInvocation","modifierName":{"id":595,"name":"nonReentrant","nameLocations":["19993:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"19993:12:0"},"nodeType":"ModifierInvocation","src":"19993:12:0"}],"name":"allocate","nameLocation":"19930:8:0","parameters":{"id":594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":591,"mutability":"mutable","name":"_poolId","nameLocation":"19947:7:0","nodeType":"VariableDeclaration","scope":604,"src":"19939:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":590,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":593,"mutability":"mutable","name":"_data","nameLocation":"19969:5:0","nodeType":"VariableDeclaration","scope":604,"src":"19956:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":592,"name":"bytes","nodeType":"ElementaryTypeName","src":"19956:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19938:37:0"},"returnParameters":{"id":597,"nodeType":"ParameterList","parameters":[],"src":"20006:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":651,"nodeType":"FunctionDefinition","src":"20511:559:0","nodes":[],"body":{"id":650,"nodeType":"Block","src":"20608:462:0","nodes":[],"statements":[{"assignments":[617],"declarations":[{"constant":false,"id":617,"mutability":"mutable","name":"numPools","nameLocation":"20626:8:0","nodeType":"VariableDeclaration","scope":650,"src":"20618:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":616,"name":"uint256","nodeType":"ElementaryTypeName","src":"20618:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":620,"initialValue":{"expression":{"id":618,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20637:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20646:6:0","memberName":"length","nodeType":"MemberAccess","src":"20637:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20618:34:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":621,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20772:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":622,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20784:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20791:6:0","memberName":"length","nodeType":"MemberAccess","src":"20784:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20772:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":628,"nodeType":"IfStatement","src":"20768:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"20806:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20806:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"20799:17:0"}},{"body":{"id":648,"nodeType":"Block","src":"20947:117:0","statements":[{"expression":{"arguments":[{"baseExpression":{"id":636,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20971:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":638,"indexExpression":{"id":637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20980:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20971:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":639,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20984:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":641,"indexExpression":{"id":640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20991:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20984:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":635,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20961:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20961:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":643,"nodeType":"ExpressionStatement","src":"20961:33:0"},{"id":647,"nodeType":"UncheckedBlock","src":"21008:46:0","statements":[{"expression":{"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"21036:3:0","subExpression":{"id":644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"21038:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":646,"nodeType":"ExpressionStatement","src":"21036:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":632,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20932:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":633,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20932:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":649,"initializationExpression":{"assignments":[630],"declarations":[{"constant":false,"id":630,"mutability":"mutable","name":"i","nameLocation":"20929:1:0","nodeType":"VariableDeclaration","scope":649,"src":"20921:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":629,"name":"uint256","nodeType":"ElementaryTypeName","src":"20921:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":631,"nodeType":"VariableDeclarationStatement","src":"20921:9:0"},"nodeType":"ForStatement","src":"20916:148:0"}]},"baseFunctions":[2522],"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"20054:452:0","text":"@notice Allocate to multiple pools\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate(). Please note that this is not a 'payable' function, so if you\n want to send funds to the strategy, you must send the funds using 'fundPool()'.\n @param _poolIds IDs of the pools\n @param _datas encoded data unique to the strategy for that pool"},"functionSelector":"c6dff1cf","implemented":true,"kind":"function","modifiers":[{"id":614,"kind":"modifierInvocation","modifierName":{"id":613,"name":"nonReentrant","nameLocations":["20595:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"20595:12:0"},"nodeType":"ModifierInvocation","src":"20595:12:0"}],"name":"batchAllocate","nameLocation":"20520:13:0","parameters":{"id":612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":608,"mutability":"mutable","name":"_poolIds","nameLocation":"20553:8:0","nodeType":"VariableDeclaration","scope":651,"src":"20534:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":606,"name":"uint256","nodeType":"ElementaryTypeName","src":"20534:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":607,"nodeType":"ArrayTypeName","src":"20534:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"_datas","nameLocation":"20578:6:0","nodeType":"VariableDeclaration","scope":651,"src":"20563:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":609,"name":"bytes","nodeType":"ElementaryTypeName","src":"20563:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":610,"nodeType":"ArrayTypeName","src":"20563:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20533:52:0"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"20608:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":676,"nodeType":"FunctionDefinition","src":"21468:196:0","nodes":[],"body":{"id":675,"nodeType":"Block","src":"21579:85:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":669,"name":"_recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":657,"src":"21624:13:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":670,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"21639:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":671,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21646:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21650:6:0","memberName":"sender","nodeType":"MemberAccess","src":"21646:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":664,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"21589:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":666,"indexExpression":{"id":665,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":654,"src":"21595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21589:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21604:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"21589:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21613:10:0","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":2968,"src":"21589:34:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address[] memory,bytes memory,address) external"}},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21589:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":674,"nodeType":"ExpressionStatement","src":"21589:68:0"}]},"baseFunctions":[2533],"documentation":{"id":652,"nodeType":"StructuredDocumentation","src":"21076:387:0","text":"@notice Distribute to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of 'strategy.distribute()'.\n @param _poolId ID of the pool\n @param _recipientIds Ids of the recipients of the distribution\n @param _data Encoded data unique to the strategy"},"functionSelector":"3a5fbd92","implemented":true,"kind":"function","modifiers":[{"id":662,"kind":"modifierInvocation","modifierName":{"id":661,"name":"nonReentrant","nameLocations":["21566:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"21566:12:0"},"nodeType":"ModifierInvocation","src":"21566:12:0"}],"name":"distribute","nameLocation":"21477:10:0","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":654,"mutability":"mutable","name":"_poolId","nameLocation":"21496:7:0","nodeType":"VariableDeclaration","scope":676,"src":"21488:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":653,"name":"uint256","nodeType":"ElementaryTypeName","src":"21488:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":657,"mutability":"mutable","name":"_recipientIds","nameLocation":"21522:13:0","nodeType":"VariableDeclaration","scope":676,"src":"21505:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":655,"name":"address","nodeType":"ElementaryTypeName","src":"21505:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":656,"nodeType":"ArrayTypeName","src":"21505:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":659,"mutability":"mutable","name":"_data","nameLocation":"21550:5:0","nodeType":"VariableDeclaration","scope":676,"src":"21537:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":658,"name":"bytes","nodeType":"ElementaryTypeName","src":"21537:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21487:69:0"},"returnParameters":{"id":663,"nodeType":"ParameterList","parameters":[],"src":"21579:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":693,"nodeType":"FunctionDefinition","src":"21910:142:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"21972:80:0","nodes":[],"statements":[{"condition":{"id":687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21986:36:0","subExpression":{"arguments":[{"id":683,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"22002:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22011:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22015:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22011:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":682,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"21987:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"21982:63:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":688,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22031:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22031:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":690,"nodeType":"RevertStatement","src":"22024:21:0"}}]},"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"21806:99:0","text":"@notice Internal function to check is caller is pool manager\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolManager","nameLocation":"21919:21:0","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":679,"mutability":"mutable","name":"_poolId","nameLocation":"21949:7:0","nodeType":"VariableDeclaration","scope":693,"src":"21941:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":678,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21940:17:0"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[],"src":"21972:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":710,"nodeType":"FunctionDefinition","src":"22160:138:0","nodes":[],"body":{"id":709,"nodeType":"Block","src":"22220:78:0","nodes":[],"statements":[{"condition":{"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22234:34:0","subExpression":{"arguments":[{"id":700,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"22248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22257:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22261:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22257:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":699,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"22235:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22235:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":708,"nodeType":"IfStatement","src":"22230:61:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":705,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22277:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22277:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":707,"nodeType":"RevertStatement","src":"22270:21:0"}}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"22058:97:0","text":"@notice Internal function to check is caller is pool admin\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolAdmin","nameLocation":"22169:19:0","parameters":{"id":697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":696,"mutability":"mutable","name":"_poolId","nameLocation":"22197:7:0","nodeType":"VariableDeclaration","scope":710,"src":"22189:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":695,"name":"uint256","nodeType":"ElementaryTypeName","src":"22189:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22188:17:0"},"returnParameters":{"id":698,"nodeType":"ParameterList","parameters":[],"src":"22220:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":925,"nodeType":"FunctionDefinition","src":"23131:2681:0","nodes":[],"body":{"id":924,"nodeType":"Block","src":"23409:2403:0","nodes":[],"statements":[{"condition":{"id":739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23423:58:0","subExpression":{"arguments":[{"id":735,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23458:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23470:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23474:6:0","memberName":"sender","nodeType":"MemberAccess","src":"23470:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":733,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"23424:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23433:24:0","memberName":"isOwnerOrMemberOfProfile","nodeType":"MemberAccess","referencedDeclaration":2704,"src":"23424:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23424:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":743,"nodeType":"IfStatement","src":"23419:85:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":740,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"23490:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":742,"nodeType":"RevertStatement","src":"23483:21:0"}},{"expression":{"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":744,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23515:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23524:12:0","subExpression":{"id":745,"name":"_poolIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"23526:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23515:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":748,"nodeType":"ExpressionStatement","src":"23515:21:0"},{"assignments":[750],"declarations":[{"constant":false,"id":750,"mutability":"mutable","name":"POOL_MANAGER_ROLE","nameLocation":"23683:17:0","nodeType":"VariableDeclaration","scope":924,"src":"23675:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23675:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":755,"initialValue":{"arguments":[{"id":753,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23711:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23703:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23703:7:0","typeDescriptions":{}}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23703:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23675:43:0"},{"assignments":[757],"declarations":[{"constant":false,"id":757,"mutability":"mutable","name":"POOL_ADMIN_ROLE","nameLocation":"23736:15:0","nodeType":"VariableDeclaration","scope":924,"src":"23728:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23728:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":765,"initialValue":{"arguments":[{"arguments":[{"id":761,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23781:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"61646d696e","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23789:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""},"value":"admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""}],"expression":{"id":759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23764:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23768:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"23764:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23764:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":758,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23754:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23754:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23728:70:0"},{"assignments":[768],"declarations":[{"constant":false,"id":768,"mutability":"mutable","name":"pool","nameLocation":"23857:4:0","nodeType":"VariableDeclaration","scope":924,"src":"23845:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":767,"nodeType":"UserDefinedTypeName","pathNode":{"id":766,"name":"Pool","nameLocations":["23845:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"23845:4:0"},"referencedDeclaration":2319,"src":"23845:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":777,"initialValue":{"arguments":[{"id":770,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23894:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"23928:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":772,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"23961:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":773,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"23991:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24024:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":775,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24066:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":769,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"23864:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pool_$2319_storage_ptr_$","typeString":"type(struct IAllo.Pool storage pointer)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23883:9:0","23918:8:0","23951:8:0","23984:5:0","24011:11:0","24055:9:0"],"names":["profileId","strategy","metadata","token","managerRole","adminRole"],"nodeType":"FunctionCall","src":"23864:228:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"23845:247:0"},{"expression":{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":778,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"24159:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":780,"indexExpression":{"id":779,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24165:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24159:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":781,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"24175:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"24159:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":783,"nodeType":"ExpressionStatement","src":"24159:20:0"},{"expression":{"arguments":[{"id":785,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24250:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":786,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24267:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24271:6:0","memberName":"sender","nodeType":"MemberAccess","src":"24267:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":784,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"24239:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24239:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":789,"nodeType":"ExpressionStatement","src":"24239:39:0"},{"expression":{"arguments":[{"id":791,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24351:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":792,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24370:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":790,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52709,"src":"24337:13:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24337:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"ExpressionStatement","src":"24337:49:0"},{"expression":{"arguments":[{"id":798,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24562:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":799,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"24570:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":795,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24541:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24551:10:0","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":2939,"src":"24541:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) external"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24541:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":801,"nodeType":"ExpressionStatement","src":"24541:47:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":802,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24603:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24613:9:0","memberName":"getPoolId","nodeType":"MemberAccess","referencedDeclaration":2876,"src":"24603:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24603:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":805,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24628:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24603:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24646:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24656:7:0","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":2870,"src":"24646:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24646:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}],"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24638:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":807,"name":"address","nodeType":"ElementaryTypeName","src":"24638:7:0","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24638:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":815,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24678:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24670:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":813,"name":"address","nodeType":"ElementaryTypeName","src":"24670:7:0","typeDescriptions":{}}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24670:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24638:45:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24603:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":822,"nodeType":"IfStatement","src":"24599:103:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":819,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"24692:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24692:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":821,"nodeType":"RevertStatement","src":"24685:17:0"}},{"assignments":[824],"declarations":[{"constant":false,"id":824,"mutability":"mutable","name":"managersLength","nameLocation":"24758:14:0","nodeType":"VariableDeclaration","scope":924,"src":"24750:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":823,"name":"uint256","nodeType":"ElementaryTypeName","src":"24750:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":827,"initialValue":{"expression":{"id":825,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24775:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24785:6:0","memberName":"length","nodeType":"MemberAccess","src":"24775:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24750:41:0"},{"body":{"id":859,"nodeType":"Block","src":"24838:229:0","statements":[{"assignments":[835],"declarations":[{"constant":false,"id":835,"mutability":"mutable","name":"manager","nameLocation":"24860:7:0","nodeType":"VariableDeclaration","scope":859,"src":"24852:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"24852:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":839,"initialValue":{"baseExpression":{"id":836,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24870:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":838,"indexExpression":{"id":837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24880:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24870:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24852:30:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":840,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24900:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24919:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24911:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"24911:7:0","typeDescriptions":{}}},"id":844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24911:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24900:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":849,"nodeType":"IfStatement","src":"24896:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":846,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"24930:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24930:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":848,"nodeType":"RevertStatement","src":"24923:21:0"}},{"expression":{"arguments":[{"id":851,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24970:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":852,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24989:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":850,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"24959:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":854,"nodeType":"ExpressionStatement","src":"24959:38:0"},{"id":858,"nodeType":"UncheckedBlock","src":"25011:46:0","statements":[{"expression":{"id":856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"25039:3:0","subExpression":{"id":855,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"25041:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":857,"nodeType":"ExpressionStatement","src":"25039:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24817:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":832,"name":"managersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":824,"src":"24821:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24817:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":860,"initializationExpression":{"assignments":[829],"declarations":[{"constant":false,"id":829,"mutability":"mutable","name":"i","nameLocation":"24814:1:0","nodeType":"VariableDeclaration","scope":860,"src":"24806:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":828,"name":"uint256","nodeType":"ElementaryTypeName","src":"24806:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":830,"nodeType":"VariableDeclarationStatement","src":"24806:9:0"},"nodeType":"ForStatement","src":"24801:266:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":861,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25081:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25091:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25081:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":903,"nodeType":"IfStatement","src":"25077:554:0","trueBody":{"id":902,"nodeType":"Block","src":"25094:537:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":864,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25359:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":865,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25369:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25359:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":867,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":868,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25390:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":870,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25401:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25405:5:0","memberName":"value","nodeType":"MemberAccess","src":"25401:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":873,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25379:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25359:52:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":875,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25358:54:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":876,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25417:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":877,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25427:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25417:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":879,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25437:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":880,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25448:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25452:5:0","memberName":"value","nodeType":"MemberAccess","src":"25448:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25437:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25417:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25416:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25358:100:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":890,"nodeType":"IfStatement","src":"25354:164:0","trueBody":{"id":889,"nodeType":"Block","src":"25460:58:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":886,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"25485:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25485:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":888,"nodeType":"RevertStatement","src":"25478:25:0"}]}},{"expression":{"arguments":[{"id":892,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25547:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":893,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25555:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":894,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":891,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25531:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"ExpressionStatement","src":"25531:42:0"},{"eventCall":{"arguments":[{"id":898,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25604:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":899,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25612:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":897,"name":"BaseFeePaid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2360,"src":"25592:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25592:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":901,"nodeType":"EmitStatement","src":"25587:33:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25645:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25655:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25645:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":914,"nodeType":"IfStatement","src":"25641:79:0","trueBody":{"id":913,"nodeType":"Block","src":"25658:62:0","statements":[{"expression":{"arguments":[{"id":908,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25682:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":909,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25691:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":910,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25699:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":907,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"25672:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25672:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":912,"nodeType":"ExpressionStatement","src":"25672:37:0"}]}},{"eventCall":{"arguments":[{"id":916,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25747:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":917,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"25755:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":918,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25767:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25778:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":920,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25786:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":921,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"25795:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":915,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2336,"src":"25735:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,bytes32,contract IStrategy,address,uint256,struct Metadata memory)"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25735:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"EmitStatement","src":"25730:75:0"}]},"documentation":{"id":711,"nodeType":"StructuredDocumentation","src":"22304:822:0","text":"@notice Creates a new pool.\n @dev This is an internal function that is called by the 'createPool()' & 'createPoolWithCustomStrategy()' functions\n It is used to create a new pool and is called by both functions. The 'msg.sender' must be a member or owner of\n a profile to create a pool.\n @param _profileId The ID of the profile of for pool creator in the registry\n @param _strategy The address of strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token that the pool is denominated in\n @param _amount The amount of the token to be deposited into the pool\n @param _metadata The 'Metadata' of the pool\n @param _managers The managers of the pool\n @return poolId The ID of the pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_createPool","nameLocation":"23140:11:0","parameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"_profileId","nameLocation":"23169:10:0","nodeType":"VariableDeclaration","scope":925,"src":"23161:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23161:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":716,"mutability":"mutable","name":"_strategy","nameLocation":"23199:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23189:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":715,"nodeType":"UserDefinedTypeName","pathNode":{"id":714,"name":"IStrategy","nameLocations":["23189:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"23189:9:0"},"referencedDeclaration":2969,"src":"23189:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"_initStrategyData","nameLocation":"23231:17:0","nodeType":"VariableDeclaration","scope":925,"src":"23218:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":717,"name":"bytes","nodeType":"ElementaryTypeName","src":"23218:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"_token","nameLocation":"23266:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23258:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":719,"name":"address","nodeType":"ElementaryTypeName","src":"23258:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"_amount","nameLocation":"23290:7:0","nodeType":"VariableDeclaration","scope":925,"src":"23282:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":721,"name":"uint256","nodeType":"ElementaryTypeName","src":"23282:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":725,"mutability":"mutable","name":"_metadata","nameLocation":"23323:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23307:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":724,"nodeType":"UserDefinedTypeName","pathNode":{"id":723,"name":"Metadata","nameLocations":["23307:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"23307:8:0"},"referencedDeclaration":3098,"src":"23307:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"_managers","nameLocation":"23359:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23342:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":726,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":727,"nodeType":"ArrayTypeName","src":"23342:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23151:223:0"},"returnParameters":{"id":732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":731,"mutability":"mutable","name":"poolId","nameLocation":"23401:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23393:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":730,"name":"uint256","nodeType":"ElementaryTypeName","src":"23393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23392:16:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":947,"nodeType":"FunctionDefinition","src":"26159:151:0","nodes":[],"body":{"id":946,"nodeType":"Block","src":"26224:86:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":941,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":930,"src":"26285:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26292:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26296:6:0","memberName":"sender","nodeType":"MemberAccess","src":"26292:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":933,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26234:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":935,"indexExpression":{"id":934,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"26240:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26234:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26249:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"26234:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26258:8:0","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":2957,"src":"26234:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes memory,address) payable external"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":938,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26274:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26278:5:0","memberName":"value","nodeType":"MemberAccess","src":"26274:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"26234:50:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$value","typeString":"function (bytes memory,address) payable external"}},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26234:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":945,"nodeType":"ExpressionStatement","src":"26234:69:0"}]},"documentation":{"id":926,"nodeType":"StructuredDocumentation","src":"25818:336:0","text":"@notice Allocate to recipient(s).\n @dev Passes '_data' & 'msg.sender' through to the strategy for that pool.\n This is an internal function that is called by the 'allocate()' & 'batchAllocate()' functions.\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"26168:9:0","parameters":{"id":931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"mutability":"mutable","name":"_poolId","nameLocation":"26186:7:0","nodeType":"VariableDeclaration","scope":947,"src":"26178:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":927,"name":"uint256","nodeType":"ElementaryTypeName","src":"26178:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"_data","nameLocation":"26208:5:0","nodeType":"VariableDeclaration","scope":947,"src":"26195:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"26195:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26177:37:0"},"returnParameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"26224:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1122,"nodeType":"FunctionDefinition","src":"26634:1879:0","nodes":[],"body":{"id":1121,"nodeType":"Block","src":"26717:1796:0","nodes":[],"statements":[{"assignments":[959],"declarations":[{"constant":false,"id":959,"mutability":"mutable","name":"feeAmount","nameLocation":"26735:9:0","nodeType":"VariableDeclaration","scope":1121,"src":"26727:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":958,"name":"uint256","nodeType":"ElementaryTypeName","src":"26727:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":960,"nodeType":"VariableDeclarationStatement","src":"26727:17:0"},{"assignments":[962],"declarations":[{"constant":false,"id":962,"mutability":"mutable","name":"amountAfterFee","nameLocation":"26762:14:0","nodeType":"VariableDeclaration","scope":1121,"src":"26754:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":961,"name":"uint256","nodeType":"ElementaryTypeName","src":"26754:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":964,"initialValue":{"id":963,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26779:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26754:32:0"},{"assignments":[967],"declarations":[{"constant":false,"id":967,"mutability":"mutable","name":"pool","nameLocation":"26810:4:0","nodeType":"VariableDeclaration","scope":1121,"src":"26797:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":966,"nodeType":"UserDefinedTypeName","pathNode":{"id":965,"name":"Pool","nameLocations":["26797:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"26797:4:0"},"referencedDeclaration":2319,"src":"26797:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":971,"initialValue":{"baseExpression":{"id":968,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26817:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":970,"indexExpression":{"id":969,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"26823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26817:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26797:34:0"},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_token","nameLocation":"26849:6:0","nodeType":"VariableDeclaration","scope":1121,"src":"26841:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":972,"name":"address","nodeType":"ElementaryTypeName","src":"26841:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":976,"initialValue":{"expression":{"id":974,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"26858:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26863:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26858:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26841:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":977,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26883:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26896:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26883:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1050,"nodeType":"IfStatement","src":"26879:808:0","trueBody":{"id":1049,"nodeType":"Block","src":"26899:788:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":980,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"26913:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":981,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26926:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":982,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26936:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26926:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26925:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":985,"name":"getFeeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1276,"src":"26950:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26950:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26925:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26913:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":989,"nodeType":"ExpressionStatement","src":"26913:56:0"},{"expression":{"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":990,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"26983:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":991,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27001:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26983:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":993,"nodeType":"ExpressionStatement","src":"26983:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":994,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27029:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":995,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27041:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":997,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"27059:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1002,"nodeType":"IfStatement","src":"27025:59:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":999,"name":"INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"27075:7:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27075:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1001,"nodeType":"RevertStatement","src":"27068:16:0"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1003,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27103:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1004,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27113:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27103:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1047,"nodeType":"Block","src":"27254:423:0","statements":[{"assignments":[1018],"declarations":[{"constant":false,"id":1018,"mutability":"mutable","name":"balanceBeforeFee","nameLocation":"27280:16:0","nodeType":"VariableDeclaration","scope":1047,"src":"27272:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1017,"name":"uint256","nodeType":"ElementaryTypeName","src":"27272:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1023,"initialValue":{"arguments":[{"id":1020,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27311:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1021,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27319:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1019,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27299:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27299:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27272:56:0"},{"expression":{"arguments":[{"id":1025,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27366:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1027,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27394:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27398:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27394:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1029,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27410:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1030,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27428:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1026,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27374:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27388:4:0","27406:2:0","27420:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27374:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1024,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27346:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27346:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1033,"nodeType":"ExpressionStatement","src":"27346:94:0"},{"assignments":[1035],"declarations":[{"constant":false,"id":1035,"mutability":"mutable","name":"balanceAfterFee","nameLocation":"27466:15:0","nodeType":"VariableDeclaration","scope":1047,"src":"27458:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"27458:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1040,"initialValue":{"arguments":[{"id":1037,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27496:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1038,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27504:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1036,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27484:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27458:55:0"},{"expression":{"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1041,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27616:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1042,"name":"balanceAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1035,"src":"27628:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1043,"name":"balanceBeforeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1018,"src":"27646:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27628:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27616:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1046,"nodeType":"ExpressionStatement","src":"27616:46:0"}]},"id":1048,"nodeType":"IfStatement","src":"27099:578:0","trueBody":{"id":1016,"nodeType":"Block","src":"27121:127:0","statements":[{"expression":{"arguments":[{"id":1007,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27159:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27187:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27191:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27187:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1011,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27203:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1012,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27221:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1008,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27167:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27181:4:0","27199:2:0","27213:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27167:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1006,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27139:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27139:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1015,"nodeType":"ExpressionStatement","src":"27139:94:0"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1051,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27701:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1052,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27711:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27701:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1107,"nodeType":"Block","src":"27889:501:0","statements":[{"assignments":[1069],"declarations":[{"constant":false,"id":1069,"mutability":"mutable","name":"balanceBeforeFundingPool","nameLocation":"27911:24:0","nodeType":"VariableDeclaration","scope":1107,"src":"27903:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"27903:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1077,"initialValue":{"arguments":[{"id":1071,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27950:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1074,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27966:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27958:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1072,"name":"address","nodeType":"ElementaryTypeName","src":"27958:7:0","typeDescriptions":{}}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27958:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1070,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27938:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27938:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27903:74:0"},{"expression":{"arguments":[{"id":1079,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28028:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1081,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28056:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28060:6:0","memberName":"sender","nodeType":"MemberAccess","src":"28056:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1085,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28080:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28072:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1083,"name":"address","nodeType":"ElementaryTypeName","src":"28072:7:0","typeDescriptions":{}}},"id":1086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28072:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1087,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28100:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1080,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"28036:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28050:4:0","28068:2:0","28092:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"28036:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1078,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27991:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27991:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1090,"nodeType":"ExpressionStatement","src":"27991:139:0"},{"assignments":[1092],"declarations":[{"constant":false,"id":1092,"mutability":"mutable","name":"balanceAfterFundingPool","nameLocation":"28152:23:0","nodeType":"VariableDeclaration","scope":1107,"src":"28144:31:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1091,"name":"uint256","nodeType":"ElementaryTypeName","src":"28144:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1100,"initialValue":{"arguments":[{"id":1094,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28190:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1097,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28206:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28198:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"28198:7:0","typeDescriptions":{}}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1093,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"28178:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28178:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28144:73:0"},{"expression":{"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1101,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28312:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1102,"name":"balanceAfterFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1092,"src":"28329:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1103,"name":"balanceBeforeFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"28355:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28329:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28312:67:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1106,"nodeType":"ExpressionStatement","src":"28312:67:0"}]},"id":1108,"nodeType":"IfStatement","src":"27697:693:0","trueBody":{"id":1067,"nodeType":"Block","src":"27719:164:0","statements":[{"expression":{"arguments":[{"id":1055,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27770:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27798:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27802:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27798:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1061,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27822:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27814:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1059,"name":"address","nodeType":"ElementaryTypeName","src":"27814:7:0","typeDescriptions":{}}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27814:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1063,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27842:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1056,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27778:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27792:4:0","27810:2:0","27834:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27778:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1054,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27733:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1066,"nodeType":"ExpressionStatement","src":"27733:139:0"}]}},{"expression":{"arguments":[{"id":1112,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28429:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1109,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28400:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":1111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28410:18:0","memberName":"increasePoolAmount","nodeType":"MemberAccess","referencedDeclaration":2908,"src":"28400:28:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28400:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1114,"nodeType":"ExpressionStatement","src":"28400:44:0"},{"eventCall":{"arguments":[{"id":1116,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"28471:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1117,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28480:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1118,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"28496:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1115,"name":"PoolFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"28460:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28460:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1120,"nodeType":"EmitStatement","src":"28455:51:0"}]},"documentation":{"id":948,"nodeType":"StructuredDocumentation","src":"26316:313:0","text":"@notice Fund a pool.\n @dev Deducts the fee and transfers the amount to the distribution strategy.\n Emits a 'PoolFunded' event.\n @param _amount The amount to transfer\n @param _poolId The 'poolId' for the pool you are funding\n @param _strategy The address of the strategy"},"implemented":true,"kind":"function","modifiers":[],"name":"_fundPool","nameLocation":"26643:9:0","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"_amount","nameLocation":"26661:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26653:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":949,"name":"uint256","nodeType":"ElementaryTypeName","src":"26653:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":952,"mutability":"mutable","name":"_poolId","nameLocation":"26678:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":951,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_strategy","nameLocation":"26697:9:0","nodeType":"VariableDeclaration","scope":1122,"src":"26687:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":954,"nodeType":"UserDefinedTypeName","pathNode":{"id":953,"name":"IStrategy","nameLocations":["26687:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"26687:9:0"},"referencedDeclaration":2969,"src":"26687:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"}],"src":"26652:55:0"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"26717:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1135,"nodeType":"FunctionDefinition","src":"28898:132:0","nodes":[],"body":{"id":1134,"nodeType":"Block","src":"28976:54:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1130,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"28993:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1132,"indexExpression":{"id":1131,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"29013:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28993:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1129,"id":1133,"nodeType":"Return","src":"28986:37:0"}]},"documentation":{"id":1123,"nodeType":"StructuredDocumentation","src":"28519:374:0","text":"@notice Checks if the strategy is an approved cloneable strategy.\n @dev Internal function used by createPoolwithCustomStrategy and createPool to\n determine if a strategy is in the cloneable strategy allow list.\n @param _strategy The address of the strategy\n @return This will return 'true' if the strategy is cloneable, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isCloneableStrategy","nameLocation":"28907:20:0","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"mutability":"mutable","name":"_strategy","nameLocation":"28936:9:0","nodeType":"VariableDeclaration","scope":1135,"src":"28928:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1124,"name":"address","nodeType":"ElementaryTypeName","src":"28928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28927:19:0"},"returnParameters":{"id":1129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1135,"src":"28970:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1127,"name":"bool","nodeType":"ElementaryTypeName","src":"28970:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28969:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1154,"nodeType":"FunctionDefinition","src":"29346:153:0","nodes":[],"body":{"id":1153,"nodeType":"Block","src":"29432:67:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1146,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29457:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1148,"indexExpression":{"id":1147,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1138,"src":"29463:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29457:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29472:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":2318,"src":"29457:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1150,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1140,"src":"29483:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1145,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"29449:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29449:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1144,"id":1152,"nodeType":"Return","src":"29442:50:0"}]},"documentation":{"id":1136,"nodeType":"StructuredDocumentation","src":"29036:305:0","text":"@notice Checks if the address is a pool admin\n @dev Internal function used to determine if an address is a pool admin\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool admin, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolAdmin","nameLocation":"29355:12:0","parameters":{"id":1141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1138,"mutability":"mutable","name":"_poolId","nameLocation":"29376:7:0","nodeType":"VariableDeclaration","scope":1154,"src":"29368:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1137,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1140,"mutability":"mutable","name":"_address","nameLocation":"29393:8:0","nodeType":"VariableDeclaration","scope":1154,"src":"29385:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1139,"name":"address","nodeType":"ElementaryTypeName","src":"29385:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29367:35:0"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"29426:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1142,"name":"bool","nodeType":"ElementaryTypeName","src":"29426:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29425:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1178,"nodeType":"FunctionDefinition","src":"29821:192:0","nodes":[],"body":{"id":1177,"nodeType":"Block","src":"29909:104:0","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":1165,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29934:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1167,"indexExpression":{"id":1166,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29940:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29934:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29949:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"29934:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1169,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29962:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1164,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"29926:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29926:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1172,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29988:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1173,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29997:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1171,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"29975:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29926:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1163,"id":1176,"nodeType":"Return","src":"29919:87:0"}]},"documentation":{"id":1155,"nodeType":"StructuredDocumentation","src":"29505:311:0","text":"@notice Checks if the address is a pool manager\n @dev Internal function used to determine if an address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool manager, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolManager","nameLocation":"29830:14:0","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"_poolId","nameLocation":"29853:7:0","nodeType":"VariableDeclaration","scope":1178,"src":"29845:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"29845:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"_address","nameLocation":"29870:8:0","nodeType":"VariableDeclaration","scope":1178,"src":"29862:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"29862:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29844:35:0"},"returnParameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1178,"src":"29903:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1161,"name":"bool","nodeType":"ElementaryTypeName","src":"29903:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29902:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1205,"nodeType":"FunctionDefinition","src":"30226:203:0","nodes":[],"body":{"id":1204,"nodeType":"Block","src":"30279:150:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1184,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30293:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30314:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30306:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1185,"name":"address","nodeType":"ElementaryTypeName","src":"30306:7:0","typeDescriptions":{}}},"id":1188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30306:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30293:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1193,"nodeType":"IfStatement","src":"30289:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1190,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30325:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30325:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1192,"nodeType":"RevertStatement","src":"30318:21:0"}},{"expression":{"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1194,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"30350:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1196,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30371:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1195,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"30361:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30361:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"30350:31:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":1199,"nodeType":"ExpressionStatement","src":"30350:31:0"},{"eventCall":{"arguments":[{"id":1201,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30412:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1200,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"30396:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30396:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1203,"nodeType":"EmitStatement","src":"30391:31:0"}]},"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"30019:202:0","text":"@notice Updates the registry address\n @dev Internal function used to update the registry address.\n Emits a RegistryUpdated event.\n @param _registry The new registry address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateRegistry","nameLocation":"30235:15:0","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"_registry","nameLocation":"30259:9:0","nodeType":"VariableDeclaration","scope":1205,"src":"30251:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"30251:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:19:0"},"returnParameters":{"id":1183,"nodeType":"ParameterList","parameters":[],"src":"30279:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1230,"nodeType":"FunctionDefinition","src":"30642:199:0","nodes":[],"body":{"id":1229,"nodeType":"Block","src":"30703:138:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1211,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30717:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30738:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1212,"name":"address","nodeType":"ElementaryTypeName","src":"30730:7:0","typeDescriptions":{}}},"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30730:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30717:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1220,"nodeType":"IfStatement","src":"30713:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1217,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30749:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30749:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"RevertStatement","src":"30742:21:0"}},{"expression":{"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1221,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30774:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1222,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30785:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"30774:20:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1224,"nodeType":"ExpressionStatement","src":"30774:20:0"},{"eventCall":{"arguments":[{"id":1226,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30825:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1225,"name":"TreasuryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2365,"src":"30809:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30809:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1228,"nodeType":"EmitStatement","src":"30804:30:0"}]},"documentation":{"id":1206,"nodeType":"StructuredDocumentation","src":"30435:202:0","text":"@notice Updates the treasury address\n @dev Internal function used to update the treasury address.\n Emits a TreasuryUpdated event.\n @param _treasury The new treasury address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateTreasury","nameLocation":"30651:15:0","parameters":{"id":1209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1208,"mutability":"mutable","name":"_treasury","nameLocation":"30683:9:0","nodeType":"VariableDeclaration","scope":1230,"src":"30667:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1207,"name":"address","nodeType":"ElementaryTypeName","src":"30667:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"30666:27:0"},"returnParameters":{"id":1210,"nodeType":"ParameterList","parameters":[],"src":"30703:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1252,"nodeType":"FunctionDefinition","src":"31041:198:0","nodes":[],"body":{"id":1251,"nodeType":"Block","src":"31098:141:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1236,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31112:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31126:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"31112:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1242,"nodeType":"IfStatement","src":"31108:44:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1239,"name":"INVALID_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"31139:11:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31139:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"RevertStatement","src":"31132:20:0"}},{"expression":{"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1243,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31163:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1244,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31176:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31163:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1246,"nodeType":"ExpressionStatement","src":"31163:24:0"},{"eventCall":{"arguments":[{"id":1248,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31221:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1247,"name":"PercentFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"31203:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31203:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"EmitStatement","src":"31198:34:0"}]},"documentation":{"id":1231,"nodeType":"StructuredDocumentation","src":"30847:189:0","text":"@notice Updates the fee percentage\n @dev Internal function used to update the percentage fee.\n Emits a PercentFeeUpdated event.\n @param _percentFee The new fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updatePercentFee","nameLocation":"31050:17:0","parameters":{"id":1234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1233,"mutability":"mutable","name":"_percentFee","nameLocation":"31076:11:0","nodeType":"VariableDeclaration","scope":1252,"src":"31068:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1232,"name":"uint256","nodeType":"ElementaryTypeName","src":"31068:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31067:21:0"},"returnParameters":{"id":1235,"nodeType":"ParameterList","parameters":[],"src":"31098:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1267,"nodeType":"FunctionDefinition","src":"31426:125:0","nodes":[],"body":{"id":1266,"nodeType":"Block","src":"31477:74:0","nodes":[],"statements":[{"expression":{"id":1260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1258,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31487:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1259,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1255,"src":"31497:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31487:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1261,"nodeType":"ExpressionStatement","src":"31487:18:0"},{"eventCall":{"arguments":[{"id":1263,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31536:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1262,"name":"BaseFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"31521:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31521:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1265,"nodeType":"EmitStatement","src":"31516:28:0"}]},"documentation":{"id":1253,"nodeType":"StructuredDocumentation","src":"31245:176:0","text":"@notice Updates the base fee\n @dev Internal function used to update the base fee.\n Emits a BaseFeeUpdated event.\n @param _baseFee The new base fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateBaseFee","nameLocation":"31435:14:0","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1255,"mutability":"mutable","name":"_baseFee","nameLocation":"31458:8:0","nodeType":"VariableDeclaration","scope":1267,"src":"31450:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1254,"name":"uint256","nodeType":"ElementaryTypeName","src":"31450:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31449:18:0"},"returnParameters":{"id":1257,"nodeType":"ParameterList","parameters":[],"src":"31477:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1276,"nodeType":"FunctionDefinition","src":"31788:103:0","nodes":[],"body":{"id":1275,"nodeType":"Block","src":"31863:28:0","nodes":[],"statements":[{"expression":{"hexValue":"31653138","id":1273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31880:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"functionReturnParameters":1272,"id":1274,"nodeType":"Return","src":"31873:11:0"}]},"baseFunctions":[2609],"documentation":{"id":1268,"nodeType":"StructuredDocumentation","src":"31657:126:0","text":"@notice Getter for the fee denominator\n @return FEE_DENOMINATOR The fee denominator is (1e18) which represents 100%"},"functionSelector":"f4e1fc41","implemented":true,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"31797:17:0","parameters":{"id":1269,"nodeType":"ParameterList","parameters":[],"src":"31814:2:0"},"returnParameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1271,"mutability":"mutable","name":"FEE_DENOMINATOR","nameLocation":"31846:15:0","nodeType":"VariableDeclaration","scope":1276,"src":"31838:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"31838:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31837:25:0"},"scope":1390,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1292,"nodeType":"FunctionDefinition","src":"32112:140:0","nodes":[],"body":{"id":1291,"nodeType":"Block","src":"32197:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1287,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"32227:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1288,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"32236:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1286,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"32214:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32214:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1285,"id":1290,"nodeType":"Return","src":"32207:38:0"}]},"baseFunctions":[2543],"documentation":{"id":1277,"nodeType":"StructuredDocumentation","src":"31897:210:0","text":"@notice Checks if the address is a pool admin.\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":true,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"32121:11:0","parameters":{"id":1282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1279,"mutability":"mutable","name":"_poolId","nameLocation":"32141:7:0","nodeType":"VariableDeclaration","scope":1292,"src":"32133:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1278,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"_address","nameLocation":"32158:8:0","nodeType":"VariableDeclaration","scope":1292,"src":"32150:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1280,"name":"address","nodeType":"ElementaryTypeName","src":"32150:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32132:35:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1292,"src":"32191:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1283,"name":"bool","nodeType":"ElementaryTypeName","src":"32191:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32190:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1308,"nodeType":"FunctionDefinition","src":"32476:144:0","nodes":[],"body":{"id":1307,"nodeType":"Block","src":"32563:57:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1303,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"32595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1304,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1297,"src":"32604:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1302,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"32580:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32580:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1301,"id":1306,"nodeType":"Return","src":"32573:40:0"}]},"baseFunctions":[2553],"documentation":{"id":1293,"nodeType":"StructuredDocumentation","src":"32258:213:0","text":"@notice Checks if the address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":true,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"32485:13:0","parameters":{"id":1298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1295,"mutability":"mutable","name":"_poolId","nameLocation":"32507:7:0","nodeType":"VariableDeclaration","scope":1308,"src":"32499:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1294,"name":"uint256","nodeType":"ElementaryTypeName","src":"32499:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1297,"mutability":"mutable","name":"_address","nameLocation":"32524:8:0","nodeType":"VariableDeclaration","scope":1308,"src":"32516:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1296,"name":"address","nodeType":"ElementaryTypeName","src":"32516:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32498:35:0"},"returnParameters":{"id":1301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1308,"src":"32557:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1299,"name":"bool","nodeType":"ElementaryTypeName","src":"32557:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32556:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1325,"nodeType":"FunctionDefinition","src":"32753:126:0","nodes":[],"body":{"id":1324,"nodeType":"Block","src":"32823:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1318,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"32848:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1320,"indexExpression":{"id":1319,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1311,"src":"32854:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32848:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32863:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"32848:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32840:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1316,"name":"address","nodeType":"ElementaryTypeName","src":"32840:7:0","typeDescriptions":{}}},"id":1322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32840:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1315,"id":1323,"nodeType":"Return","src":"32833:39:0"}]},"baseFunctions":[2569],"documentation":{"id":1309,"nodeType":"StructuredDocumentation","src":"32626:122:0","text":"@notice Getter for the strategy.\n @param _poolId The ID of the pool\n @return The address of the strategy"},"functionSelector":"cfc0cc34","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"32762:11:0","parameters":{"id":1312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1311,"mutability":"mutable","name":"_poolId","nameLocation":"32782:7:0","nodeType":"VariableDeclaration","scope":1325,"src":"32774:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1310,"name":"uint256","nodeType":"ElementaryTypeName","src":"32774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32773:17:0"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1325,"src":"32814:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"32814:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32813:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1334,"nodeType":"FunctionDefinition","src":"32977:91:0","nodes":[],"body":{"id":1333,"nodeType":"Block","src":"33034:34:0","nodes":[],"statements":[{"expression":{"id":1331,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"33051:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1330,"id":1332,"nodeType":"Return","src":"33044:17:0"}]},"baseFunctions":[2575],"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"32885:87:0","text":"@notice Getter for fee percentage.\n @return The fee percentage (1e18 = 100%)"},"functionSelector":"4edbaadc","implemented":true,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"32986:13:0","parameters":{"id":1327,"nodeType":"ParameterList","parameters":[],"src":"32999:2:0"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1334,"src":"33025:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"33025:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33024:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1343,"nodeType":"FunctionDefinition","src":"33140:85:0","nodes":[],"body":{"id":1342,"nodeType":"Block","src":"33194:31:0","nodes":[],"statements":[{"expression":{"id":1340,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"33211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1339,"id":1341,"nodeType":"Return","src":"33204:14:0"}]},"baseFunctions":[2581],"documentation":{"id":1335,"nodeType":"StructuredDocumentation","src":"33074:61:0","text":"@notice Getter for base fee.\n @return The base fee"},"functionSelector":"15e812ad","implemented":true,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"33149:10:0","parameters":{"id":1336,"nodeType":"ParameterList","parameters":[],"src":"33159:2:0"},"returnParameters":{"id":1339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1343,"src":"33185:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1337,"name":"uint256","nodeType":"ElementaryTypeName","src":"33185:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33184:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1352,"nodeType":"FunctionDefinition","src":"33313:95:0","nodes":[],"body":{"id":1351,"nodeType":"Block","src":"33376:32:0","nodes":[],"statements":[{"expression":{"id":1349,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"33393:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":1348,"id":1350,"nodeType":"Return","src":"33386:15:0"}]},"baseFunctions":[2587],"documentation":{"id":1344,"nodeType":"StructuredDocumentation","src":"33231:77:0","text":"@notice Getter for treasury address.\n @return The treasury address"},"functionSelector":"3b19e84a","implemented":true,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"33322:11:0","parameters":{"id":1345,"nodeType":"ParameterList","parameters":[],"src":"33333:2:0"},"returnParameters":{"id":1348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1352,"src":"33359:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1346,"name":"address","nodeType":"ElementaryTypeName","src":"33359:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"33358:17:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1362,"nodeType":"FunctionDefinition","src":"33488:89:0","nodes":[],"body":{"id":1361,"nodeType":"Block","src":"33545:32:0","nodes":[],"statements":[{"expression":{"id":1359,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"33562:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"functionReturnParameters":1358,"id":1360,"nodeType":"Return","src":"33555:15:0"}]},"baseFunctions":[2594],"documentation":{"id":1353,"nodeType":"StructuredDocumentation","src":"33414:69:0","text":"@notice Getter for registry.\n @return The registry address"},"functionSelector":"5ab1bd53","implemented":true,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"33497:11:0","parameters":{"id":1354,"nodeType":"ParameterList","parameters":[],"src":"33508:2:0"},"returnParameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"33534:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":1356,"nodeType":"UserDefinedTypeName","pathNode":{"id":1355,"name":"IRegistry","nameLocations":["33534:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"33534:9:0"},"referencedDeclaration":2802,"src":"33534:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"33533:11:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1375,"nodeType":"FunctionDefinition","src":"33760:132:0","nodes":[],"body":{"id":1374,"nodeType":"Block","src":"33837:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"33875:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1370,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"33854:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33854:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1369,"id":1373,"nodeType":"Return","src":"33847:38:0"}]},"baseFunctions":[2561],"documentation":{"id":1363,"nodeType":"StructuredDocumentation","src":"33583:172:0","text":"@notice Getter for if strategy is cloneable.\n @param _strategy The address of the strategy\n @return 'true' if the strategy is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":true,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"33769:19:0","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1365,"mutability":"mutable","name":"_strategy","nameLocation":"33797:9:0","nodeType":"VariableDeclaration","scope":1375,"src":"33789:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"33789:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33788:19:0"},"returnParameters":{"id":1369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1375,"src":"33831:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1367,"name":"bool","nodeType":"ElementaryTypeName","src":"33831:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33830:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1389,"nodeType":"FunctionDefinition","src":"34013:108:0","nodes":[],"body":{"id":1388,"nodeType":"Block","src":"34083:38:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1384,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"34100:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1386,"indexExpression":{"id":1385,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1378,"src":"34106:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34100:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"functionReturnParameters":1383,"id":1387,"nodeType":"Return","src":"34093:21:0"}]},"baseFunctions":[2603],"documentation":{"id":1376,"nodeType":"StructuredDocumentation","src":"33898:110:0","text":"@notice Getter for the 'Pool'.\n @param _poolId The ID of the pool\n @return The 'Pool' struct"},"functionSelector":"068bcd8d","implemented":true,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"34022:7:0","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1378,"mutability":"mutable","name":"_poolId","nameLocation":"34038:7:0","nodeType":"VariableDeclaration","scope":1389,"src":"34030:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1377,"name":"uint256","nodeType":"ElementaryTypeName","src":"34030:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34029:17:0"},"returnParameters":{"id":1383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1389,"src":"34070:11:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":1381,"nodeType":"UserDefinedTypeName","pathNode":{"id":1380,"name":"Pool","nameLocations":["34070:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"34070:4:0"},"referencedDeclaration":2319,"src":"34070:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"34069:13:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":16,"name":"IAllo","nameLocations":["5097:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"5097:5:0"},"id":17,"nodeType":"InheritanceSpecifier","src":"5097:5:0"},{"baseName":{"id":18,"name":"Native","nameLocations":["5108:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5108:6:0"},"id":19,"nodeType":"InheritanceSpecifier","src":"5108:6:0"},{"baseName":{"id":20,"name":"Transfer","nameLocations":["5120:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5120:8:0"},"id":21,"nodeType":"InheritanceSpecifier","src":"5120:8:0"},{"baseName":{"id":22,"name":"Initializable","nameLocations":["5134:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53233,"src":"5134:13:0"},"id":23,"nodeType":"InheritanceSpecifier","src":"5134:13:0"},{"baseName":{"id":24,"name":"Ownable","nameLocations":["5153:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":4137,"src":"5153:7:0"},"id":25,"nodeType":"InheritanceSpecifier","src":"5153:7:0"},{"baseName":{"id":26,"name":"AccessControlUpgradeable","nameLocations":["5166:24:0"],"nodeType":"IdentifierPath","referencedDeclaration":52778,"src":"5166:24:0"},"id":27,"nodeType":"InheritanceSpecifier","src":"5166:24:0"},{"baseName":{"id":28,"name":"ReentrancyGuardUpgradeable","nameLocations":["5196:26:0"],"nodeType":"IdentifierPath","referencedDeclaration":53318,"src":"5196:26:0"},"id":29,"nodeType":"InheritanceSpecifier","src":"5196:26:0"},{"baseName":{"id":30,"name":"Errors","nameLocations":["5228:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5228:6:0"},"id":31,"nodeType":"InheritanceSpecifier","src":"5228:6:0"}],"canonicalName":"Allo","contractDependencies":[],"contractKind":"contract","documentation":{"id":15,"nodeType":"StructuredDocumentation","src":"4725:351:0","text":"@title Allo\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice This contract is used to create & manage pools as well as manage the protocol.\n @dev The contract must be initialized with the 'initialize()' function."},"fullyImplemented":true,"linearizedBaseContracts":[1390,3089,53318,52778,54051,54063,52851,53777,4137,53233,3317,3106,2610],"name":"Allo","nameLocation":"5085:4:0","scope":1391,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,3971,3974,3977]}],"license":"AGPL-3.0-only"},"id":0}
\ No newline at end of file
diff --git a/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json b/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json
index e3e433d6b..07282cd8f 100644
--- a/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json
+++ b/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608034620001f4576040906001600160401b0381830181811183821017620001de57835260019182815283516060810181811084821117620001de578552602e81526020917f516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a4468838301526d6132666a3547656536684a7a535960901b868301528183820152516009558051928311620001de57600a548481811c91168015620001d3575b83821014620001bd57601f81116200016e575b5081601f8411600114620001015750928293918392600094620000f5575b50501b916000199060031b1c191617600a555b516123539081620001fa8239f35b015192503880620000d4565b919083601f198116600a60005284600020946000905b8883831062000153575050501062000139575b505050811b01600a55620000e7565b015160001960f88460031b161c191690553880806200012a565b85870151885590960195948501948793509081019062000117565b600a60005282600020601f850160051c810191848610620001b2575b601f0160051c019085905b828110620001a5575050620000b6565b6000815501859062000195565b90915081906200018a565b634e487b7160e01b600052602260045260246000fd5b90607f1690620000a3565b634e487b7160e01b600052604160045260246000fd5b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c908162b1fad71461175957508063030e4006146116fd5780630688b135146116aa5780630f166ad41461168f578063174eedde14610c7c5780631b96dce6146116385780631e7bcb2e146115ec5780632e0f2625146115c957806337d1c40414611503578063392f37e9146114bf5780633f26479e146114a25780634bf4ba2114611464578063587c1243146114185780635aff5999146113bf57806366d003ac146112d25780636a38dd0a1461118d57806370a3294414610ffe57806374d9284e14610c7c578063759c9a8614610f9057806379e62d0d14610df55780637b2edf3214610da95780637cbe79ed14610d63578063829e423f14610c7c57806385294f1814610c815780638c7408c414610c7c5780638e0d1a5014610c365780638e3c249314610bea578063a0cf0aea14610bbb578063a407c67a14610923578063aa3744bd146108d0578063c36e336b146107f5578063d1e82b581461079c578063d1f2cd8814610752578063d5bee9f514610664578063da4bf0871461060e578063dac4eb16146105b7578063e070e0ab146104b7578063e99ce911146103315763ef0d790f146101d057600080fd5b3461032d578260031936011261032d578051926101ec8461188f565b6013845260209384810172383937b334b632992fb737ba20a6b2b6b132b960691b8152835161021e87820180936119c9565b6013815261022b8161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e6575b50813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b03925af180156102d8576102c1575b505051908152f35b6102cb8291611830565b6102d557806102b9565b80fd5b83513d84823e3d90fd5b8380fd5b90508681813d831161031c575b6102fd81836118c5565b810103126102e257516001600160a01b03811681036102e25738610265565b503d6102f3565b85513d86823e3d90fd5b8280fd5b503461032d57608036600319011261032d5760443592600160801b9262989680606435608081901b829004868110156104755786908435805b61042157505060249761037e893589611d33565b978482029180830486149015171561040f5782039182116103fd57906103a391611d33565b90808303928084116103fd57146103eb570484018094116103d9576001607f1b84019384106103d95760208484519060801c8152f35b634e487b7160e01b8252601190528390fd5b634e487b7160e01b8452601283528684fd5b634e487b7160e01b8652601185528886fd5b634e487b7160e01b8752601186528987fd5b600191818316610441578061043591612232565b911c90815b909161036a565b80925061044e9199612232565b97600019810190811161046257908161043a565b634e487b7160e01b875260118652602487fd5b855162461bcd60e51b8152602081860152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b50903461032d576101c036600319011261032d576104d36117c2565b906104dc6117ee565b6104e4611804565b6104ec6117d8565b6104f461181a565b9160a4359360038510156105b35760c435958610156105b35760203660e31901126105b35787519661052588611859565b60e435885260c0366101031901126105af578851996105438b611874565b6001600160a01b03906101043582811681036105ab578c526101243591821682036102d55750918a979593916105a4999795936020809d0152610144358b8a01526101643560608a01526101843560808a01526101a43560a08a0152611e95565b9051908152f35b5080fd5b8980fd5b8880fd5b503461032d578260031936011261032d578051926105d48461188f565b600e84526020938481016d3932b3b4b9ba393cafb7bbb732b960911b815283516106018782018093611a15565b600e815261022b8161188f565b503461032d578260031936011261032d5780519261062b8461188f565b600d84526020938481016c616c6c6f5f747265617375727960981b8152835161065787820180936119a3565b600d815261022b8161188f565b503461032d578260031936011261032d578051926106818461188f565b600b938481526020946a1c985b991bdb4818da185960aa1b8683015283519086845b82811061073e57505083602b83015281526106bd8161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e65750813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b8181860101518282860101520187906106a3565b503461032d578260031936011261032d5780519261076f8461188f565b600e84526020938481016d383937b334b63298afb7bbb732b960911b815283516106018782018093611a15565b503461032d578260031936011261032d578051926107b98461188f565b601084526020938481016f3837b7b62fb737ba20a6b0b730b3b2b960811b815283516107e88782018093611a3b565b6010815261022b8161188f565b50903461032d5761014036600319011261032d576108116117c2565b9060243560038110156108cc57604435918210156108cc5760203660631901126108cc5783519261084184611859565b606435845260c03660831901126108c85784519561085e87611874565b6001600160a01b039060843582811681036105ab57885260a43591821682036102d55750918693916108b9959360206108c499015260c4358786015260e43560608601526101043560808601526101243560a0860152611d5c565b905191829182611ade565b0390f35b8580fd5b8480fd5b503461032d578260031936011261032d578051926108ed8461188f565b600a845260209384810169726563697069656e743160b01b8152835161091687820180936119ef565b600a815261022b8161188f565b508290346105ab57816003193601126105ab57805192610942846118aa565b60028452602092823685870137825161095a8161188f565b601081528481016f70726f66696c65325f6d656d6265723160801b815284516109868782018093611a3b565b601081526109938161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610b72575b50813b156108cc578651936318caf8e360e31b94858152868180610a0c60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610b54575b5050610a2b8a611bbb565b52865193610a388561188f565b601085528885016f383937b334b632992fb6b2b6b132b91960811b81528851610a648b82018093611a3b565b60108152610a718161188f565b5190208851928352878301528882602481865afa918215610b4a578692610b12575b50823b156108c857908580949392610ac58a5197889687958694855216809b8401528b60248401526044830190611a61565b03925af18015610b0857610af4575b5050906108c491610ae485611bde565b5251928284938452830190611aa1565b610afe8291611830565b6102d55780610ad4565b84513d84823e3d90fd5b9091508881813d8311610b43575b610b2a81836118c5565b810103126108c8575183811681036108c857908a610a93565b503d610b20565b88513d88823e3d90fd5b610b5d90611830565b6108c857858b610a20565b89513d89823e3d90fd5b9092508781813d8311610baa575b610b8a81836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896109cf565b503d610b80565b87513d87823e3d90fd5b8382346105ab57816003193601126105ab576020905173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b503461032d578260031936011261032d57805192610c078461188f565b601084526020938481016f383937b334b632992fb6b2b6b132b91960811b815283516107e88782018093611a3b565b503461032d578260031936011261032d57805192610c538461188f565b600a8452602093848101693837b7b62fb0b236b4b760b11b8152835161091687820180936119ef565b6117a1565b50903461032d576101a036600319011261032d57610c9d6117c2565b90610ca66117ee565b610cae611804565b610cb66117d8565b610cbe61181a565b9160a4359360038510156105b35760c435958610156105b35760c03660e31901126105b357875196610cef88611874565b6001600160a01b0360e4358181168103610d5f578952610104359081168103610d5b5791889795939160209b9795938c6105a49b0152610124358b8a01526101443560608a01526101643560808a01526101843560a08a01528a5197610d5489611859565b8852611e95565b8a80fd5b8b80fd5b503461032d578260031936011261032d57805192610d808461188f565b600a84526020938481016930b63637afb7bbb732b960b11b8152835161091687820180936119ef565b503461032d578260031936011261032d57805192610dc68461188f565b601084526020938481016f383937b334b63298afb6b2b6b132b91960811b815283516107e88782018093611a3b565b508290346105ab57816003193601126105ab57805192610e14846118aa565b600284526020928236858701378251610e2c8161188f565b600d81528481016c706f6f6c5f6d616e616765723160981b81528451610e5587820180936119a3565b600d8152610e628161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610f51575b50813b156108cc578651936318caf8e360e31b94858152868180610edb60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610f3d575b5050610efa8a611bbb565b52865193610f078561188f565b600d85528885016c3837b7b62fb6b0b730b3b2b91960991b81528851610f308b820180936119a3565b600d8152610a718161188f565b610f4690611830565b6108c857858b610eef565b9092508781813d8311610f89575b610f6981836118c5565b810103126108cc57516001600160a01b03811681036108cc579189610e9e565b503d610f5f565b503461032d578260031936011261032d57805192610fad8461188f565b600c938481526020946b1b9bd7dc9958da5c1a595b9d60a21b8683015283519086845b828110610fea57505083602c83015281526106bd8161188f565b818186010151828286010152018790610fd0565b508290346105ab57816003193601126105ab5780519261101d846118aa565b6002845260209282368587013782516110358161188f565b601081528481016f70726f66696c65315f6d656d6265723160801b815284516110618782018093611a3b565b6010815261106e8161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb157859361114e575b50813b156108cc578651936318caf8e360e31b948581528681806110e760018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b685761113b575b506111028a611bbb565b5286519361110f8561188f565b601085528885016f383937b334b63298afb6b2b6b132b91960811b81528851610a648b82018093611a3b565b61114790969196611830565b948a6110f8565b9092508781813d8311611186575b61116681836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896110aa565b503d61115c565b503461032d578260031936011261032d578051926111aa8461188f565b600d84526020938481016c3837b7b62fb6b0b730b3b2b91960991b815283516111d687820180936119a3565b600d81526111e38161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa908115610323578491611295575b50813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b03925af190811561128a575061127b575b5051908152f35b61128490611830565b38611274565b8351903d90823e3d90fd5b90508681813d83116112cb575b6112ac81836118c5565b810103126102e257516001600160a01b03811681036102e2573861121d565b503d6112a2565b503461032d578260031936011261032d578051926112ef8461188f565b600993848152602094681c9958da5c1a595b9d60ba1b8683015283519086845b8281106113ab57505083602983015281526113298161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916112955750813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b81818601015182828601015201879061130f565b503461032d578260031936011261032d578051926113dc8461188f565b601084526020938481016f726563697069656e744164647265737360801b8152835161140b8782018093611a3b565b601081526111e38161188f565b503461032d578260031936011261032d578051926114358461188f565b601084526020938481016f70726f66696c65325f6d656d6265723160801b8152835161140b8782018093611a3b565b8382346105ab57816003193601126105ab5780516108c491611485826118aa565b600282528036602084013751918291602083526020830190611aa1565b8382346105ab57816003193601126105ab57602090516127108152f35b5082346102d557806003193601126102d557506009546108c482516114ee816114e7816118e8565b03826118c5565b83519384938452806020850152830190611a61565b508290346105ab5760603660031901126105ab5761151f6117c2565b916115286117ee565b6001600160401b039460443594908686116102e257366023870112156102e257858101359687116115b657508560051b84519360209761156a898401876118c5565b8552602488860192880101963688116105ab57602401915b878310611597575050506105a4939450611bee565b82356001600160a01b038116810361032d578152918801918801611582565b634e487b7160e01b845260419052602483fd5b8382346105ab57816003193601126105ab5760209051670de0b6b3a76400008152f35b503461032d578260031936011261032d578051926116098461188f565b601084526020938481016f70726f66696c65315f6d656d6265723160801b8152835161140b8782018093611a3b565b503461032d578260031936011261032d578051926116558461188f565b600e84526020938481016d383937b334b632992fb7bbb732b960911b815283516116828782018093611a15565b600e81526111e38161188f565b8382346105ab57816003193601126105ab5760209051308152f35b503461032d578260031936011261032d578051926116c78461188f565b600a8452602093848101693932b1b4b834b2b73a1960b11b815283516116f087820180936119ef565b600a81526111e38161188f565b503461032d578260031936011261032d5780519261171a8461188f565b6013845260209384810172383937b334b63298afb737ba20a6b2b6b132b960691b8152835161174c87820180936119c9565b601381526111e38161188f565b939050346102d557806003193601126102d5576117758461188f565b600d84526020938481016c706f6f6c5f6d616e616765723160981b815283516111d687820180936119a3565b346117bd5760003660031901126117bd57602060405160008152f35b600080fd5b600435906001600160a01b03821682036117bd57565b606435906001600160a01b03821682036117bd57565b602435906001600160a01b03821682036117bd57565b604435906001600160a01b03821682036117bd57565b608435906001600160a01b03821682036117bd57565b6001600160401b03811161184357604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761184357604052565b60c081019081106001600160401b0382111761184357604052565b604081019081106001600160401b0382111761184357604052565b606081019081106001600160401b0382111761184357604052565b601f909101601f19168101906001600160401b0382119082101761184357604052565b90600091600a549060019082821c91808416938415611999575b6020948585108114611983578484529081156119665750600114611927575b50505050565b9293945090600a6000528360002092846000945b838610611952575050505001019038808080611921565b80548587018301529401938590820161193b565b60ff191685840152505090151560051b0101915038808080611921565b634e487b7160e01b600052602260045260246000fd5b92607f1692611902565b60005b600d81106119b9575050600d6000910152565b81810151838201526020016119a6565b60005b601381106119df57505060136000910152565b81810151838201526020016119cc565b60005b600a8110611a05575050600a6000910152565b81810151838201526020016119f2565b60005b600e8110611a2b575050600e6000910152565b8181015183820152602001611a18565b60005b60108110611a5157505060106000910152565b8181015183820152602001611a3e565b919082519283825260005b848110611a8d575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611a6c565b90815180825260208080930193019160005b828110611ac1575050505090565b83516001600160a01b031685529381019392810192600101611ab3565b9190916101e0810192606081518051845260208101516020850152604081015160408501520151606083015260208101516003811015611ba55760808301526040810151906004821015611ba5576101c09160a084015260608101515160c084015260c060808201519160a0600180821b03938481511660e08801528460208201511661010088015260408101516101208801526060810151610140880152608081015161016088015201516101808601528260a0820151166101a0860152015116910152565b634e487b7160e01b600052602160045260246000fd5b805115611bc85760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611bc85760400190565b90600b5415611c01575b505050600b5490565b604080519092818401906001600160401b0382118383101761184357611cb9918552600183528451611c328161188f565b600c8152600060209586956b506f6f6c50726f66696c653160a01b87850152868101938452611cdb89519a8b9788968794633a92f65f60e01b86526002600487015260a06024870152600e60a48701526d506f6f6c2050726f66696c65203160901b60c487015260e060448701525160e4860152518c610104860152610124850190611a61565b6001600160a01b03948516606485015283810360031901608485015290611aa1565b0393165af1918215611d295750600091611cfd575b50600b5550388080611bf8565b82813d8311611d22575b611d1181836118c5565b810103126102d55750518038611cf0565b503d611d07565b513d6000823e3d90fd5b81810292918115918404141715611d4657565b634e487b7160e01b600052601160045260246000fd5b919493929060409586519160e0830160018060401b038482108183111761184357610160850190811182821017611843578952600090818152816101008601528161012086015281610140860152845260208401918183528985019282845260608601958b51611dcb81611859565b848152875260a060808201998d86815191611de583611874565b81835281602084015282015286606082015286608082015286838201528b528560c0840152629895b7839e84510152621e84808351526127106020845101526702c68af0bb140000606084510152600180831b03169101526003821015611e8157526004831015611e6d575052815115611e5d575252565b680ad78ebc5ac620000082525252565b634e487b7160e01b81526021600452602490fd5b634e487b7160e01b83526021600452602483fd5b949586611ea69498929a9993611d5c565b9060009460405190611eb7826118aa565b60028252604036602084013730611ecd83611bbb565b5233611ed883611bde565b5273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee926001600160a01b03811661222a575b5060405190611f0c8261188f565b600a825260208201693837b7b62fb0b236b4b760b11b8152604051611f356020820180936119ef565b600a8152611f428161188f565b519020916040519263ffa1864960e01b845260048401526020836024816000805160206122fe8339815191525afa9283156121db5789936121e6575b506000805160206122fe8339815191523b156105b357604080516318caf8e360e31b81526001600160a01b0385166004820152602481019190915290899082908190611fce906044830190611a61565b0381836000805160206122fe8339815191525af180156121db57908b9695949392916121a5575b50936120af61206997948461203261201560209a978e976120249b611bee565b94604051998a918c8301611ade565b03601f1981018a52896118c5565b604051998a98899788966370803ea560e11b8852600488015260018060a01b0316602487015260e0604487015260e4860190611a61565b9160018060a01b031660648501528460848501526120a0604060031993848782030160a48801526009548152818c820152016118e8565b918483030160c4850152611aa1565b03926001600160a01b03165af1908115612167578391612172575b50604051631a8ecfcb60e11b81529094602090829060049082906001600160a01b03165afa90811561216757839161212c575b506003821015611e81576003811015611e8157036121185750565b634e487b7160e01b81526001600452602490fd5b90506020813d60201161215f575b81612147602093836118c5565b8101031261032d5751600381101561032d57386120fd565b3d915061213a565b6040513d85823e3d90fd5b90506020813d60201161219d575b8161218d602093836118c5565b8101031261032d575160206120ca565b3d9150612180565b61206997948461203261201560209a976120249a96979e6121c86120af97611830565b9e97969a50505050949750949750611ff5565b6040513d8b823e3d90fd5b9092506020813d602011612222575b81612202602093836118c5565b810103126105b357516001600160a01b03811681036105b3579138611f7e565b3d91506121f5565b925038611efe565b90600160801b8083116122a7578110156122635761224f91611d33565b6001607f1b8101908110611d465760801c90565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220ee88a4dc146e7f130bafea007f6a1e0d6c1b550b0bdd3c2545ed02079ef7e9ec64736f6c63430008130033","sourceMap":"600:5608:127:-:0;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;684:82;;;;600:5608;;684:82;600:5608;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;-1:-1:-1;600:5608:127;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;-1:-1:-1;600:5608:127;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;-1:-1:-1;600:5608:127;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;-1:-1:-1;600:5608:127;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c908162b1fad71461175957508063030e4006146116fd5780630688b135146116aa5780630f166ad41461168f578063174eedde14610c7c5780631b96dce6146116385780631e7bcb2e146115ec5780632e0f2625146115c957806337d1c40414611503578063392f37e9146114bf5780633f26479e146114a25780634bf4ba2114611464578063587c1243146114185780635aff5999146113bf57806366d003ac146112d25780636a38dd0a1461118d57806370a3294414610ffe57806374d9284e14610c7c578063759c9a8614610f9057806379e62d0d14610df55780637b2edf3214610da95780637cbe79ed14610d63578063829e423f14610c7c57806385294f1814610c815780638c7408c414610c7c5780638e0d1a5014610c365780638e3c249314610bea578063a0cf0aea14610bbb578063a407c67a14610923578063aa3744bd146108d0578063c36e336b146107f5578063d1e82b581461079c578063d1f2cd8814610752578063d5bee9f514610664578063da4bf0871461060e578063dac4eb16146105b7578063e070e0ab146104b7578063e99ce911146103315763ef0d790f146101d057600080fd5b3461032d578260031936011261032d578051926101ec8461188f565b6013845260209384810172383937b334b632992fb737ba20a6b2b6b132b960691b8152835161021e87820180936119c9565b6013815261022b8161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e6575b50813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b03925af180156102d8576102c1575b505051908152f35b6102cb8291611830565b6102d557806102b9565b80fd5b83513d84823e3d90fd5b8380fd5b90508681813d831161031c575b6102fd81836118c5565b810103126102e257516001600160a01b03811681036102e25738610265565b503d6102f3565b85513d86823e3d90fd5b8280fd5b503461032d57608036600319011261032d5760443592600160801b9262989680606435608081901b829004868110156104755786908435805b61042157505060249761037e893589611d33565b978482029180830486149015171561040f5782039182116103fd57906103a391611d33565b90808303928084116103fd57146103eb570484018094116103d9576001607f1b84019384106103d95760208484519060801c8152f35b634e487b7160e01b8252601190528390fd5b634e487b7160e01b8452601283528684fd5b634e487b7160e01b8652601185528886fd5b634e487b7160e01b8752601186528987fd5b600191818316610441578061043591612232565b911c90815b909161036a565b80925061044e9199612232565b97600019810190811161046257908161043a565b634e487b7160e01b875260118652602487fd5b855162461bcd60e51b8152602081860152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b50903461032d576101c036600319011261032d576104d36117c2565b906104dc6117ee565b6104e4611804565b6104ec6117d8565b6104f461181a565b9160a4359360038510156105b35760c435958610156105b35760203660e31901126105b35787519661052588611859565b60e435885260c0366101031901126105af578851996105438b611874565b6001600160a01b03906101043582811681036105ab578c526101243591821682036102d55750918a979593916105a4999795936020809d0152610144358b8a01526101643560608a01526101843560808a01526101a43560a08a0152611e95565b9051908152f35b5080fd5b8980fd5b8880fd5b503461032d578260031936011261032d578051926105d48461188f565b600e84526020938481016d3932b3b4b9ba393cafb7bbb732b960911b815283516106018782018093611a15565b600e815261022b8161188f565b503461032d578260031936011261032d5780519261062b8461188f565b600d84526020938481016c616c6c6f5f747265617375727960981b8152835161065787820180936119a3565b600d815261022b8161188f565b503461032d578260031936011261032d578051926106818461188f565b600b938481526020946a1c985b991bdb4818da185960aa1b8683015283519086845b82811061073e57505083602b83015281526106bd8161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e65750813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b8181860101518282860101520187906106a3565b503461032d578260031936011261032d5780519261076f8461188f565b600e84526020938481016d383937b334b63298afb7bbb732b960911b815283516106018782018093611a15565b503461032d578260031936011261032d578051926107b98461188f565b601084526020938481016f3837b7b62fb737ba20a6b0b730b3b2b960811b815283516107e88782018093611a3b565b6010815261022b8161188f565b50903461032d5761014036600319011261032d576108116117c2565b9060243560038110156108cc57604435918210156108cc5760203660631901126108cc5783519261084184611859565b606435845260c03660831901126108c85784519561085e87611874565b6001600160a01b039060843582811681036105ab57885260a43591821682036102d55750918693916108b9959360206108c499015260c4358786015260e43560608601526101043560808601526101243560a0860152611d5c565b905191829182611ade565b0390f35b8580fd5b8480fd5b503461032d578260031936011261032d578051926108ed8461188f565b600a845260209384810169726563697069656e743160b01b8152835161091687820180936119ef565b600a815261022b8161188f565b508290346105ab57816003193601126105ab57805192610942846118aa565b60028452602092823685870137825161095a8161188f565b601081528481016f70726f66696c65325f6d656d6265723160801b815284516109868782018093611a3b565b601081526109938161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610b72575b50813b156108cc578651936318caf8e360e31b94858152868180610a0c60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610b54575b5050610a2b8a611bbb565b52865193610a388561188f565b601085528885016f383937b334b632992fb6b2b6b132b91960811b81528851610a648b82018093611a3b565b60108152610a718161188f565b5190208851928352878301528882602481865afa918215610b4a578692610b12575b50823b156108c857908580949392610ac58a5197889687958694855216809b8401528b60248401526044830190611a61565b03925af18015610b0857610af4575b5050906108c491610ae485611bde565b5251928284938452830190611aa1565b610afe8291611830565b6102d55780610ad4565b84513d84823e3d90fd5b9091508881813d8311610b43575b610b2a81836118c5565b810103126108c8575183811681036108c857908a610a93565b503d610b20565b88513d88823e3d90fd5b610b5d90611830565b6108c857858b610a20565b89513d89823e3d90fd5b9092508781813d8311610baa575b610b8a81836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896109cf565b503d610b80565b87513d87823e3d90fd5b8382346105ab57816003193601126105ab576020905173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b503461032d578260031936011261032d57805192610c078461188f565b601084526020938481016f383937b334b632992fb6b2b6b132b91960811b815283516107e88782018093611a3b565b503461032d578260031936011261032d57805192610c538461188f565b600a8452602093848101693837b7b62fb0b236b4b760b11b8152835161091687820180936119ef565b6117a1565b50903461032d576101a036600319011261032d57610c9d6117c2565b90610ca66117ee565b610cae611804565b610cb66117d8565b610cbe61181a565b9160a4359360038510156105b35760c435958610156105b35760c03660e31901126105b357875196610cef88611874565b6001600160a01b0360e4358181168103610d5f578952610104359081168103610d5b5791889795939160209b9795938c6105a49b0152610124358b8a01526101443560608a01526101643560808a01526101843560a08a01528a5197610d5489611859565b8852611e95565b8a80fd5b8b80fd5b503461032d578260031936011261032d57805192610d808461188f565b600a84526020938481016930b63637afb7bbb732b960b11b8152835161091687820180936119ef565b503461032d578260031936011261032d57805192610dc68461188f565b601084526020938481016f383937b334b63298afb6b2b6b132b91960811b815283516107e88782018093611a3b565b508290346105ab57816003193601126105ab57805192610e14846118aa565b600284526020928236858701378251610e2c8161188f565b600d81528481016c706f6f6c5f6d616e616765723160981b81528451610e5587820180936119a3565b600d8152610e628161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610f51575b50813b156108cc578651936318caf8e360e31b94858152868180610edb60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610f3d575b5050610efa8a611bbb565b52865193610f078561188f565b600d85528885016c3837b7b62fb6b0b730b3b2b91960991b81528851610f308b820180936119a3565b600d8152610a718161188f565b610f4690611830565b6108c857858b610eef565b9092508781813d8311610f89575b610f6981836118c5565b810103126108cc57516001600160a01b03811681036108cc579189610e9e565b503d610f5f565b503461032d578260031936011261032d57805192610fad8461188f565b600c938481526020946b1b9bd7dc9958da5c1a595b9d60a21b8683015283519086845b828110610fea57505083602c83015281526106bd8161188f565b818186010151828286010152018790610fd0565b508290346105ab57816003193601126105ab5780519261101d846118aa565b6002845260209282368587013782516110358161188f565b601081528481016f70726f66696c65315f6d656d6265723160801b815284516110618782018093611a3b565b6010815261106e8161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb157859361114e575b50813b156108cc578651936318caf8e360e31b948581528681806110e760018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b685761113b575b506111028a611bbb565b5286519361110f8561188f565b601085528885016f383937b334b63298afb6b2b6b132b91960811b81528851610a648b82018093611a3b565b61114790969196611830565b948a6110f8565b9092508781813d8311611186575b61116681836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896110aa565b503d61115c565b503461032d578260031936011261032d578051926111aa8461188f565b600d84526020938481016c3837b7b62fb6b0b730b3b2b91960991b815283516111d687820180936119a3565b600d81526111e38161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa908115610323578491611295575b50813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b03925af190811561128a575061127b575b5051908152f35b61128490611830565b38611274565b8351903d90823e3d90fd5b90508681813d83116112cb575b6112ac81836118c5565b810103126102e257516001600160a01b03811681036102e2573861121d565b503d6112a2565b503461032d578260031936011261032d578051926112ef8461188f565b600993848152602094681c9958da5c1a595b9d60ba1b8683015283519086845b8281106113ab57505083602983015281526113298161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916112955750813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b81818601015182828601015201879061130f565b503461032d578260031936011261032d578051926113dc8461188f565b601084526020938481016f726563697069656e744164647265737360801b8152835161140b8782018093611a3b565b601081526111e38161188f565b503461032d578260031936011261032d578051926114358461188f565b601084526020938481016f70726f66696c65325f6d656d6265723160801b8152835161140b8782018093611a3b565b8382346105ab57816003193601126105ab5780516108c491611485826118aa565b600282528036602084013751918291602083526020830190611aa1565b8382346105ab57816003193601126105ab57602090516127108152f35b5082346102d557806003193601126102d557506009546108c482516114ee816114e7816118e8565b03826118c5565b83519384938452806020850152830190611a61565b508290346105ab5760603660031901126105ab5761151f6117c2565b916115286117ee565b6001600160401b039460443594908686116102e257366023870112156102e257858101359687116115b657508560051b84519360209761156a898401876118c5565b8552602488860192880101963688116105ab57602401915b878310611597575050506105a4939450611bee565b82356001600160a01b038116810361032d578152918801918801611582565b634e487b7160e01b845260419052602483fd5b8382346105ab57816003193601126105ab5760209051670de0b6b3a76400008152f35b503461032d578260031936011261032d578051926116098461188f565b601084526020938481016f70726f66696c65315f6d656d6265723160801b8152835161140b8782018093611a3b565b503461032d578260031936011261032d578051926116558461188f565b600e84526020938481016d383937b334b632992fb7bbb732b960911b815283516116828782018093611a15565b600e81526111e38161188f565b8382346105ab57816003193601126105ab5760209051308152f35b503461032d578260031936011261032d578051926116c78461188f565b600a8452602093848101693932b1b4b834b2b73a1960b11b815283516116f087820180936119ef565b600a81526111e38161188f565b503461032d578260031936011261032d5780519261171a8461188f565b6013845260209384810172383937b334b63298afb737ba20a6b2b6b132b960691b8152835161174c87820180936119c9565b601381526111e38161188f565b939050346102d557806003193601126102d5576117758461188f565b600d84526020938481016c706f6f6c5f6d616e616765723160981b815283516111d687820180936119a3565b346117bd5760003660031901126117bd57602060405160008152f35b600080fd5b600435906001600160a01b03821682036117bd57565b606435906001600160a01b03821682036117bd57565b602435906001600160a01b03821682036117bd57565b604435906001600160a01b03821682036117bd57565b608435906001600160a01b03821682036117bd57565b6001600160401b03811161184357604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761184357604052565b60c081019081106001600160401b0382111761184357604052565b604081019081106001600160401b0382111761184357604052565b606081019081106001600160401b0382111761184357604052565b601f909101601f19168101906001600160401b0382119082101761184357604052565b90600091600a549060019082821c91808416938415611999575b6020948585108114611983578484529081156119665750600114611927575b50505050565b9293945090600a6000528360002092846000945b838610611952575050505001019038808080611921565b80548587018301529401938590820161193b565b60ff191685840152505090151560051b0101915038808080611921565b634e487b7160e01b600052602260045260246000fd5b92607f1692611902565b60005b600d81106119b9575050600d6000910152565b81810151838201526020016119a6565b60005b601381106119df57505060136000910152565b81810151838201526020016119cc565b60005b600a8110611a05575050600a6000910152565b81810151838201526020016119f2565b60005b600e8110611a2b575050600e6000910152565b8181015183820152602001611a18565b60005b60108110611a5157505060106000910152565b8181015183820152602001611a3e565b919082519283825260005b848110611a8d575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611a6c565b90815180825260208080930193019160005b828110611ac1575050505090565b83516001600160a01b031685529381019392810192600101611ab3565b9190916101e0810192606081518051845260208101516020850152604081015160408501520151606083015260208101516003811015611ba55760808301526040810151906004821015611ba5576101c09160a084015260608101515160c084015260c060808201519160a0600180821b03938481511660e08801528460208201511661010088015260408101516101208801526060810151610140880152608081015161016088015201516101808601528260a0820151166101a0860152015116910152565b634e487b7160e01b600052602160045260246000fd5b805115611bc85760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611bc85760400190565b90600b5415611c01575b505050600b5490565b604080519092818401906001600160401b0382118383101761184357611cb9918552600183528451611c328161188f565b600c8152600060209586956b506f6f6c50726f66696c653160a01b87850152868101938452611cdb89519a8b9788968794633a92f65f60e01b86526002600487015260a06024870152600e60a48701526d506f6f6c2050726f66696c65203160901b60c487015260e060448701525160e4860152518c610104860152610124850190611a61565b6001600160a01b03948516606485015283810360031901608485015290611aa1565b0393165af1918215611d295750600091611cfd575b50600b5550388080611bf8565b82813d8311611d22575b611d1181836118c5565b810103126102d55750518038611cf0565b503d611d07565b513d6000823e3d90fd5b81810292918115918404141715611d4657565b634e487b7160e01b600052601160045260246000fd5b919493929060409586519160e0830160018060401b038482108183111761184357610160850190811182821017611843578952600090818152816101008601528161012086015281610140860152845260208401918183528985019282845260608601958b51611dcb81611859565b848152875260a060808201998d86815191611de583611874565b81835281602084015282015286606082015286608082015286838201528b528560c0840152629895b7839e84510152621e84808351526127106020845101526702c68af0bb140000606084510152600180831b03169101526003821015611e8157526004831015611e6d575052815115611e5d575252565b680ad78ebc5ac620000082525252565b634e487b7160e01b81526021600452602490fd5b634e487b7160e01b83526021600452602483fd5b949586611ea69498929a9993611d5c565b9060009460405190611eb7826118aa565b60028252604036602084013730611ecd83611bbb565b5233611ed883611bde565b5273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee926001600160a01b03811661222a575b5060405190611f0c8261188f565b600a825260208201693837b7b62fb0b236b4b760b11b8152604051611f356020820180936119ef565b600a8152611f428161188f565b519020916040519263ffa1864960e01b845260048401526020836024816000805160206122fe8339815191525afa9283156121db5789936121e6575b506000805160206122fe8339815191523b156105b357604080516318caf8e360e31b81526001600160a01b0385166004820152602481019190915290899082908190611fce906044830190611a61565b0381836000805160206122fe8339815191525af180156121db57908b9695949392916121a5575b50936120af61206997948461203261201560209a978e976120249b611bee565b94604051998a918c8301611ade565b03601f1981018a52896118c5565b604051998a98899788966370803ea560e11b8852600488015260018060a01b0316602487015260e0604487015260e4860190611a61565b9160018060a01b031660648501528460848501526120a0604060031993848782030160a48801526009548152818c820152016118e8565b918483030160c4850152611aa1565b03926001600160a01b03165af1908115612167578391612172575b50604051631a8ecfcb60e11b81529094602090829060049082906001600160a01b03165afa90811561216757839161212c575b506003821015611e81576003811015611e8157036121185750565b634e487b7160e01b81526001600452602490fd5b90506020813d60201161215f575b81612147602093836118c5565b8101031261032d5751600381101561032d57386120fd565b3d915061213a565b6040513d85823e3d90fd5b90506020813d60201161219d575b8161218d602093836118c5565b8101031261032d575160206120ca565b3d9150612180565b61206997948461203261201560209a976120249a96979e6121c86120af97611830565b9e97969a50505050949750949750611ff5565b6040513d8b823e3d90fd5b9092506020813d602011612222575b81612202602093836118c5565b810103126105b357516001600160a01b03811681036105b3579138611f7e565b3d91506121f5565b925038611efe565b90600160801b8083116122a7578110156122635761224f91611d33565b6001607f1b8101908110611d465760801c90565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220ee88a4dc146e7f130bafea007f6a1e0d6c1b550b0bdd3c2545ed02079ef7e9ec64736f6c63430008130033","sourceMap":"600:5608:127:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;;20373:20:25;;;600:5608:127;;;;291:59:25;;;;;600:5608:127;;;;;;;;;;;291:59:25;;;;;;;:::i;:::-;20373:20;;;;;;;;;;600:5608:127;;;;;;;;20373:20:25;;;;;:::i;:::-;600:5608:127;;20373:20:25;;;600:5608:127;;;20373:20:25;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20373:20;600:5608:127;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;600:5608:127;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;-1:-1:-1;;;1027:8:127;1071:7;600:5608;;;;;;;;;5469:12;;;600:5608;;;;;;;;5606:5;;;600:5608;;;;6099:21;600:5608;;6099:21;;:::i;:::-;600:5608;;;;;;;;;;;;;;;;1027:8;;;;;;;6126:38;;;;:::i;:::-;1027:8;;;;;;;;;;600:5608;;;;1027:8;;;;;;;-1:-1:-1;;;1027:8:127;;;;-1:-1:-1;1027:8:127;;600:5608;;;;977:8;600:5608;977:8;600:5608;;;1027:8;-1:-1:-1;;;600:5608:127;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;1027:8;-1:-1:-1;;;600:5608:127;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;5599:215;291:59:25;;5631:5:127;;;600:5608;;5665:10;;;;:::i;:::-;977:8;;5627:177;;;5599:215;;;;5627:177;5749:16;;;;;;;:::i;:::-;1027:8;-1:-1:-1;;1027:8:127;;;;;;;5627:177;;;;1027:8;-1:-1:-1;;;600:5608:127;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;600:5608:127;;;20303:22:25;;20293:33;600:5608:127;;291:59:25;;;;20344:19;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;20373:20;;;;;;600:5608:127;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;;20373:20:25;;;600:5608:127;;;;291:59:25;;;;;600:5608:127;;;;;;;;;;;291:59:25;;;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3726:1:16;600:5608:127;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;291:59:25;;;;20373:20;;;;600:5608:127;;;291:59:25;;600:5608:127;;;;;;;20373:20:25;;;;;600:5608:127;291:59:25;600:5608:127;291:59:25;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;600:5608:127;3738:32:16;;;;;:::i;:::-;600:5608:127;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;20344:19:25;;;;;;600:5608:127;20344:19:25;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;;;;;291:59:25;600:5608:127;;20373:20:25;;;;;;;;;600:5608:127;20373:20:25;;;;600:5608:127;291:59:25;600:5608:127;291:59:25;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;600:5608:127;3780:32:16;;;600:5608:127;3780:32:16;;;;:::i;:::-;600:5608:127;;;;;;;;;;;;:::i;20373:20:25:-;;;;;:::i;:::-;600:5608:127;;20373:20:25;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;600:5608:127;;;;;;;20344:19:25;;;;;;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20373:20;;;;:::i;:::-;600:5608:127;;20373:20:25;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;600:5608:127;;;;;;;;;;;;;;;;;4445:42:9;600:5608:127;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4703:262;600:5608;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4703:262;:::i;600:5608::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2108:1:16;600:5608:127;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;291:59:25;;;;20373:20;;;;600:5608:127;;;291:59:25;;600:5608:127;;;;;;;20373:20:25;;;;;600:5608:127;291:59:25;600:5608:127;291:59:25;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;600:5608:127;2120:29:16;;;;;:::i;:::-;600:5608:127;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;20373:20::-;;;;:::i;:::-;600:5608:127;;20373:20:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2914:1:16;600:5608:127;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;291:59:25;;;;20373:20;;;;600:5608:127;;;291:59:25;;600:5608:127;;;;;;;20373:20:25;;;;;600:5608:127;291:59:25;600:5608:127;291:59:25;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;600:5608:127;2926:32:16;;;;:::i;:::-;600:5608:127;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;20373:20:25:-;;;;;;;:::i;:::-;;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;;20373:20:25;;;600:5608:127;;;;291:59:25;;;;;600:5608:127;;;;;;;;;;;;291:59:25;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;600:5608:127;;;;;;;20373:20:25;;;;:::i;:::-;;;;;600:5608:127;;291:59:25;;;;;;;;20344:19;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;600:5608:127;;;20303:22:25;;20293:33;600:5608:127;;291:59:25;;;;20344:19;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;20373:20;;;;;;600:5608:127;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;;20373:20:25;;;600:5608:127;;;;291:59:25;;;;;600:5608:127;;;;;;;;;;;;291:59:25;;;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1440:1:16;600:5608:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;887:7;600:5608;;;;;;;;;;;;;;;;;;657:109;600:5608;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;830:8;600:5608;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;306:4:16;600:5608:127;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;:::o;:::-;;;;;-1:-1:-1;;600:5608:127;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;:::o;:::-;;;;657:109;600:5608;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;657:109;-1:-1:-1;600:5608:127;;-1:-1:-1;600:5608:127;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;-1:-1:-1;;600:5608:127;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;600:5608:127;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2977:1:16;600:5608:127;;;;;;;:::o;1193:437::-;;1365:16;600:5608;1365:30;1361:230;;1193:437;600:5608;;;1365:16;600:5608;1193:437;:::o;1361:230::-;600:5608;;;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;291:59:25;600:5608:127;;;;;;;:::i;:::-;;;;-1:-1:-1;600:5608:127;;;;-1:-1:-1;;;600:5608:127;;;;1491:48;;;600:5608;;;;;;291:59:25;;;;;;;;;;1430:150:127;;1470:1;1430:150;;;600:5608;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;:::i;:::-;1430:150;600:5608;;1430:150;;;;;;;;-1:-1:-1;1430:150:127;;;1361:230;-1:-1:-1;1365:16:127;600:5608;-1:-1:-1;1361:230:127;;;;;1430:150;;;;;;;;;;;;;:::i;:::-;;;600:5608;;;;;;1430:150;;;;;;;;;;600:5608;291:59:25;-1:-1:-1;291:59:25;;;;;600:5608:127;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1636:1157;;;;;;600:5608;;;;;;;;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1941:45;2049:15;;;:21;600:5608;;2130:15;;600:5608;;;2210:15;;:22;600:5608;2171:9;600:5608;2292:15;;:34;600:5608;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;2500:26;2496:197;;2702:32;2744:42;1636:1157::o;2496:197::-;600:5608;;;2702:32;2744:42;1636:1157::o;600:5608::-;-1:-1:-1;;;600:5608:127;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;2799:1529;;;;3333:86;2799:1529;;;;;;3333:86;:::i;:::-;3464:16;-1:-1:-1;600:5608:127;;;;;;;:::i;:::-;3478:1;600:5608;;;;;;;;3518:4;3490:33;;;:::i;:::-;600:5608;3561:10;3533:39;;;:::i;:::-;600:5608;4445:42:9;;-1:-1:-1;;;;;600:5608:127;;3855:64;;2799:1529;600:5608;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;20303:22:25;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;;291:59:25;;;;20344:19;;;;;600:5608:127;;20344:19:25;600:5608:127;20344:19:25;-1:-1:-1;;;;;;;;;;;20344:19:25;;;;;;;;;;;2799:1529:127;20373:20:25;-1:-1:-1;;;;;;;;;;;20373:20:25;;;;600:5608:127;;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;20344:19:25;20373:20;;600:5608:127;;291:59:25;;;;;;600:5608:127;;;;;;;291:59:25;;;;;;;:::i;:::-;20373:20;;;-1:-1:-1;;;;;;;;;;;20373:20:25;;;;;;;;;;;;;;;;2799:1529:127;4025:55;;600:5608;;4025:55;;;4125:18;4025:55;600:5608;4025:55;;;;4125:18;4025:55;;:::i;:::-;600:5608;;;4125:18;;;;;;;:::i;:::-;;600:5608;;4125:18;;;;;;:::i;:::-;600:5608;;291:59:25;;;;;;;;;;3937:301:127;;20344:19:25;3937:301:127;;600:5608;291:59:25;600:5608:127;;;;;;;;;291:59:25;;600:5608:127;;;;;;;;:::i;:::-;;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;4192:8;600:5608;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;3937:301;;-1:-1:-1;;;;;600:5608:127;3937:301;;;;;;;;;;;2799:1529;-1:-1:-1;600:5608:127;;-1:-1:-1;;;4256:48:127;;3928:310;;600:5608;;;;20344:19:25;;600:5608:127;;-1:-1:-1;;;;;600:5608:127;4256:48;;;;;;;;;;;2799:1529;600:5608;;;;;;;;;;;;;4256:64;600:5608;;2799:1529;:::o;600:5608::-;-1:-1:-1;;;600:5608:127;;291:59:25;20344:19;600:5608:127;;;;4256:48;;;600:5608;4256:48;;600:5608;4256:48;;;;;;600:5608;4256:48;;;:::i;:::-;;;600:5608;;;;;;;;;;;4256:48;;;;;;-1:-1:-1;4256:48:127;;;600:5608;;291:59:25;600:5608:127;;291:59:25;;;;3937:301:127;;;600:5608;3937:301;;600:5608;3937:301;;;;;;600:5608;3937:301;;;:::i;:::-;;;600:5608;;;;;;3937:301;;;;;-1:-1:-1;3937:301:127;;20373:20:25;600:5608:127;20373:20:25;;;4125:18:127;4025:55;600:5608;20373:20:25;;4125:18:127;20373:20:25;;;;;600:5608:127;20373:20:25;;:::i;:::-;;;;;;;;;;;;;;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20344:19;;;;600:5608:127;20344:19:25;;600:5608:127;20344:19:25;;;;;;600:5608:127;20344:19:25;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;-1:-1:-1;20344:19:25;;3855:64:127;3894:14;-1:-1:-1;3855:64:127;;;5098:269;;-1:-1:-1;;;5194:13:127;;;600:5608;;5270:12;;600:5608;;;5334:7;;;:::i;:::-;-1:-1:-1;;;1027:8:127;;;;-1:-1:-1;1027:8:127;;;977;5098:269;:::o;600:5608::-;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":\"CVStrategyHelpersV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc\",\"dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":{\"keccak256\":\"0x77554e1a0979e997e3d86ecac375c8b14c34f697533533293c1ce2156b128fcc\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://09959931be2ff63c449b7d57e212864fb22550748896cc9535bc45d1a807bdc5\",\"dweb:/ipfs/QmX1gwa5M3GPkVRK6NnFXHAi8YKhxi4L1U2e7BTnLdRDLj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpersV0_0.sol":"CVStrategyHelpersV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304","urls":["bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc","dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpersV0_0.sol":{"keccak256":"0x77554e1a0979e997e3d86ecac375c8b14c34f697533533293c1ce2156b128fcc","urls":["bzz-raw://09959931be2ff63c449b7d57e212864fb22550748896cc9535bc45d1a807bdc5","dweb:/ipfs/QmX1gwa5M3GPkVRK6NnFXHAi8YKhxi4L1U2e7BTnLdRDLj"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":9359,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":11396,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)13277_storage"},{"astId":82654,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"metadata","offset":0,"slot":"9","type":"t_struct(Metadata)3098_storage"},{"astId":82666,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_poolProfileId1_","offset":0,"slot":"11","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpersV0_0.sol","id":83161,"exportedSymbols":{"Accounts":[5068],"Allo":[1390],"CVStrategyHelpersV0_0":[83160],"CVStrategyV0_0":[75909],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"StrategyStruct":[72503],"console":[29591]},"nodeType":"SourceUnit","src":"46:6163:127","nodes":[{"id":82630,"nodeType":"PragmaDirective","src":"46:24:127","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":82631,"nodeType":"ImportDirective","src":"72:31:127","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":83161,"sourceUnit":29592,"symbolAliases":[],"unitAlias":""},{"id":82633,"nodeType":"ImportDirective","src":"104:53:127","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":83161,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":82632,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"112:4:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":82636,"nodeType":"ImportDirective","src":"304:73:127","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","file":"../src/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":83161,"sourceUnit":75910,"symbolAliases":[{"foreign":{"id":82634,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75909,"src":"312:14:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":82635,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"328:14:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":82638,"nodeType":"ImportDirective","src":"378:67:127","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":83161,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":82637,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"386:6:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":82641,"nodeType":"ImportDirective","src":"446:84:127","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":83161,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":82639,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"454:9:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":82640,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"465:8:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":82643,"nodeType":"ImportDirective","src":"532:66:127","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":83161,"sourceUnit":5069,"symbolAliases":[{"foreign":{"id":82642,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5068,"src":"540:8:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83160,"nodeType":"ContractDefinition","src":"600:5608:127","nodes":[{"id":82654,"nodeType":"VariableDeclaration","src":"657:109:127","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"673:8:127","scope":83160,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":82649,"nodeType":"UserDefinedTypeName","pathNode":{"id":82648,"name":"Metadata","nameLocations":["657:8:127"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"657:8:127"},"referencedDeclaration":3098,"src":"657:8:127","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":82651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"704:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","id":82652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"716:48:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""},"value":"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""}],"id":82650,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"684:8:127","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":82653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["694:8:127","707:7:127"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"684:82:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":82659,"nodeType":"VariableDeclaration","src":"795:43:127","nodes":[],"constant":true,"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"819:8:127","scope":83160,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82655,"name":"uint256","nodeType":"ElementaryTypeName","src":"795:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":82658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":82656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"830:2:127","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":82657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"836:2:127","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"830:8:127","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"public"},{"id":82664,"nodeType":"VariableDeclaration","src":"844:50:127","nodes":[],"constant":true,"functionSelector":"3f26479e","mutability":"constant","name":"PERCENTAGE_SCALE","nameLocation":"868:16:127","scope":83160,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82660,"name":"uint256","nodeType":"ElementaryTypeName","src":"844:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":82663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":82661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"887:2:127","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":82662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"893:1:127","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"887:7:127","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":82666,"nodeType":"VariableDeclaration","src":"901:33:127","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"918:16:127","scope":83160,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"901:7:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":82671,"nodeType":"VariableDeclaration","src":"941:44:127","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"967:7:127","scope":83160,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82667,"name":"uint256","nodeType":"ElementaryTypeName","src":"941:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":82670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":82668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"977:1:127","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":82669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"982:3:127","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"977:8:127","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":82676,"nodeType":"VariableDeclaration","src":"991:44:127","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"1017:7:127","scope":83160,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82672,"name":"uint256","nodeType":"ElementaryTypeName","src":"991:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":82675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":82673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1027:1:127","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":82674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1032:3:127","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1027:8:127","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":82681,"nodeType":"VariableDeclaration","src":"1041:37:127","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"1067:1:127","scope":83160,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82677,"name":"uint256","nodeType":"ElementaryTypeName","src":"1041:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":82680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":82678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1071:2:127","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":82679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:127","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1071:7:127","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":82719,"nodeType":"FunctionDefinition","src":"1193:437:127","nodes":[],"body":{"id":82718,"nodeType":"Block","src":"1351:279:127","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":82699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82694,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82666,"src":"1365:16:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":82697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1393:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":82696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1385:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":82695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1385:7:127","typeDescriptions":{}}},"id":82698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1385:10:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1365:30:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82715,"nodeType":"IfStatement","src":"1361:230:127","trueBody":{"id":82714,"nodeType":"Block","src":"1397:194:127","statements":[{"expression":{"id":82712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82700,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82666,"src":"1411:16:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":82703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1470:1:127","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":82704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1473:16:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":82706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1511:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":82707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1523:14:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":82705,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1491:8:127","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":82708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1501:8:127","1514:7:127"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1491:48:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":82709,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82686,"src":"1541:10:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82710,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82689,"src":"1553:13:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":82701,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82684,"src":"1430:8:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":82702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1439:13:127","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1430:22:127","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":82711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1430:150:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1411:169:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":82713,"nodeType":"ExpressionStatement","src":"1411:169:127"}]}},{"expression":{"id":82716,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82666,"src":"1607:16:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":82693,"id":82717,"nodeType":"Return","src":"1600:23:127"}]},"functionSelector":"37d1c404","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"1202:15:127","parameters":{"id":82690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82684,"mutability":"mutable","name":"registry","nameLocation":"1228:8:127","nodeType":"VariableDeclaration","scope":82719,"src":"1218:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":82683,"nodeType":"UserDefinedTypeName","pathNode":{"id":82682,"name":"IRegistry","nameLocations":["1218:9:127"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1218:9:127"},"referencedDeclaration":2802,"src":"1218:9:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":82686,"mutability":"mutable","name":"pool_admin","nameLocation":"1246:10:127","nodeType":"VariableDeclaration","scope":82719,"src":"1238:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82685,"name":"address","nodeType":"ElementaryTypeName","src":"1238:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82689,"mutability":"mutable","name":"pool_managers","nameLocation":"1275:13:127","nodeType":"VariableDeclaration","scope":82719,"src":"1258:30:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82687,"name":"address","nodeType":"ElementaryTypeName","src":"1258:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82688,"nodeType":"ArrayTypeName","src":"1258:9:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1217:72:127"},"returnParameters":{"id":82693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82692,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82719,"src":"1338:7:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1338:7:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1337:9:127"},"scope":83160,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":82822,"nodeType":"FunctionDefinition","src":"1636:1157:127","nodes":[],"body":{"id":82821,"nodeType":"Block","src":"1988:805:127","nodes":[],"statements":[{"expression":{"id":82747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":82739,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82737,"src":"2049:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2056:8:127","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"2049:15:127","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":82743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2065:5:127","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"2049:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":82745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2087:15:127","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":82744,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83004,"src":"2073:13:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":82746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2073:30:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2049:54:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82748,"nodeType":"ExpressionStatement","src":"2049:54:127"},{"expression":{"id":82757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":82749,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82737,"src":"2130:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82752,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2137:8:127","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"2130:15:127","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":82753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2146:8:127","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72475,"src":"2130:24:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":82755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2171:9:127","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":82754,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83004,"src":"2157:13:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":82756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2157:24:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2130:51:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82758,"nodeType":"ExpressionStatement","src":"2130:51:127"},{"expression":{"id":82767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":82759,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82737,"src":"2210:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2217:8:127","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"2210:15:127","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":82763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2226:6:127","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":72477,"src":"2210:22:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":82765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2249:11:127","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":82764,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83004,"src":"2235:13:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":82766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2235:26:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2210:51:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82768,"nodeType":"ExpressionStatement","src":"2210:51:127"},{"expression":{"id":82775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":82769,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82737,"src":"2292:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2299:8:127","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"2292:15:127","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":82773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2308:18:127","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"2292:34:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"302e32","id":82774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2329:9:127","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"},"src":"2292:46:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82776,"nodeType":"ExpressionStatement","src":"2292:46:127"},{"expression":{"id":82781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82777,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82737,"src":"2355:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82779,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2362:17:127","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72499,"src":"2355:24:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82780,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82721,"src":"2382:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2355:44:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82782,"nodeType":"ExpressionStatement","src":"2355:44:127"},{"expression":{"id":82787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82783,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82737,"src":"2409:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2416:12:127","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72488,"src":"2409:19:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82786,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82724,"src":"2431:12:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"2409:34:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"id":82788,"nodeType":"ExpressionStatement","src":"2409:34:127"},{"expression":{"id":82793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82789,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82737,"src":"2453:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2460:11:127","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"2453:18:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82792,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82727,"src":"2474:11:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"2453:32:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"id":82794,"nodeType":"ExpressionStatement","src":"2453:32:127"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":82795,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82730,"src":"2500:11:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":82796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2512:9:127","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"2500:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":82797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2525:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2500:26:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82808,"nodeType":"IfStatement","src":"2496:197:127","trueBody":{"id":82807,"nodeType":"Block","src":"2528:165:127","statements":[{"expression":{"id":82805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82799,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82730,"src":"2644:11:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":82801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2656:9:127","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"2644:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":82802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2668:3:127","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82803,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82659,"src":"2674:8:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2668:14:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2644:38:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82806,"nodeType":"ExpressionStatement","src":"2644:38:127"}]}},{"expression":{"id":82813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82809,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82737,"src":"2702:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2709:11:127","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":72494,"src":"2702:18:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82812,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82730,"src":"2723:11:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"2702:32:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":82814,"nodeType":"ExpressionStatement","src":"2702:32:127"},{"expression":{"id":82819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82815,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82737,"src":"2744:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82817,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2751:16:127","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":72497,"src":"2744:23:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82818,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82733,"src":"2770:16:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"2744:42:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":82820,"nodeType":"ExpressionStatement","src":"2744:42:127"}]},"functionSelector":"c36e336b","implemented":true,"kind":"function","modifiers":[],"name":"getParams","nameLocation":"1645:9:127","parameters":{"id":82734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82721,"mutability":"mutable","name":"registryCommunity","nameLocation":"1672:17:127","nodeType":"VariableDeclaration","scope":82822,"src":"1664:25:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82720,"name":"address","nodeType":"ElementaryTypeName","src":"1664:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82724,"mutability":"mutable","name":"proposalType","nameLocation":"1727:12:127","nodeType":"VariableDeclaration","scope":82822,"src":"1699:40:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":82723,"nodeType":"UserDefinedTypeName","pathNode":{"id":82722,"name":"StrategyStruct.ProposalType","nameLocations":["1699:14:127","1714:12:127"],"nodeType":"IdentifierPath","referencedDeclaration":72385,"src":"1699:27:127"},"referencedDeclaration":72385,"src":"1699:27:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":82727,"mutability":"mutable","name":"pointSystem","nameLocation":"1776:11:127","nodeType":"VariableDeclaration","scope":82822,"src":"1749:38:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":82726,"nodeType":"UserDefinedTypeName","pathNode":{"id":82725,"name":"StrategyStruct.PointSystem","nameLocations":["1749:14:127","1764:11:127"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"1749:26:127"},"referencedDeclaration":72390,"src":"1749:26:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":82730,"mutability":"mutable","name":"pointConfig","nameLocation":"1837:11:127","nodeType":"VariableDeclaration","scope":82822,"src":"1797:51:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":82729,"nodeType":"UserDefinedTypeName","pathNode":{"id":82728,"name":"StrategyStruct.PointSystemConfig","nameLocations":["1797:14:127","1812:17:127"],"nodeType":"IdentifierPath","referencedDeclaration":72459,"src":"1797:32:127"},"referencedDeclaration":72459,"src":"1797:32:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":82733,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"1897:16:127","nodeType":"VariableDeclaration","scope":82822,"src":"1858:55:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":82732,"nodeType":"UserDefinedTypeName","pathNode":{"id":82731,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["1858:14:127","1873:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"1858:31:127"},"referencedDeclaration":72473,"src":"1858:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"1654:265:127"},"returnParameters":{"id":82738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82737,"mutability":"mutable","name":"params","nameLocation":"1980:6:127","nodeType":"VariableDeclaration","scope":82822,"src":"1941:45:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":82736,"nodeType":"UserDefinedTypeName","pathNode":{"id":82735,"name":"StrategyStruct.InitializeParams","nameLocations":["1941:14:127","1956:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"1941:31:127"},"referencedDeclaration":72502,"src":"1941:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"1940:47:127"},"scope":83160,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":82948,"nodeType":"FunctionDefinition","src":"2799:1529:127","nodes":[],"body":{"id":82947,"nodeType":"Block","src":"3212:1116:127","nodes":[],"statements":[{"assignments":[82855],"declarations":[{"constant":false,"id":82855,"mutability":"mutable","name":"params","nameLocation":"3312:6:127","nodeType":"VariableDeclaration","scope":82947,"src":"3273:45:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":82854,"nodeType":"UserDefinedTypeName","pathNode":{"id":82853,"name":"StrategyStruct.InitializeParams","nameLocations":["3273:14:127","3288:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"3273:31:127"},"referencedDeclaration":72502,"src":"3273:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":82863,"initialValue":{"arguments":[{"id":82857,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82829,"src":"3343:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82858,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82837,"src":"3362:12:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},{"id":82859,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82840,"src":"3376:11:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},{"id":82860,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82843,"src":"3389:11:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":82861,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82846,"src":"3402:16:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":82856,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82822,"src":"3333:9:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$72385_$_t_enum$_PointSystem_$72390_$_t_struct$_PointSystemConfig_$72459_memory_ptr_$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$returns$_t_struct$_InitializeParams_$72502_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) pure returns (struct StrategyStruct.InitializeParams memory)"}},"id":82862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3333:86:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"3273:146:127"},{"assignments":[82868],"declarations":[{"constant":false,"id":82868,"mutability":"mutable","name":"_pool_managers","nameLocation":"3447:14:127","nodeType":"VariableDeclaration","scope":82947,"src":"3430:31:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82866,"name":"address","nodeType":"ElementaryTypeName","src":"3430:7:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82867,"nodeType":"ArrayTypeName","src":"3430:9:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82874,"initialValue":{"arguments":[{"hexValue":"32","id":82872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3478:1:127","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":82871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3464:13:127","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":82869,"name":"address","nodeType":"ElementaryTypeName","src":"3468:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82870,"nodeType":"ArrayTypeName","src":"3468:9:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":82873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3464:16:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3430:50:127"},{"expression":{"id":82882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82875,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82868,"src":"3490:14:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82877,"indexExpression":{"hexValue":"30","id":82876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3505:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3490:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82880,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3518:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$83160","typeString":"contract CVStrategyHelpersV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$83160","typeString":"contract CVStrategyHelpersV0_0"}],"id":82879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3510:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82878,"name":"address","nodeType":"ElementaryTypeName","src":"3510:7:127","typeDescriptions":{}}},"id":82881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3510:13:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3490:33:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82883,"nodeType":"ExpressionStatement","src":"3490:33:127"},{"expression":{"id":82892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82884,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82868,"src":"3533:14:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82886,"indexExpression":{"hexValue":"31","id":82885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3548:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3533:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":82889,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3561:3:127","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3565:6:127","memberName":"sender","nodeType":"MemberAccess","src":"3561:10:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3553:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82887,"name":"address","nodeType":"ElementaryTypeName","src":"3553:7:127","typeDescriptions":{}}},"id":82891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3553:19:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3533:39:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82893,"nodeType":"ExpressionStatement","src":"3533:39:127"},{"assignments":[82895],"declarations":[{"constant":false,"id":82895,"mutability":"mutable","name":"_token","nameLocation":"3830:6:127","nodeType":"VariableDeclaration","scope":82947,"src":"3822:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82894,"name":"address","nodeType":"ElementaryTypeName","src":"3822:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82897,"initialValue":{"id":82896,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3839:6:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3822:23:127"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82898,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82834,"src":"3859:5:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":82901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3876:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":82900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3868:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82899,"name":"address","nodeType":"ElementaryTypeName","src":"3868:7:127","typeDescriptions":{}}},"id":82902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3868:10:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3859:19:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82909,"nodeType":"IfStatement","src":"3855:64:127","trueBody":{"id":82908,"nodeType":"Block","src":"3880:39:127","statements":[{"expression":{"id":82906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82904,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82895,"src":"3894:6:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82905,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82834,"src":"3903:5:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3894:14:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82907,"nodeType":"ExpressionStatement","src":"3894:14:127"}]}},{"expression":{"id":82932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82910,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82849,"src":"3928:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":82914,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82832,"src":"4041:8:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[],"expression":{"argumentTypes":[],"id":82915,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"4051:10:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":82916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4051:12:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82917,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82868,"src":"4065:14:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":82913,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82719,"src":"4025:15:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (contract IRegistry,address,address[] memory) returns (bytes32)"}},"id":82918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4025:55:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":82921,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82827,"src":"4102:8:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4094:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82919,"name":"address","nodeType":"ElementaryTypeName","src":"4094:7:127","typeDescriptions":{}}},"id":82922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4094:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":82925,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82855,"src":"4136:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":82923,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4125:3:127","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":82924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4129:6:127","memberName":"encode","nodeType":"MemberAccess","src":"4125:10:127","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":82926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4125:18:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":82927,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82895,"src":"4157:6:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":82928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4177:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":82929,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82654,"src":"4192:8:127","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":82930,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82868,"src":"4214:14:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":82911,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82825,"src":"3937:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":82912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3942:28:127","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"3937:33:127","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":82931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3937:301:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3928:310:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82933,"nodeType":"ExpressionStatement","src":"3928:310:127"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"id":82944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":82938,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82827,"src":"4279:8:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4271:8:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":82936,"name":"address","nodeType":"ElementaryTypeName","src":"4271:8:127","stateMutability":"payable","typeDescriptions":{}}},"id":82939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4271:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82935,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75909,"src":"4256:14:127","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$75909_$","typeString":"type(contract CVStrategyV0_0)"}},"id":82940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4256:33:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}},"id":82941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4290:12:127","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72756,"src":"4256:46:127","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_ProposalType_$72385_$","typeString":"function () view external returns (enum StrategyStruct.ProposalType)"}},"id":82942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4256:48:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":82943,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82837,"src":"4308:12:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"4256:64:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":82934,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"4249:6:127","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":82945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4249:72:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82946,"nodeType":"ExpressionStatement","src":"4249:72:127"}]},"functionSelector":"e070e0ab","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"2808:10:127","parameters":{"id":82847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82825,"mutability":"mutable","name":"allo","nameLocation":"2833:4:127","nodeType":"VariableDeclaration","scope":82948,"src":"2828:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":82824,"nodeType":"UserDefinedTypeName","pathNode":{"id":82823,"name":"Allo","nameLocations":["2828:4:127"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"2828:4:127"},"referencedDeclaration":1390,"src":"2828:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":82827,"mutability":"mutable","name":"strategy","nameLocation":"2855:8:127","nodeType":"VariableDeclaration","scope":82948,"src":"2847:16:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82826,"name":"address","nodeType":"ElementaryTypeName","src":"2847:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82829,"mutability":"mutable","name":"registryCommunity","nameLocation":"2881:17:127","nodeType":"VariableDeclaration","scope":82948,"src":"2873:25:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82828,"name":"address","nodeType":"ElementaryTypeName","src":"2873:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82832,"mutability":"mutable","name":"registry","nameLocation":"2918:8:127","nodeType":"VariableDeclaration","scope":82948,"src":"2908:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":82831,"nodeType":"UserDefinedTypeName","pathNode":{"id":82830,"name":"IRegistry","nameLocations":["2908:9:127"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"2908:9:127"},"referencedDeclaration":2802,"src":"2908:9:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":82834,"mutability":"mutable","name":"token","nameLocation":"2944:5:127","nodeType":"VariableDeclaration","scope":82948,"src":"2936:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82833,"name":"address","nodeType":"ElementaryTypeName","src":"2936:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82837,"mutability":"mutable","name":"proposalType","nameLocation":"2987:12:127","nodeType":"VariableDeclaration","scope":82948,"src":"2959:40:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":82836,"nodeType":"UserDefinedTypeName","pathNode":{"id":82835,"name":"StrategyStruct.ProposalType","nameLocations":["2959:14:127","2974:12:127"],"nodeType":"IdentifierPath","referencedDeclaration":72385,"src":"2959:27:127"},"referencedDeclaration":72385,"src":"2959:27:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":82840,"mutability":"mutable","name":"pointSystem","nameLocation":"3036:11:127","nodeType":"VariableDeclaration","scope":82948,"src":"3009:38:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":82839,"nodeType":"UserDefinedTypeName","pathNode":{"id":82838,"name":"StrategyStruct.PointSystem","nameLocations":["3009:14:127","3024:11:127"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"3009:26:127"},"referencedDeclaration":72390,"src":"3009:26:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":82843,"mutability":"mutable","name":"pointConfig","nameLocation":"3097:11:127","nodeType":"VariableDeclaration","scope":82948,"src":"3057:51:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":82842,"nodeType":"UserDefinedTypeName","pathNode":{"id":82841,"name":"StrategyStruct.PointSystemConfig","nameLocations":["3057:14:127","3072:17:127"],"nodeType":"IdentifierPath","referencedDeclaration":72459,"src":"3057:32:127"},"referencedDeclaration":72459,"src":"3057:32:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":82846,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3157:16:127","nodeType":"VariableDeclaration","scope":82948,"src":"3118:55:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":82845,"nodeType":"UserDefinedTypeName","pathNode":{"id":82844,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["3118:14:127","3133:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"3118:31:127"},"referencedDeclaration":72473,"src":"3118:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"2818:361:127"},"returnParameters":{"id":82850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82849,"mutability":"mutable","name":"poolId","nameLocation":"3204:6:127","nodeType":"VariableDeclaration","scope":82948,"src":"3196:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82848,"name":"uint256","nodeType":"ElementaryTypeName","src":"3196:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3195:16:127"},"scope":83160,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82990,"nodeType":"FunctionDefinition","src":"4334:638:127","nodes":[],"body":{"id":82989,"nodeType":"Block","src":"4686:286:127","nodes":[],"statements":[{"expression":{"arguments":[{"id":82975,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82951,"src":"4727:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"id":82976,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82953,"src":"4745:8:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82977,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82955,"src":"4767:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82978,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82958,"src":"4798:8:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"id":82979,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82960,"src":"4820:5:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82980,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82963,"src":"4839:12:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},{"id":82981,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82966,"src":"4865:11:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"hexValue":"30","id":82984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4923:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":82982,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"4890:14:127","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":82983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4905:17:127","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":72459,"src":"4890:32:127","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$72459_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":82985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4890:35:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":82986,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82969,"src":"4939:16:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":82974,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[82948,82990],"referencedDeclaration":82948,"src":"4703:10:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$72385_$_t_enum$_PointSystem_$72390_$_t_struct$_PointSystemConfig_$72459_memory_ptr_$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) returns (uint256)"}},"id":82987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4703:262:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82973,"id":82988,"nodeType":"Return","src":"4696:269:127"}]},"functionSelector":"85294f18","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"4343:10:127","parameters":{"id":82970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82951,"mutability":"mutable","name":"allo","nameLocation":"4368:4:127","nodeType":"VariableDeclaration","scope":82990,"src":"4363:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":82950,"nodeType":"UserDefinedTypeName","pathNode":{"id":82949,"name":"Allo","nameLocations":["4363:4:127"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"4363:4:127"},"referencedDeclaration":1390,"src":"4363:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":82953,"mutability":"mutable","name":"strategy","nameLocation":"4390:8:127","nodeType":"VariableDeclaration","scope":82990,"src":"4382:16:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82952,"name":"address","nodeType":"ElementaryTypeName","src":"4382:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82955,"mutability":"mutable","name":"registryCommunity","nameLocation":"4416:17:127","nodeType":"VariableDeclaration","scope":82990,"src":"4408:25:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82954,"name":"address","nodeType":"ElementaryTypeName","src":"4408:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82958,"mutability":"mutable","name":"registry","nameLocation":"4453:8:127","nodeType":"VariableDeclaration","scope":82990,"src":"4443:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":82957,"nodeType":"UserDefinedTypeName","pathNode":{"id":82956,"name":"IRegistry","nameLocations":["4443:9:127"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"4443:9:127"},"referencedDeclaration":2802,"src":"4443:9:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":82960,"mutability":"mutable","name":"token","nameLocation":"4479:5:127","nodeType":"VariableDeclaration","scope":82990,"src":"4471:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82959,"name":"address","nodeType":"ElementaryTypeName","src":"4471:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82963,"mutability":"mutable","name":"proposalType","nameLocation":"4522:12:127","nodeType":"VariableDeclaration","scope":82990,"src":"4494:40:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":82962,"nodeType":"UserDefinedTypeName","pathNode":{"id":82961,"name":"StrategyStruct.ProposalType","nameLocations":["4494:14:127","4509:12:127"],"nodeType":"IdentifierPath","referencedDeclaration":72385,"src":"4494:27:127"},"referencedDeclaration":72385,"src":"4494:27:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":82966,"mutability":"mutable","name":"pointSystem","nameLocation":"4571:11:127","nodeType":"VariableDeclaration","scope":82990,"src":"4544:38:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":82965,"nodeType":"UserDefinedTypeName","pathNode":{"id":82964,"name":"StrategyStruct.PointSystem","nameLocations":["4544:14:127","4559:11:127"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"4544:26:127"},"referencedDeclaration":72390,"src":"4544:26:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":82969,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"4631:16:127","nodeType":"VariableDeclaration","scope":82990,"src":"4592:55:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":82968,"nodeType":"UserDefinedTypeName","pathNode":{"id":82967,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["4592:14:127","4607:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"4592:31:127"},"referencedDeclaration":72473,"src":"4592:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"4353:300:127"},"returnParameters":{"id":82973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82972,"mutability":"mutable","name":"poolId","nameLocation":"4678:6:127","nodeType":"VariableDeclaration","scope":82990,"src":"4670:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82971,"name":"uint256","nodeType":"ElementaryTypeName","src":"4670:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4669:16:127"},"scope":83160,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83004,"nodeType":"FunctionDefinition","src":"4978:114:127","nodes":[],"body":{"id":83003,"nodeType":"Block","src":"5050:42:127","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82997,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82992,"src":"5067:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":83000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":82998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5077:2:127","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":82999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5083:2:127","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"5077:8:127","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"5067:18:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82996,"id":83002,"nodeType":"Return","src":"5060:25:127"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"4987:13:127","parameters":{"id":82993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82992,"mutability":"mutable","name":"_amount","nameLocation":"5009:7:127","nodeType":"VariableDeclaration","scope":83004,"src":"5001:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82991,"name":"uint256","nodeType":"ElementaryTypeName","src":"5001:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5000:17:127"},"returnParameters":{"id":82996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":83004,"src":"5041:7:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82994,"name":"uint256","nodeType":"ElementaryTypeName","src":"5041:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5040:9:127"},"scope":83160,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":83038,"nodeType":"FunctionDefinition","src":"5098:269:127","nodes":[],"body":{"id":83037,"nodeType":"Block","src":"5176:191:127","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83014,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83006,"src":"5194:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":83015,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82676,"src":"5200:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5194:13:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":83017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5209:42:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":83013,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5186:7:127","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":83018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5186:66:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83019,"nodeType":"ExpressionStatement","src":"5186:66:127"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83021,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83008,"src":"5270:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":83022,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82676,"src":"5275:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5270:12:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":83024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5284:30:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":83020,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5262:7:127","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":83025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5262:53:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83026,"nodeType":"ExpressionStatement","src":"5262:53:127"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83027,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83006,"src":"5334:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":83028,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83008,"src":"5339:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5334:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83030,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5333:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":83031,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82671,"src":"5345:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5333:19:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83033,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5332:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":83034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5357:3:127","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5332:28:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":83012,"id":83036,"nodeType":"Return","src":"5325:35:127"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"5107:4:127","parameters":{"id":83009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83006,"mutability":"mutable","name":"_a","nameLocation":"5120:2:127","nodeType":"VariableDeclaration","scope":83038,"src":"5112:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83005,"name":"uint256","nodeType":"ElementaryTypeName","src":"5112:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83008,"mutability":"mutable","name":"_b","nameLocation":"5132:2:127","nodeType":"VariableDeclaration","scope":83038,"src":"5124:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83007,"name":"uint256","nodeType":"ElementaryTypeName","src":"5124:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5111:24:127"},"returnParameters":{"id":83012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83011,"mutability":"mutable","name":"_result","nameLocation":"5167:7:127","nodeType":"VariableDeclaration","scope":83038,"src":"5159:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83010,"name":"uint256","nodeType":"ElementaryTypeName","src":"5159:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5158:17:127"},"scope":83160,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":83102,"nodeType":"FunctionDefinition","src":"5373:447:127","nodes":[],"body":{"id":83101,"nodeType":"Block","src":"5451:369:127","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83048,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83040,"src":"5469:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":83049,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82676,"src":"5474:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5469:12:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":83051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5483:30:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":83047,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5461:7:127","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":83052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5461:53:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83053,"nodeType":"ExpressionStatement","src":"5461:53:127"},{"assignments":[83055],"declarations":[{"constant":false,"id":83055,"mutability":"mutable","name":"a","nameLocation":"5532:1:127","nodeType":"VariableDeclaration","scope":83101,"src":"5524:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83054,"name":"uint256","nodeType":"ElementaryTypeName","src":"5524:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83057,"initialValue":{"id":83056,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83040,"src":"5536:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5524:14:127"},{"assignments":[83059],"declarations":[{"constant":false,"id":83059,"mutability":"mutable","name":"b","nameLocation":"5556:1:127","nodeType":"VariableDeclaration","scope":83101,"src":"5548:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83058,"name":"uint256","nodeType":"ElementaryTypeName","src":"5548:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83061,"initialValue":{"id":83060,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83042,"src":"5560:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5548:14:127"},{"expression":{"id":83064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83062,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83045,"src":"5572:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83063,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82676,"src":"5582:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5572:17:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83065,"nodeType":"ExpressionStatement","src":"5572:17:127"},{"body":{"id":83099,"nodeType":"Block","src":"5613:201:127","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83069,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83059,"src":"5631:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":83070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5635:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5631:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":83072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5640:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5631:10:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":83097,"nodeType":"Block","src":"5721:83:127","statements":[{"expression":{"id":83091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83086,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83045,"src":"5739:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83088,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83045,"src":"5754:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83089,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83055,"src":"5763:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83087,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83038,"src":"5749:4:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":83090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5749:16:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5739:26:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83092,"nodeType":"ExpressionStatement","src":"5739:26:127"},{"expression":{"id":83095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83093,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83059,"src":"5783:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":83094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5788:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5783:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83096,"nodeType":"ExpressionStatement","src":"5783:6:127"}]},"id":83098,"nodeType":"IfStatement","src":"5627:177:127","trueBody":{"id":83085,"nodeType":"Block","src":"5643:72:127","statements":[{"expression":{"id":83079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83074,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83055,"src":"5661:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83076,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83055,"src":"5670:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83077,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83055,"src":"5673:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83075,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83038,"src":"5665:4:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":83078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5665:10:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5661:14:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83080,"nodeType":"ExpressionStatement","src":"5661:14:127"},{"expression":{"id":83083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83081,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83059,"src":"5693:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":83082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5699:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5693:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83084,"nodeType":"ExpressionStatement","src":"5693:7:127"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83066,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83059,"src":"5606:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":83067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5610:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5606:5:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83100,"nodeType":"WhileStatement","src":"5599:215:127"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"5382:4:127","parameters":{"id":83043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83040,"mutability":"mutable","name":"_a","nameLocation":"5395:2:127","nodeType":"VariableDeclaration","scope":83102,"src":"5387:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83039,"name":"uint256","nodeType":"ElementaryTypeName","src":"5387:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83042,"mutability":"mutable","name":"_b","nameLocation":"5407:2:127","nodeType":"VariableDeclaration","scope":83102,"src":"5399:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83041,"name":"uint256","nodeType":"ElementaryTypeName","src":"5399:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5386:24:127"},"returnParameters":{"id":83046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83045,"mutability":"mutable","name":"_result","nameLocation":"5442:7:127","nodeType":"VariableDeclaration","scope":83102,"src":"5434:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83044,"name":"uint256","nodeType":"ElementaryTypeName","src":"5434:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5433:17:127"},"scope":83160,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":83159,"nodeType":"FunctionDefinition","src":"5826:380:127","nodes":[],"body":{"id":83158,"nodeType":"Block","src":"5989:217:127","nodes":[],"statements":[{"assignments":[83116],"declarations":[{"constant":false,"id":83116,"mutability":"mutable","name":"t","nameLocation":"6007:1:127","nodeType":"VariableDeclaration","scope":83158,"src":"5999:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83115,"name":"uint256","nodeType":"ElementaryTypeName","src":"5999:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83118,"initialValue":{"id":83117,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83104,"src":"6011:11:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5999:23:127"},{"assignments":[83120],"declarations":[{"constant":false,"id":83120,"mutability":"mutable","name":"atTWO_128","nameLocation":"6040:9:127","nodeType":"VariableDeclaration","scope":83158,"src":"6032:17:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83119,"name":"uint256","nodeType":"ElementaryTypeName","src":"6032:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83130,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83122,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83110,"src":"6058:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":83123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6067:3:127","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6058:12:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83125,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6057:14:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":83126,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82681,"src":"6074:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6057:18:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83128,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83116,"src":"6077:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83121,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83102,"src":"6052:4:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":83129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6052:27:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6032:47:127"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83131,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83120,"src":"6099:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":83132,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83106,"src":"6111:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6099:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83134,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6098:23:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83135,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83108,"src":"6126:10:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":83136,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82681,"src":"6139:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6126:14:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83138,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82676,"src":"6144:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":83139,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83120,"src":"6154:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6144:19:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6143:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6126:38:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6125:40:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83144,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82681,"src":"6169:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":83145,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83110,"src":"6173:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6169:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83147,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6168:11:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6125:54:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83149,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6124:56:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6098:82:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83151,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6097:84:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":83152,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82671,"src":"6184:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6097:94:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83154,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6096:96:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":83155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6196:3:127","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6096:103:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":83114,"id":83157,"nodeType":"Return","src":"6089:110:127"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"5835:20:127","parameters":{"id":83111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83104,"mutability":"mutable","name":"_timePassed","nameLocation":"5864:11:127","nodeType":"VariableDeclaration","scope":83159,"src":"5856:19:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83103,"name":"uint256","nodeType":"ElementaryTypeName","src":"5856:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83106,"mutability":"mutable","name":"_lastConv","nameLocation":"5885:9:127","nodeType":"VariableDeclaration","scope":83159,"src":"5877:17:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83105,"name":"uint256","nodeType":"ElementaryTypeName","src":"5877:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83108,"mutability":"mutable","name":"_oldAmount","nameLocation":"5904:10:127","nodeType":"VariableDeclaration","scope":83159,"src":"5896:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83107,"name":"uint256","nodeType":"ElementaryTypeName","src":"5896:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83110,"mutability":"mutable","name":"decay","nameLocation":"5924:5:127","nodeType":"VariableDeclaration","scope":83159,"src":"5916:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83109,"name":"uint256","nodeType":"ElementaryTypeName","src":"5916:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5855:75:127"},"returnParameters":{"id":83114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":83159,"src":"5976:7:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83112,"name":"uint256","nodeType":"ElementaryTypeName","src":"5976:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5975:9:127"},"scope":83160,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":82644,"name":"Native","nameLocations":["634:6:127"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"634:6:127"},"id":82645,"nodeType":"InheritanceSpecifier","src":"634:6:127"},{"baseName":{"id":82646,"name":"Accounts","nameLocations":["642:8:127"],"nodeType":"IdentifierPath","referencedDeclaration":5068,"src":"642:8:127"},"id":82647,"nodeType":"InheritanceSpecifier","src":"642:8:127"}],"canonicalName":"CVStrategyHelpersV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[83160,5068,12180,11387,3106],"name":"CVStrategyHelpersV0_0","nameLocation":"609:21:127","scope":83161,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":127}
\ No newline at end of file
+{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608034620001f4576040906001600160401b0381830181811183821017620001de57835260019182815283516060810181811084821117620001de578552602e81526020917f516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a4468838301526d6132666a3547656536684a7a535960901b868301528183820152516009558051928311620001de57600a548481811c91168015620001d3575b83821014620001bd57601f81116200016e575b5081601f8411600114620001015750928293918392600094620000f5575b50501b916000199060031b1c191617600a555b516123539081620001fa8239f35b015192503880620000d4565b919083601f198116600a60005284600020946000905b8883831062000153575050501062000139575b505050811b01600a55620000e7565b015160001960f88460031b161c191690553880806200012a565b85870151885590960195948501948793509081019062000117565b600a60005282600020601f850160051c810191848610620001b2575b601f0160051c019085905b828110620001a5575050620000b6565b6000815501859062000195565b90915081906200018a565b634e487b7160e01b600052602260045260246000fd5b90607f1690620000a3565b634e487b7160e01b600052604160045260246000fd5b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c908162b1fad71461175957508063030e4006146116fd5780630688b135146116aa5780630f166ad41461168f578063174eedde14610c7c5780631b96dce6146116385780631e7bcb2e146115ec5780632e0f2625146115c957806337d1c40414611503578063392f37e9146114bf5780633f26479e146114a25780634bf4ba2114611464578063587c1243146114185780635aff5999146113bf57806366d003ac146112d25780636a38dd0a1461118d57806370a3294414610ffe57806374d9284e14610c7c578063759c9a8614610f9057806379e62d0d14610df55780637b2edf3214610da95780637cbe79ed14610d63578063829e423f14610c7c57806385294f1814610c815780638c7408c414610c7c5780638e0d1a5014610c365780638e3c249314610bea578063a0cf0aea14610bbb578063a407c67a14610923578063aa3744bd146108d0578063c36e336b146107f5578063d1e82b581461079c578063d1f2cd8814610752578063d5bee9f514610664578063da4bf0871461060e578063dac4eb16146105b7578063e070e0ab146104b7578063e99ce911146103315763ef0d790f146101d057600080fd5b3461032d578260031936011261032d578051926101ec8461188f565b6013845260209384810172383937b334b632992fb737ba20a6b2b6b132b960691b8152835161021e87820180936119c9565b6013815261022b8161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e6575b50813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b03925af180156102d8576102c1575b505051908152f35b6102cb8291611830565b6102d557806102b9565b80fd5b83513d84823e3d90fd5b8380fd5b90508681813d831161031c575b6102fd81836118c5565b810103126102e257516001600160a01b03811681036102e25738610265565b503d6102f3565b85513d86823e3d90fd5b8280fd5b503461032d57608036600319011261032d5760443592600160801b9262989680606435608081901b829004868110156104755786908435805b61042157505060249761037e893589611d33565b978482029180830486149015171561040f5782039182116103fd57906103a391611d33565b90808303928084116103fd57146103eb570484018094116103d9576001607f1b84019384106103d95760208484519060801c8152f35b634e487b7160e01b8252601190528390fd5b634e487b7160e01b8452601283528684fd5b634e487b7160e01b8652601185528886fd5b634e487b7160e01b8752601186528987fd5b600191818316610441578061043591612232565b911c90815b909161036a565b80925061044e9199612232565b97600019810190811161046257908161043a565b634e487b7160e01b875260118652602487fd5b855162461bcd60e51b8152602081860152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b50903461032d576101c036600319011261032d576104d36117c2565b906104dc6117ee565b6104e4611804565b6104ec6117d8565b6104f461181a565b9160a4359360038510156105b35760c435958610156105b35760203660e31901126105b35787519661052588611859565b60e435885260c0366101031901126105af578851996105438b611874565b6001600160a01b03906101043582811681036105ab578c526101243591821682036102d55750918a979593916105a4999795936020809d0152610144358b8a01526101643560608a01526101843560808a01526101a43560a08a0152611e95565b9051908152f35b5080fd5b8980fd5b8880fd5b503461032d578260031936011261032d578051926105d48461188f565b600e84526020938481016d3932b3b4b9ba393cafb7bbb732b960911b815283516106018782018093611a15565b600e815261022b8161188f565b503461032d578260031936011261032d5780519261062b8461188f565b600d84526020938481016c616c6c6f5f747265617375727960981b8152835161065787820180936119a3565b600d815261022b8161188f565b503461032d578260031936011261032d578051926106818461188f565b600b938481526020946a1c985b991bdb4818da185960aa1b8683015283519086845b82811061073e57505083602b83015281526106bd8161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e65750813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b8181860101518282860101520187906106a3565b503461032d578260031936011261032d5780519261076f8461188f565b600e84526020938481016d383937b334b63298afb7bbb732b960911b815283516106018782018093611a15565b503461032d578260031936011261032d578051926107b98461188f565b601084526020938481016f3837b7b62fb737ba20a6b0b730b3b2b960811b815283516107e88782018093611a3b565b6010815261022b8161188f565b50903461032d5761014036600319011261032d576108116117c2565b9060243560038110156108cc57604435918210156108cc5760203660631901126108cc5783519261084184611859565b606435845260c03660831901126108c85784519561085e87611874565b6001600160a01b039060843582811681036105ab57885260a43591821682036102d55750918693916108b9959360206108c499015260c4358786015260e43560608601526101043560808601526101243560a0860152611d5c565b905191829182611ade565b0390f35b8580fd5b8480fd5b503461032d578260031936011261032d578051926108ed8461188f565b600a845260209384810169726563697069656e743160b01b8152835161091687820180936119ef565b600a815261022b8161188f565b508290346105ab57816003193601126105ab57805192610942846118aa565b60028452602092823685870137825161095a8161188f565b601081528481016f70726f66696c65325f6d656d6265723160801b815284516109868782018093611a3b565b601081526109938161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610b72575b50813b156108cc578651936318caf8e360e31b94858152868180610a0c60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610b54575b5050610a2b8a611bbb565b52865193610a388561188f565b601085528885016f383937b334b632992fb6b2b6b132b91960811b81528851610a648b82018093611a3b565b60108152610a718161188f565b5190208851928352878301528882602481865afa918215610b4a578692610b12575b50823b156108c857908580949392610ac58a5197889687958694855216809b8401528b60248401526044830190611a61565b03925af18015610b0857610af4575b5050906108c491610ae485611bde565b5251928284938452830190611aa1565b610afe8291611830565b6102d55780610ad4565b84513d84823e3d90fd5b9091508881813d8311610b43575b610b2a81836118c5565b810103126108c8575183811681036108c857908a610a93565b503d610b20565b88513d88823e3d90fd5b610b5d90611830565b6108c857858b610a20565b89513d89823e3d90fd5b9092508781813d8311610baa575b610b8a81836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896109cf565b503d610b80565b87513d87823e3d90fd5b8382346105ab57816003193601126105ab576020905173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b503461032d578260031936011261032d57805192610c078461188f565b601084526020938481016f383937b334b632992fb6b2b6b132b91960811b815283516107e88782018093611a3b565b503461032d578260031936011261032d57805192610c538461188f565b600a8452602093848101693837b7b62fb0b236b4b760b11b8152835161091687820180936119ef565b6117a1565b50903461032d576101a036600319011261032d57610c9d6117c2565b90610ca66117ee565b610cae611804565b610cb66117d8565b610cbe61181a565b9160a4359360038510156105b35760c435958610156105b35760c03660e31901126105b357875196610cef88611874565b6001600160a01b0360e4358181168103610d5f578952610104359081168103610d5b5791889795939160209b9795938c6105a49b0152610124358b8a01526101443560608a01526101643560808a01526101843560a08a01528a5197610d5489611859565b8852611e95565b8a80fd5b8b80fd5b503461032d578260031936011261032d57805192610d808461188f565b600a84526020938481016930b63637afb7bbb732b960b11b8152835161091687820180936119ef565b503461032d578260031936011261032d57805192610dc68461188f565b601084526020938481016f383937b334b63298afb6b2b6b132b91960811b815283516107e88782018093611a3b565b508290346105ab57816003193601126105ab57805192610e14846118aa565b600284526020928236858701378251610e2c8161188f565b600d81528481016c706f6f6c5f6d616e616765723160981b81528451610e5587820180936119a3565b600d8152610e628161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610f51575b50813b156108cc578651936318caf8e360e31b94858152868180610edb60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610f3d575b5050610efa8a611bbb565b52865193610f078561188f565b600d85528885016c3837b7b62fb6b0b730b3b2b91960991b81528851610f308b820180936119a3565b600d8152610a718161188f565b610f4690611830565b6108c857858b610eef565b9092508781813d8311610f89575b610f6981836118c5565b810103126108cc57516001600160a01b03811681036108cc579189610e9e565b503d610f5f565b503461032d578260031936011261032d57805192610fad8461188f565b600c938481526020946b1b9bd7dc9958da5c1a595b9d60a21b8683015283519086845b828110610fea57505083602c83015281526106bd8161188f565b818186010151828286010152018790610fd0565b508290346105ab57816003193601126105ab5780519261101d846118aa565b6002845260209282368587013782516110358161188f565b601081528481016f70726f66696c65315f6d656d6265723160801b815284516110618782018093611a3b565b6010815261106e8161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb157859361114e575b50813b156108cc578651936318caf8e360e31b948581528681806110e760018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b685761113b575b506111028a611bbb565b5286519361110f8561188f565b601085528885016f383937b334b63298afb6b2b6b132b91960811b81528851610a648b82018093611a3b565b61114790969196611830565b948a6110f8565b9092508781813d8311611186575b61116681836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896110aa565b503d61115c565b503461032d578260031936011261032d578051926111aa8461188f565b600d84526020938481016c3837b7b62fb6b0b730b3b2b91960991b815283516111d687820180936119a3565b600d81526111e38161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa908115610323578491611295575b50813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b03925af190811561128a575061127b575b5051908152f35b61128490611830565b38611274565b8351903d90823e3d90fd5b90508681813d83116112cb575b6112ac81836118c5565b810103126102e257516001600160a01b03811681036102e2573861121d565b503d6112a2565b503461032d578260031936011261032d578051926112ef8461188f565b600993848152602094681c9958da5c1a595b9d60ba1b8683015283519086845b8281106113ab57505083602983015281526113298161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916112955750813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b81818601015182828601015201879061130f565b503461032d578260031936011261032d578051926113dc8461188f565b601084526020938481016f726563697069656e744164647265737360801b8152835161140b8782018093611a3b565b601081526111e38161188f565b503461032d578260031936011261032d578051926114358461188f565b601084526020938481016f70726f66696c65325f6d656d6265723160801b8152835161140b8782018093611a3b565b8382346105ab57816003193601126105ab5780516108c491611485826118aa565b600282528036602084013751918291602083526020830190611aa1565b8382346105ab57816003193601126105ab57602090516127108152f35b5082346102d557806003193601126102d557506009546108c482516114ee816114e7816118e8565b03826118c5565b83519384938452806020850152830190611a61565b508290346105ab5760603660031901126105ab5761151f6117c2565b916115286117ee565b6001600160401b039460443594908686116102e257366023870112156102e257858101359687116115b657508560051b84519360209761156a898401876118c5565b8552602488860192880101963688116105ab57602401915b878310611597575050506105a4939450611bee565b82356001600160a01b038116810361032d578152918801918801611582565b634e487b7160e01b845260419052602483fd5b8382346105ab57816003193601126105ab5760209051670de0b6b3a76400008152f35b503461032d578260031936011261032d578051926116098461188f565b601084526020938481016f70726f66696c65315f6d656d6265723160801b8152835161140b8782018093611a3b565b503461032d578260031936011261032d578051926116558461188f565b600e84526020938481016d383937b334b632992fb7bbb732b960911b815283516116828782018093611a15565b600e81526111e38161188f565b8382346105ab57816003193601126105ab5760209051308152f35b503461032d578260031936011261032d578051926116c78461188f565b600a8452602093848101693932b1b4b834b2b73a1960b11b815283516116f087820180936119ef565b600a81526111e38161188f565b503461032d578260031936011261032d5780519261171a8461188f565b6013845260209384810172383937b334b63298afb737ba20a6b2b6b132b960691b8152835161174c87820180936119c9565b601381526111e38161188f565b939050346102d557806003193601126102d5576117758461188f565b600d84526020938481016c706f6f6c5f6d616e616765723160981b815283516111d687820180936119a3565b346117bd5760003660031901126117bd57602060405160008152f35b600080fd5b600435906001600160a01b03821682036117bd57565b606435906001600160a01b03821682036117bd57565b602435906001600160a01b03821682036117bd57565b604435906001600160a01b03821682036117bd57565b608435906001600160a01b03821682036117bd57565b6001600160401b03811161184357604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761184357604052565b60c081019081106001600160401b0382111761184357604052565b604081019081106001600160401b0382111761184357604052565b606081019081106001600160401b0382111761184357604052565b601f909101601f19168101906001600160401b0382119082101761184357604052565b90600091600a549060019082821c91808416938415611999575b6020948585108114611983578484529081156119665750600114611927575b50505050565b9293945090600a6000528360002092846000945b838610611952575050505001019038808080611921565b80548587018301529401938590820161193b565b60ff191685840152505090151560051b0101915038808080611921565b634e487b7160e01b600052602260045260246000fd5b92607f1692611902565b60005b600d81106119b9575050600d6000910152565b81810151838201526020016119a6565b60005b601381106119df57505060136000910152565b81810151838201526020016119cc565b60005b600a8110611a05575050600a6000910152565b81810151838201526020016119f2565b60005b600e8110611a2b575050600e6000910152565b8181015183820152602001611a18565b60005b60108110611a5157505060106000910152565b8181015183820152602001611a3e565b919082519283825260005b848110611a8d575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611a6c565b90815180825260208080930193019160005b828110611ac1575050505090565b83516001600160a01b031685529381019392810192600101611ab3565b9190916101e0810192606081518051845260208101516020850152604081015160408501520151606083015260208101516003811015611ba55760808301526040810151906004821015611ba5576101c09160a084015260608101515160c084015260c060808201519160a0600180821b03938481511660e08801528460208201511661010088015260408101516101208801526060810151610140880152608081015161016088015201516101808601528260a0820151166101a0860152015116910152565b634e487b7160e01b600052602160045260246000fd5b805115611bc85760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611bc85760400190565b90600b5415611c01575b505050600b5490565b604080519092818401906001600160401b0382118383101761184357611cb9918552600183528451611c328161188f565b600c8152600060209586956b506f6f6c50726f66696c653160a01b87850152868101938452611cdb89519a8b9788968794633a92f65f60e01b86526002600487015260a06024870152600e60a48701526d506f6f6c2050726f66696c65203160901b60c487015260e060448701525160e4860152518c610104860152610124850190611a61565b6001600160a01b03948516606485015283810360031901608485015290611aa1565b0393165af1918215611d295750600091611cfd575b50600b5550388080611bf8565b82813d8311611d22575b611d1181836118c5565b810103126102d55750518038611cf0565b503d611d07565b513d6000823e3d90fd5b81810292918115918404141715611d4657565b634e487b7160e01b600052601160045260246000fd5b919493929060409586519160e0830160018060401b038482108183111761184357610160850190811182821017611843578952600090818152816101008601528161012086015281610140860152845260208401918183528985019282845260608601958b51611dcb81611859565b848152875260a060808201998d86815191611de583611874565b81835281602084015282015286606082015286608082015286838201528b528560c0840152629895b7839e84510152621e84808351526127106020845101526702c68af0bb140000606084510152600180831b03169101526003821015611e8157526004831015611e6d575052815115611e5d575252565b680ad78ebc5ac620000082525252565b634e487b7160e01b81526021600452602490fd5b634e487b7160e01b83526021600452602483fd5b949586611ea69498929a9993611d5c565b9060009460405190611eb7826118aa565b60028252604036602084013730611ecd83611bbb565b5233611ed883611bde565b5273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee926001600160a01b03811661222a575b5060405190611f0c8261188f565b600a825260208201693837b7b62fb0b236b4b760b11b8152604051611f356020820180936119ef565b600a8152611f428161188f565b519020916040519263ffa1864960e01b845260048401526020836024816000805160206122fe8339815191525afa9283156121db5789936121e6575b506000805160206122fe8339815191523b156105b357604080516318caf8e360e31b81526001600160a01b0385166004820152602481019190915290899082908190611fce906044830190611a61565b0381836000805160206122fe8339815191525af180156121db57908b9695949392916121a5575b50936120af61206997948461203261201560209a978e976120249b611bee565b94604051998a918c8301611ade565b03601f1981018a52896118c5565b604051998a98899788966370803ea560e11b8852600488015260018060a01b0316602487015260e0604487015260e4860190611a61565b9160018060a01b031660648501528460848501526120a0604060031993848782030160a48801526009548152818c820152016118e8565b918483030160c4850152611aa1565b03926001600160a01b03165af1908115612167578391612172575b50604051631a8ecfcb60e11b81529094602090829060049082906001600160a01b03165afa90811561216757839161212c575b506003821015611e81576003811015611e8157036121185750565b634e487b7160e01b81526001600452602490fd5b90506020813d60201161215f575b81612147602093836118c5565b8101031261032d5751600381101561032d57386120fd565b3d915061213a565b6040513d85823e3d90fd5b90506020813d60201161219d575b8161218d602093836118c5565b8101031261032d575160206120ca565b3d9150612180565b61206997948461203261201560209a976120249a96979e6121c86120af97611830565b9e97969a50505050949750949750611ff5565b6040513d8b823e3d90fd5b9092506020813d602011612222575b81612202602093836118c5565b810103126105b357516001600160a01b03811681036105b3579138611f7e565b3d91506121f5565b925038611efe565b90600160801b8083116122a7578110156122635761224f91611d33565b6001607f1b8101908110611d465760801c90565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da264697066735822122008f6b8cdf5fdc8e57a40c85780d6071a3ed50782f4da8d4d1cba710100e210fa64736f6c63430008130033","sourceMap":"600:5608:127:-:0;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;684:82;;;;600:5608;;684:82;600:5608;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;-1:-1:-1;600:5608:127;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;-1:-1:-1;600:5608:127;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;-1:-1:-1;600:5608:127;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;-1:-1:-1;600:5608:127;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c908162b1fad71461175957508063030e4006146116fd5780630688b135146116aa5780630f166ad41461168f578063174eedde14610c7c5780631b96dce6146116385780631e7bcb2e146115ec5780632e0f2625146115c957806337d1c40414611503578063392f37e9146114bf5780633f26479e146114a25780634bf4ba2114611464578063587c1243146114185780635aff5999146113bf57806366d003ac146112d25780636a38dd0a1461118d57806370a3294414610ffe57806374d9284e14610c7c578063759c9a8614610f9057806379e62d0d14610df55780637b2edf3214610da95780637cbe79ed14610d63578063829e423f14610c7c57806385294f1814610c815780638c7408c414610c7c5780638e0d1a5014610c365780638e3c249314610bea578063a0cf0aea14610bbb578063a407c67a14610923578063aa3744bd146108d0578063c36e336b146107f5578063d1e82b581461079c578063d1f2cd8814610752578063d5bee9f514610664578063da4bf0871461060e578063dac4eb16146105b7578063e070e0ab146104b7578063e99ce911146103315763ef0d790f146101d057600080fd5b3461032d578260031936011261032d578051926101ec8461188f565b6013845260209384810172383937b334b632992fb737ba20a6b2b6b132b960691b8152835161021e87820180936119c9565b6013815261022b8161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e6575b50813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b03925af180156102d8576102c1575b505051908152f35b6102cb8291611830565b6102d557806102b9565b80fd5b83513d84823e3d90fd5b8380fd5b90508681813d831161031c575b6102fd81836118c5565b810103126102e257516001600160a01b03811681036102e25738610265565b503d6102f3565b85513d86823e3d90fd5b8280fd5b503461032d57608036600319011261032d5760443592600160801b9262989680606435608081901b829004868110156104755786908435805b61042157505060249761037e893589611d33565b978482029180830486149015171561040f5782039182116103fd57906103a391611d33565b90808303928084116103fd57146103eb570484018094116103d9576001607f1b84019384106103d95760208484519060801c8152f35b634e487b7160e01b8252601190528390fd5b634e487b7160e01b8452601283528684fd5b634e487b7160e01b8652601185528886fd5b634e487b7160e01b8752601186528987fd5b600191818316610441578061043591612232565b911c90815b909161036a565b80925061044e9199612232565b97600019810190811161046257908161043a565b634e487b7160e01b875260118652602487fd5b855162461bcd60e51b8152602081860152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b50903461032d576101c036600319011261032d576104d36117c2565b906104dc6117ee565b6104e4611804565b6104ec6117d8565b6104f461181a565b9160a4359360038510156105b35760c435958610156105b35760203660e31901126105b35787519661052588611859565b60e435885260c0366101031901126105af578851996105438b611874565b6001600160a01b03906101043582811681036105ab578c526101243591821682036102d55750918a979593916105a4999795936020809d0152610144358b8a01526101643560608a01526101843560808a01526101a43560a08a0152611e95565b9051908152f35b5080fd5b8980fd5b8880fd5b503461032d578260031936011261032d578051926105d48461188f565b600e84526020938481016d3932b3b4b9ba393cafb7bbb732b960911b815283516106018782018093611a15565b600e815261022b8161188f565b503461032d578260031936011261032d5780519261062b8461188f565b600d84526020938481016c616c6c6f5f747265617375727960981b8152835161065787820180936119a3565b600d815261022b8161188f565b503461032d578260031936011261032d578051926106818461188f565b600b938481526020946a1c985b991bdb4818da185960aa1b8683015283519086845b82811061073e57505083602b83015281526106bd8161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e65750813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b8181860101518282860101520187906106a3565b503461032d578260031936011261032d5780519261076f8461188f565b600e84526020938481016d383937b334b63298afb7bbb732b960911b815283516106018782018093611a15565b503461032d578260031936011261032d578051926107b98461188f565b601084526020938481016f3837b7b62fb737ba20a6b0b730b3b2b960811b815283516107e88782018093611a3b565b6010815261022b8161188f565b50903461032d5761014036600319011261032d576108116117c2565b9060243560038110156108cc57604435918210156108cc5760203660631901126108cc5783519261084184611859565b606435845260c03660831901126108c85784519561085e87611874565b6001600160a01b039060843582811681036105ab57885260a43591821682036102d55750918693916108b9959360206108c499015260c4358786015260e43560608601526101043560808601526101243560a0860152611d5c565b905191829182611ade565b0390f35b8580fd5b8480fd5b503461032d578260031936011261032d578051926108ed8461188f565b600a845260209384810169726563697069656e743160b01b8152835161091687820180936119ef565b600a815261022b8161188f565b508290346105ab57816003193601126105ab57805192610942846118aa565b60028452602092823685870137825161095a8161188f565b601081528481016f70726f66696c65325f6d656d6265723160801b815284516109868782018093611a3b565b601081526109938161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610b72575b50813b156108cc578651936318caf8e360e31b94858152868180610a0c60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610b54575b5050610a2b8a611bbb565b52865193610a388561188f565b601085528885016f383937b334b632992fb6b2b6b132b91960811b81528851610a648b82018093611a3b565b60108152610a718161188f565b5190208851928352878301528882602481865afa918215610b4a578692610b12575b50823b156108c857908580949392610ac58a5197889687958694855216809b8401528b60248401526044830190611a61565b03925af18015610b0857610af4575b5050906108c491610ae485611bde565b5251928284938452830190611aa1565b610afe8291611830565b6102d55780610ad4565b84513d84823e3d90fd5b9091508881813d8311610b43575b610b2a81836118c5565b810103126108c8575183811681036108c857908a610a93565b503d610b20565b88513d88823e3d90fd5b610b5d90611830565b6108c857858b610a20565b89513d89823e3d90fd5b9092508781813d8311610baa575b610b8a81836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896109cf565b503d610b80565b87513d87823e3d90fd5b8382346105ab57816003193601126105ab576020905173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b503461032d578260031936011261032d57805192610c078461188f565b601084526020938481016f383937b334b632992fb6b2b6b132b91960811b815283516107e88782018093611a3b565b503461032d578260031936011261032d57805192610c538461188f565b600a8452602093848101693837b7b62fb0b236b4b760b11b8152835161091687820180936119ef565b6117a1565b50903461032d576101a036600319011261032d57610c9d6117c2565b90610ca66117ee565b610cae611804565b610cb66117d8565b610cbe61181a565b9160a4359360038510156105b35760c435958610156105b35760c03660e31901126105b357875196610cef88611874565b6001600160a01b0360e4358181168103610d5f578952610104359081168103610d5b5791889795939160209b9795938c6105a49b0152610124358b8a01526101443560608a01526101643560808a01526101843560a08a01528a5197610d5489611859565b8852611e95565b8a80fd5b8b80fd5b503461032d578260031936011261032d57805192610d808461188f565b600a84526020938481016930b63637afb7bbb732b960b11b8152835161091687820180936119ef565b503461032d578260031936011261032d57805192610dc68461188f565b601084526020938481016f383937b334b63298afb6b2b6b132b91960811b815283516107e88782018093611a3b565b508290346105ab57816003193601126105ab57805192610e14846118aa565b600284526020928236858701378251610e2c8161188f565b600d81528481016c706f6f6c5f6d616e616765723160981b81528451610e5587820180936119a3565b600d8152610e628161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610f51575b50813b156108cc578651936318caf8e360e31b94858152868180610edb60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610f3d575b5050610efa8a611bbb565b52865193610f078561188f565b600d85528885016c3837b7b62fb6b0b730b3b2b91960991b81528851610f308b820180936119a3565b600d8152610a718161188f565b610f4690611830565b6108c857858b610eef565b9092508781813d8311610f89575b610f6981836118c5565b810103126108cc57516001600160a01b03811681036108cc579189610e9e565b503d610f5f565b503461032d578260031936011261032d57805192610fad8461188f565b600c938481526020946b1b9bd7dc9958da5c1a595b9d60a21b8683015283519086845b828110610fea57505083602c83015281526106bd8161188f565b818186010151828286010152018790610fd0565b508290346105ab57816003193601126105ab5780519261101d846118aa565b6002845260209282368587013782516110358161188f565b601081528481016f70726f66696c65315f6d656d6265723160801b815284516110618782018093611a3b565b6010815261106e8161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb157859361114e575b50813b156108cc578651936318caf8e360e31b948581528681806110e760018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b685761113b575b506111028a611bbb565b5286519361110f8561188f565b601085528885016f383937b334b63298afb6b2b6b132b91960811b81528851610a648b82018093611a3b565b61114790969196611830565b948a6110f8565b9092508781813d8311611186575b61116681836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896110aa565b503d61115c565b503461032d578260031936011261032d578051926111aa8461188f565b600d84526020938481016c3837b7b62fb6b0b730b3b2b91960991b815283516111d687820180936119a3565b600d81526111e38161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa908115610323578491611295575b50813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b03925af190811561128a575061127b575b5051908152f35b61128490611830565b38611274565b8351903d90823e3d90fd5b90508681813d83116112cb575b6112ac81836118c5565b810103126102e257516001600160a01b03811681036102e2573861121d565b503d6112a2565b503461032d578260031936011261032d578051926112ef8461188f565b600993848152602094681c9958da5c1a595b9d60ba1b8683015283519086845b8281106113ab57505083602983015281526113298161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916112955750813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b81818601015182828601015201879061130f565b503461032d578260031936011261032d578051926113dc8461188f565b601084526020938481016f726563697069656e744164647265737360801b8152835161140b8782018093611a3b565b601081526111e38161188f565b503461032d578260031936011261032d578051926114358461188f565b601084526020938481016f70726f66696c65325f6d656d6265723160801b8152835161140b8782018093611a3b565b8382346105ab57816003193601126105ab5780516108c491611485826118aa565b600282528036602084013751918291602083526020830190611aa1565b8382346105ab57816003193601126105ab57602090516127108152f35b5082346102d557806003193601126102d557506009546108c482516114ee816114e7816118e8565b03826118c5565b83519384938452806020850152830190611a61565b508290346105ab5760603660031901126105ab5761151f6117c2565b916115286117ee565b6001600160401b039460443594908686116102e257366023870112156102e257858101359687116115b657508560051b84519360209761156a898401876118c5565b8552602488860192880101963688116105ab57602401915b878310611597575050506105a4939450611bee565b82356001600160a01b038116810361032d578152918801918801611582565b634e487b7160e01b845260419052602483fd5b8382346105ab57816003193601126105ab5760209051670de0b6b3a76400008152f35b503461032d578260031936011261032d578051926116098461188f565b601084526020938481016f70726f66696c65315f6d656d6265723160801b8152835161140b8782018093611a3b565b503461032d578260031936011261032d578051926116558461188f565b600e84526020938481016d383937b334b632992fb7bbb732b960911b815283516116828782018093611a15565b600e81526111e38161188f565b8382346105ab57816003193601126105ab5760209051308152f35b503461032d578260031936011261032d578051926116c78461188f565b600a8452602093848101693932b1b4b834b2b73a1960b11b815283516116f087820180936119ef565b600a81526111e38161188f565b503461032d578260031936011261032d5780519261171a8461188f565b6013845260209384810172383937b334b63298afb737ba20a6b2b6b132b960691b8152835161174c87820180936119c9565b601381526111e38161188f565b939050346102d557806003193601126102d5576117758461188f565b600d84526020938481016c706f6f6c5f6d616e616765723160981b815283516111d687820180936119a3565b346117bd5760003660031901126117bd57602060405160008152f35b600080fd5b600435906001600160a01b03821682036117bd57565b606435906001600160a01b03821682036117bd57565b602435906001600160a01b03821682036117bd57565b604435906001600160a01b03821682036117bd57565b608435906001600160a01b03821682036117bd57565b6001600160401b03811161184357604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761184357604052565b60c081019081106001600160401b0382111761184357604052565b604081019081106001600160401b0382111761184357604052565b606081019081106001600160401b0382111761184357604052565b601f909101601f19168101906001600160401b0382119082101761184357604052565b90600091600a549060019082821c91808416938415611999575b6020948585108114611983578484529081156119665750600114611927575b50505050565b9293945090600a6000528360002092846000945b838610611952575050505001019038808080611921565b80548587018301529401938590820161193b565b60ff191685840152505090151560051b0101915038808080611921565b634e487b7160e01b600052602260045260246000fd5b92607f1692611902565b60005b600d81106119b9575050600d6000910152565b81810151838201526020016119a6565b60005b601381106119df57505060136000910152565b81810151838201526020016119cc565b60005b600a8110611a05575050600a6000910152565b81810151838201526020016119f2565b60005b600e8110611a2b575050600e6000910152565b8181015183820152602001611a18565b60005b60108110611a5157505060106000910152565b8181015183820152602001611a3e565b919082519283825260005b848110611a8d575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611a6c565b90815180825260208080930193019160005b828110611ac1575050505090565b83516001600160a01b031685529381019392810192600101611ab3565b9190916101e0810192606081518051845260208101516020850152604081015160408501520151606083015260208101516003811015611ba55760808301526040810151906004821015611ba5576101c09160a084015260608101515160c084015260c060808201519160a0600180821b03938481511660e08801528460208201511661010088015260408101516101208801526060810151610140880152608081015161016088015201516101808601528260a0820151166101a0860152015116910152565b634e487b7160e01b600052602160045260246000fd5b805115611bc85760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611bc85760400190565b90600b5415611c01575b505050600b5490565b604080519092818401906001600160401b0382118383101761184357611cb9918552600183528451611c328161188f565b600c8152600060209586956b506f6f6c50726f66696c653160a01b87850152868101938452611cdb89519a8b9788968794633a92f65f60e01b86526002600487015260a06024870152600e60a48701526d506f6f6c2050726f66696c65203160901b60c487015260e060448701525160e4860152518c610104860152610124850190611a61565b6001600160a01b03948516606485015283810360031901608485015290611aa1565b0393165af1918215611d295750600091611cfd575b50600b5550388080611bf8565b82813d8311611d22575b611d1181836118c5565b810103126102d55750518038611cf0565b503d611d07565b513d6000823e3d90fd5b81810292918115918404141715611d4657565b634e487b7160e01b600052601160045260246000fd5b919493929060409586519160e0830160018060401b038482108183111761184357610160850190811182821017611843578952600090818152816101008601528161012086015281610140860152845260208401918183528985019282845260608601958b51611dcb81611859565b848152875260a060808201998d86815191611de583611874565b81835281602084015282015286606082015286608082015286838201528b528560c0840152629895b7839e84510152621e84808351526127106020845101526702c68af0bb140000606084510152600180831b03169101526003821015611e8157526004831015611e6d575052815115611e5d575252565b680ad78ebc5ac620000082525252565b634e487b7160e01b81526021600452602490fd5b634e487b7160e01b83526021600452602483fd5b949586611ea69498929a9993611d5c565b9060009460405190611eb7826118aa565b60028252604036602084013730611ecd83611bbb565b5233611ed883611bde565b5273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee926001600160a01b03811661222a575b5060405190611f0c8261188f565b600a825260208201693837b7b62fb0b236b4b760b11b8152604051611f356020820180936119ef565b600a8152611f428161188f565b519020916040519263ffa1864960e01b845260048401526020836024816000805160206122fe8339815191525afa9283156121db5789936121e6575b506000805160206122fe8339815191523b156105b357604080516318caf8e360e31b81526001600160a01b0385166004820152602481019190915290899082908190611fce906044830190611a61565b0381836000805160206122fe8339815191525af180156121db57908b9695949392916121a5575b50936120af61206997948461203261201560209a978e976120249b611bee565b94604051998a918c8301611ade565b03601f1981018a52896118c5565b604051998a98899788966370803ea560e11b8852600488015260018060a01b0316602487015260e0604487015260e4860190611a61565b9160018060a01b031660648501528460848501526120a0604060031993848782030160a48801526009548152818c820152016118e8565b918483030160c4850152611aa1565b03926001600160a01b03165af1908115612167578391612172575b50604051631a8ecfcb60e11b81529094602090829060049082906001600160a01b03165afa90811561216757839161212c575b506003821015611e81576003811015611e8157036121185750565b634e487b7160e01b81526001600452602490fd5b90506020813d60201161215f575b81612147602093836118c5565b8101031261032d5751600381101561032d57386120fd565b3d915061213a565b6040513d85823e3d90fd5b90506020813d60201161219d575b8161218d602093836118c5565b8101031261032d575160206120ca565b3d9150612180565b61206997948461203261201560209a976120249a96979e6121c86120af97611830565b9e97969a50505050949750949750611ff5565b6040513d8b823e3d90fd5b9092506020813d602011612222575b81612202602093836118c5565b810103126105b357516001600160a01b03811681036105b3579138611f7e565b3d91506121f5565b925038611efe565b90600160801b8083116122a7578110156122635761224f91611d33565b6001607f1b8101908110611d465760801c90565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da264697066735822122008f6b8cdf5fdc8e57a40c85780d6071a3ed50782f4da8d4d1cba710100e210fa64736f6c63430008130033","sourceMap":"600:5608:127:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;;20373:20:25;;;600:5608:127;;;;291:59:25;;;;;600:5608:127;;;;;;;;;;;291:59:25;;;;;;;:::i;:::-;20373:20;;;;;;;;;;600:5608:127;;;;;;;;20373:20:25;;;;;:::i;:::-;600:5608:127;;20373:20:25;;;600:5608:127;;;20373:20:25;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20373:20;600:5608:127;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;600:5608:127;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;-1:-1:-1;;;1027:8:127;1071:7;600:5608;;;;;;;;;5469:12;;;600:5608;;;;;;;;5606:5;;;600:5608;;;;6099:21;600:5608;;6099:21;;:::i;:::-;600:5608;;;;;;;;;;;;;;;;1027:8;;;;;;;6126:38;;;;:::i;:::-;1027:8;;;;;;;;;;600:5608;;;;1027:8;;;;;;;-1:-1:-1;;;1027:8:127;;;;-1:-1:-1;1027:8:127;;600:5608;;;;977:8;600:5608;977:8;600:5608;;;1027:8;-1:-1:-1;;;600:5608:127;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;1027:8;-1:-1:-1;;;600:5608:127;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;5599:215;291:59:25;;5631:5:127;;;600:5608;;5665:10;;;;:::i;:::-;977:8;;5627:177;;;5599:215;;;;5627:177;5749:16;;;;;;;:::i;:::-;1027:8;-1:-1:-1;;1027:8:127;;;;;;;5627:177;;;;1027:8;-1:-1:-1;;;600:5608:127;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;600:5608:127;;;20303:22:25;;20293:33;600:5608:127;;291:59:25;;;;20344:19;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;20373:20;;;;;;600:5608:127;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;;20373:20:25;;;600:5608:127;;;;291:59:25;;;;;600:5608:127;;;;;;;;;;;291:59:25;;;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3726:1:16;600:5608:127;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;291:59:25;;;;20373:20;;;;600:5608:127;;;291:59:25;;600:5608:127;;;;;;;20373:20:25;;;;;600:5608:127;291:59:25;600:5608:127;291:59:25;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;600:5608:127;3738:32:16;;;;;:::i;:::-;600:5608:127;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;20344:19:25;;;;;;600:5608:127;20344:19:25;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;;;;;291:59:25;600:5608:127;;20373:20:25;;;;;;;;;600:5608:127;20373:20:25;;;;600:5608:127;291:59:25;600:5608:127;291:59:25;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;600:5608:127;3780:32:16;;;600:5608:127;3780:32:16;;;;:::i;:::-;600:5608:127;;;;;;;;;;;;:::i;20373:20:25:-;;;;;:::i;:::-;600:5608:127;;20373:20:25;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;600:5608:127;;;;;;;20344:19:25;;;;;;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20373:20;;;;:::i;:::-;600:5608:127;;20373:20:25;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;600:5608:127;;;;;;;;;;;;;;;;;4445:42:9;600:5608:127;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4703:262;600:5608;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4703:262;:::i;600:5608::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2108:1:16;600:5608:127;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;291:59:25;;;;20373:20;;;;600:5608:127;;;291:59:25;;600:5608:127;;;;;;;20373:20:25;;;;;600:5608:127;291:59:25;600:5608:127;291:59:25;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;600:5608:127;2120:29:16;;;;;:::i;:::-;600:5608:127;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;20373:20::-;;;;:::i;:::-;600:5608:127;;20373:20:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2914:1:16;600:5608:127;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;291:59:25;;;;20373:20;;;;600:5608:127;;;291:59:25;;600:5608:127;;;;;;;20373:20:25;;;;;600:5608:127;291:59:25;600:5608:127;291:59:25;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;600:5608:127;2926:32:16;;;;:::i;:::-;600:5608:127;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;20373:20:25:-;;;;;;;:::i;:::-;;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;291:59:25;;;;20344:19;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;600:5608:127;20373:20:25;;;;;;600:5608:127;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;;20373:20:25;;;600:5608:127;;;;291:59:25;;;;;600:5608:127;;;;;;;;;;;;291:59:25;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;600:5608:127;;;;;;;20373:20:25;;;;:::i;:::-;;;;;600:5608:127;;291:59:25;;;;;;;;20344:19;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;600:5608:127;;;20303:22:25;;20293:33;600:5608:127;;291:59:25;;;;20344:19;;;;;600:5608:127;-1:-1:-1;;;;;;;;;;;20344:19:25;;;600:5608:127;20344:19:25;;;;;;;;;;;;;20373:20;;;;;;600:5608:127;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;;20373:20:25;;;600:5608:127;;;;291:59:25;;;;;600:5608:127;;;;;;;;;;;;291:59:25;;;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1440:1:16;600:5608:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;887:7;600:5608;;;;;;;;;;;;;;;;;;657:109;600:5608;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;830:8;600:5608;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;306:4:16;600:5608:127;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;600:5608:127:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;20303:22:25;;;600:5608:127;;;:::i;:::-;;;;;;-1:-1:-1;;600:5608:127;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;:::o;:::-;;;;;-1:-1:-1;;600:5608:127;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;:::o;:::-;;;;657:109;600:5608;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;657:109;-1:-1:-1;600:5608:127;;-1:-1:-1;600:5608:127;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;-1:-1:-1;;600:5608:127;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;600:5608:127;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2977:1:16;600:5608:127;;;;;;;:::o;1193:437::-;;1365:16;600:5608;1365:30;1361:230;;1193:437;600:5608;;;1365:16;600:5608;1193:437;:::o;1361:230::-;600:5608;;;;;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;;;291:59:25;600:5608:127;;;;;;;:::i;:::-;;;;-1:-1:-1;600:5608:127;;;;-1:-1:-1;;;600:5608:127;;;;1491:48;;;600:5608;;;;;;291:59:25;;;;;;;;;;1430:150:127;;1470:1;1430:150;;;600:5608;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;600:5608:127;;;;;;;;;;-1:-1:-1;;600:5608:127;;;;;;;:::i;:::-;1430:150;600:5608;;1430:150;;;;;;;;-1:-1:-1;1430:150:127;;;1361:230;-1:-1:-1;1365:16:127;600:5608;-1:-1:-1;1361:230:127;;;;;1430:150;;;;;;;;;;;;;:::i;:::-;;;600:5608;;;;;;1430:150;;;;;;;;;;600:5608;291:59:25;-1:-1:-1;291:59:25;;;;;600:5608:127;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1636:1157;;;;;;600:5608;;;;;;;;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1941:45;2049:15;;;:21;600:5608;;2130:15;;600:5608;;;2210:15;;:22;600:5608;2171:9;600:5608;2292:15;;:34;600:5608;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;2500:26;2496:197;;2702:32;2744:42;1636:1157::o;2496:197::-;600:5608;;;2702:32;2744:42;1636:1157::o;600:5608::-;-1:-1:-1;;;600:5608:127;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;2799:1529;;;;3333:86;2799:1529;;;;;;3333:86;:::i;:::-;3464:16;-1:-1:-1;600:5608:127;;;;;;;:::i;:::-;3478:1;600:5608;;;;;;;;3518:4;3490:33;;;:::i;:::-;600:5608;3561:10;3533:39;;;:::i;:::-;600:5608;4445:42:9;;-1:-1:-1;;;;;600:5608:127;;3855:64;;2799:1529;600:5608;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;20303:22:25;;600:5608:127;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;600:5608:127;20293:33:25;;600:5608:127;;;291:59:25;;;;20344:19;;;;;600:5608:127;;20344:19:25;600:5608:127;20344:19:25;-1:-1:-1;;;;;;;;;;;20344:19:25;;;;;;;;;;;2799:1529:127;20373:20:25;-1:-1:-1;;;;;;;;;;;20373:20:25;;;;600:5608:127;;;-1:-1:-1;;;20373:20:25;;-1:-1:-1;;;;;600:5608:127;;20344:19:25;20373:20;;600:5608:127;;291:59:25;;;;;;600:5608:127;;;;;;;291:59:25;;;;;;;:::i;:::-;20373:20;;;-1:-1:-1;;;;;;;;;;;20373:20:25;;;;;;;;;;;;;;;;2799:1529:127;4025:55;;600:5608;;4025:55;;;4125:18;4025:55;600:5608;4025:55;;;;4125:18;4025:55;;:::i;:::-;600:5608;;;4125:18;;;;;;;:::i;:::-;;600:5608;;4125:18;;;;;;:::i;:::-;600:5608;;291:59:25;;;;;;;;;;3937:301:127;;20344:19:25;3937:301:127;;600:5608;291:59:25;600:5608:127;;;;;;;;;291:59:25;;600:5608:127;;;;;;;;:::i;:::-;;291:59:25;600:5608:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;4192:8;600:5608;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;3937:301;;-1:-1:-1;;;;;600:5608:127;3937:301;;;;;;;;;;;2799:1529;-1:-1:-1;600:5608:127;;-1:-1:-1;;;4256:48:127;;3928:310;;600:5608;;;;20344:19:25;;600:5608:127;;-1:-1:-1;;;;;600:5608:127;4256:48;;;;;;;;;;;2799:1529;600:5608;;;;;;;;;;;;;4256:64;600:5608;;2799:1529;:::o;600:5608::-;-1:-1:-1;;;600:5608:127;;291:59:25;20344:19;600:5608:127;;;;4256:48;;;600:5608;4256:48;;600:5608;4256:48;;;;;;600:5608;4256:48;;;:::i;:::-;;;600:5608;;;;;;;;;;;4256:48;;;;;;-1:-1:-1;4256:48:127;;;600:5608;;291:59:25;600:5608:127;;291:59:25;;;;3937:301:127;;;600:5608;3937:301;;600:5608;3937:301;;;;;;600:5608;3937:301;;;:::i;:::-;;;600:5608;;;;;;3937:301;;;;;-1:-1:-1;3937:301:127;;20373:20:25;600:5608:127;20373:20:25;;;4125:18:127;4025:55;600:5608;20373:20:25;;4125:18:127;20373:20:25;;;;;600:5608:127;20373:20:25;;:::i;:::-;;;;;;;;;;;;;;;;;;600:5608:127;;291:59:25;600:5608:127;;291:59:25;;;;20344:19;;;;600:5608:127;20344:19:25;;600:5608:127;20344:19:25;;;;;;600:5608:127;20344:19:25;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;600:5608:127;;;;;;20344:19:25;;;;;;;-1:-1:-1;20344:19:25;;3855:64:127;3894:14;-1:-1:-1;3855:64:127;;;5098:269;;-1:-1:-1;;;5194:13:127;;;600:5608;;5270:12;;600:5608;;;5334:7;;;:::i;:::-;-1:-1:-1;;;1027:8:127;;;;-1:-1:-1;1027:8:127;;;977;5098:269;:::o;600:5608::-;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;;;;;;;;;;;;-1:-1:-1;;;600:5608:127;;;;;;","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":\"CVStrategyHelpersV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e\",\"dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":{\"keccak256\":\"0x77554e1a0979e997e3d86ecac375c8b14c34f697533533293c1ce2156b128fcc\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://09959931be2ff63c449b7d57e212864fb22550748896cc9535bc45d1a807bdc5\",\"dweb:/ipfs/QmX1gwa5M3GPkVRK6NnFXHAi8YKhxi4L1U2e7BTnLdRDLj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpersV0_0.sol":"CVStrategyHelpersV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0","urls":["bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e","dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpersV0_0.sol":{"keccak256":"0x77554e1a0979e997e3d86ecac375c8b14c34f697533533293c1ce2156b128fcc","urls":["bzz-raw://09959931be2ff63c449b7d57e212864fb22550748896cc9535bc45d1a807bdc5","dweb:/ipfs/QmX1gwa5M3GPkVRK6NnFXHAi8YKhxi4L1U2e7BTnLdRDLj"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":9359,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":11396,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)13277_storage"},{"astId":82714,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"metadata","offset":0,"slot":"9","type":"t_struct(Metadata)3098_storage"},{"astId":82726,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_poolProfileId1_","offset":0,"slot":"11","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpersV0_0.sol","id":83221,"exportedSymbols":{"Accounts":[5068],"Allo":[1390],"CVStrategyHelpersV0_0":[83220],"CVStrategyV0_0":[75969],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"StrategyStruct":[72563],"console":[29591]},"nodeType":"SourceUnit","src":"46:6163:127","nodes":[{"id":82690,"nodeType":"PragmaDirective","src":"46:24:127","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":82691,"nodeType":"ImportDirective","src":"72:31:127","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":83221,"sourceUnit":29592,"symbolAliases":[],"unitAlias":""},{"id":82693,"nodeType":"ImportDirective","src":"104:53:127","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":83221,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":82692,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"112:4:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":82696,"nodeType":"ImportDirective","src":"304:73:127","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","file":"../src/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":83221,"sourceUnit":75970,"symbolAliases":[{"foreign":{"id":82694,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75969,"src":"312:14:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":82695,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"328:14:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":82698,"nodeType":"ImportDirective","src":"378:67:127","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":83221,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":82697,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"386:6:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":82701,"nodeType":"ImportDirective","src":"446:84:127","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":83221,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":82699,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"454:9:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":82700,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"465:8:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":82703,"nodeType":"ImportDirective","src":"532:66:127","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":83221,"sourceUnit":5069,"symbolAliases":[{"foreign":{"id":82702,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5068,"src":"540:8:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83220,"nodeType":"ContractDefinition","src":"600:5608:127","nodes":[{"id":82714,"nodeType":"VariableDeclaration","src":"657:109:127","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"673:8:127","scope":83220,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":82709,"nodeType":"UserDefinedTypeName","pathNode":{"id":82708,"name":"Metadata","nameLocations":["657:8:127"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"657:8:127"},"referencedDeclaration":3098,"src":"657:8:127","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":82711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"704:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","id":82712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"716:48:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""},"value":"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""}],"id":82710,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"684:8:127","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":82713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["694:8:127","707:7:127"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"684:82:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":82719,"nodeType":"VariableDeclaration","src":"795:43:127","nodes":[],"constant":true,"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"819:8:127","scope":83220,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82715,"name":"uint256","nodeType":"ElementaryTypeName","src":"795:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":82718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":82716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"830:2:127","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":82717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"836:2:127","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"830:8:127","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"public"},{"id":82724,"nodeType":"VariableDeclaration","src":"844:50:127","nodes":[],"constant":true,"functionSelector":"3f26479e","mutability":"constant","name":"PERCENTAGE_SCALE","nameLocation":"868:16:127","scope":83220,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82720,"name":"uint256","nodeType":"ElementaryTypeName","src":"844:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":82723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":82721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"887:2:127","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":82722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"893:1:127","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"887:7:127","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":82726,"nodeType":"VariableDeclaration","src":"901:33:127","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"918:16:127","scope":83220,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"901:7:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":82731,"nodeType":"VariableDeclaration","src":"941:44:127","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"967:7:127","scope":83220,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82727,"name":"uint256","nodeType":"ElementaryTypeName","src":"941:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":82730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":82728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"977:1:127","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":82729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"982:3:127","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"977:8:127","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":82736,"nodeType":"VariableDeclaration","src":"991:44:127","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"1017:7:127","scope":83220,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82732,"name":"uint256","nodeType":"ElementaryTypeName","src":"991:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":82735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":82733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1027:1:127","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":82734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1032:3:127","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1027:8:127","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":82741,"nodeType":"VariableDeclaration","src":"1041:37:127","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"1067:1:127","scope":83220,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82737,"name":"uint256","nodeType":"ElementaryTypeName","src":"1041:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":82740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":82738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1071:2:127","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":82739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:127","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1071:7:127","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":82779,"nodeType":"FunctionDefinition","src":"1193:437:127","nodes":[],"body":{"id":82778,"nodeType":"Block","src":"1351:279:127","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":82759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82754,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82726,"src":"1365:16:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":82757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1393:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":82756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1385:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":82755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1385:7:127","typeDescriptions":{}}},"id":82758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1385:10:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1365:30:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82775,"nodeType":"IfStatement","src":"1361:230:127","trueBody":{"id":82774,"nodeType":"Block","src":"1397:194:127","statements":[{"expression":{"id":82772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82760,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82726,"src":"1411:16:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":82763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1470:1:127","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":82764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1473:16:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":82766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1511:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":82767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1523:14:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":82765,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1491:8:127","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":82768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1501:8:127","1514:7:127"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1491:48:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":82769,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82746,"src":"1541:10:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82770,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82749,"src":"1553:13:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":82761,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82744,"src":"1430:8:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":82762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1439:13:127","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1430:22:127","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":82771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1430:150:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1411:169:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":82773,"nodeType":"ExpressionStatement","src":"1411:169:127"}]}},{"expression":{"id":82776,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82726,"src":"1607:16:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":82753,"id":82777,"nodeType":"Return","src":"1600:23:127"}]},"functionSelector":"37d1c404","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"1202:15:127","parameters":{"id":82750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82744,"mutability":"mutable","name":"registry","nameLocation":"1228:8:127","nodeType":"VariableDeclaration","scope":82779,"src":"1218:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":82743,"nodeType":"UserDefinedTypeName","pathNode":{"id":82742,"name":"IRegistry","nameLocations":["1218:9:127"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1218:9:127"},"referencedDeclaration":2802,"src":"1218:9:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":82746,"mutability":"mutable","name":"pool_admin","nameLocation":"1246:10:127","nodeType":"VariableDeclaration","scope":82779,"src":"1238:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82745,"name":"address","nodeType":"ElementaryTypeName","src":"1238:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82749,"mutability":"mutable","name":"pool_managers","nameLocation":"1275:13:127","nodeType":"VariableDeclaration","scope":82779,"src":"1258:30:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82747,"name":"address","nodeType":"ElementaryTypeName","src":"1258:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82748,"nodeType":"ArrayTypeName","src":"1258:9:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1217:72:127"},"returnParameters":{"id":82753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82779,"src":"1338:7:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1338:7:127","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1337:9:127"},"scope":83220,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":82882,"nodeType":"FunctionDefinition","src":"1636:1157:127","nodes":[],"body":{"id":82881,"nodeType":"Block","src":"1988:805:127","nodes":[],"statements":[{"expression":{"id":82807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":82799,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82797,"src":"2049:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2056:8:127","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72545,"src":"2049:15:127","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":82803,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2065:5:127","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"2049:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":82805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2087:15:127","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":82804,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83064,"src":"2073:13:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":82806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2073:30:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2049:54:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82808,"nodeType":"ExpressionStatement","src":"2049:54:127"},{"expression":{"id":82817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":82809,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82797,"src":"2130:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2137:8:127","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72545,"src":"2130:15:127","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":82813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2146:8:127","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72535,"src":"2130:24:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":82815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2171:9:127","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":82814,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83064,"src":"2157:13:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":82816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2157:24:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2130:51:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82818,"nodeType":"ExpressionStatement","src":"2130:51:127"},{"expression":{"id":82827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":82819,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82797,"src":"2210:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82822,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2217:8:127","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72545,"src":"2210:15:127","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":82823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2226:6:127","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":72537,"src":"2210:22:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":82825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2249:11:127","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":82824,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83064,"src":"2235:13:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":82826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2235:26:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2210:51:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82828,"nodeType":"ExpressionStatement","src":"2210:51:127"},{"expression":{"id":82835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":82829,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82797,"src":"2292:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2299:8:127","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72545,"src":"2292:15:127","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":82833,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2308:18:127","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72541,"src":"2292:34:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"302e32","id":82834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2329:9:127","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"},"src":"2292:46:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82836,"nodeType":"ExpressionStatement","src":"2292:46:127"},{"expression":{"id":82841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82837,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82797,"src":"2355:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82839,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2362:17:127","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72559,"src":"2355:24:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82840,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82781,"src":"2382:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2355:44:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82842,"nodeType":"ExpressionStatement","src":"2355:44:127"},{"expression":{"id":82847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82843,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82797,"src":"2409:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82845,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2416:12:127","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72548,"src":"2409:19:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82846,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82784,"src":"2431:12:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"2409:34:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"id":82848,"nodeType":"ExpressionStatement","src":"2409:34:127"},{"expression":{"id":82853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82849,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82797,"src":"2453:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2460:11:127","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":72551,"src":"2453:18:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82852,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82787,"src":"2474:11:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"2453:32:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"id":82854,"nodeType":"ExpressionStatement","src":"2453:32:127"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":82855,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82790,"src":"2500:11:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":82856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2512:9:127","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"2500:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":82857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2525:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2500:26:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82868,"nodeType":"IfStatement","src":"2496:197:127","trueBody":{"id":82867,"nodeType":"Block","src":"2528:165:127","statements":[{"expression":{"id":82865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82859,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82790,"src":"2644:11:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":82861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2656:9:127","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"2644:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":82862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2668:3:127","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82863,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82719,"src":"2674:8:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2668:14:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2644:38:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82866,"nodeType":"ExpressionStatement","src":"2644:38:127"}]}},{"expression":{"id":82873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82869,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82797,"src":"2702:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2709:11:127","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":72554,"src":"2702:18:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82872,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82790,"src":"2723:11:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"2702:32:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":82874,"nodeType":"ExpressionStatement","src":"2702:32:127"},{"expression":{"id":82879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82875,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82797,"src":"2744:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":82877,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2751:16:127","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":72557,"src":"2744:23:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82878,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82793,"src":"2770:16:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"2744:42:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":82880,"nodeType":"ExpressionStatement","src":"2744:42:127"}]},"functionSelector":"c36e336b","implemented":true,"kind":"function","modifiers":[],"name":"getParams","nameLocation":"1645:9:127","parameters":{"id":82794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82781,"mutability":"mutable","name":"registryCommunity","nameLocation":"1672:17:127","nodeType":"VariableDeclaration","scope":82882,"src":"1664:25:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82780,"name":"address","nodeType":"ElementaryTypeName","src":"1664:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82784,"mutability":"mutable","name":"proposalType","nameLocation":"1727:12:127","nodeType":"VariableDeclaration","scope":82882,"src":"1699:40:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":82783,"nodeType":"UserDefinedTypeName","pathNode":{"id":82782,"name":"StrategyStruct.ProposalType","nameLocations":["1699:14:127","1714:12:127"],"nodeType":"IdentifierPath","referencedDeclaration":72445,"src":"1699:27:127"},"referencedDeclaration":72445,"src":"1699:27:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":82787,"mutability":"mutable","name":"pointSystem","nameLocation":"1776:11:127","nodeType":"VariableDeclaration","scope":82882,"src":"1749:38:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":82786,"nodeType":"UserDefinedTypeName","pathNode":{"id":82785,"name":"StrategyStruct.PointSystem","nameLocations":["1749:14:127","1764:11:127"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"1749:26:127"},"referencedDeclaration":72450,"src":"1749:26:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":82790,"mutability":"mutable","name":"pointConfig","nameLocation":"1837:11:127","nodeType":"VariableDeclaration","scope":82882,"src":"1797:51:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":82789,"nodeType":"UserDefinedTypeName","pathNode":{"id":82788,"name":"StrategyStruct.PointSystemConfig","nameLocations":["1797:14:127","1812:17:127"],"nodeType":"IdentifierPath","referencedDeclaration":72519,"src":"1797:32:127"},"referencedDeclaration":72519,"src":"1797:32:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":82793,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"1897:16:127","nodeType":"VariableDeclaration","scope":82882,"src":"1858:55:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":82792,"nodeType":"UserDefinedTypeName","pathNode":{"id":82791,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["1858:14:127","1873:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"1858:31:127"},"referencedDeclaration":72533,"src":"1858:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"1654:265:127"},"returnParameters":{"id":82798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82797,"mutability":"mutable","name":"params","nameLocation":"1980:6:127","nodeType":"VariableDeclaration","scope":82882,"src":"1941:45:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":82796,"nodeType":"UserDefinedTypeName","pathNode":{"id":82795,"name":"StrategyStruct.InitializeParams","nameLocations":["1941:14:127","1956:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"1941:31:127"},"referencedDeclaration":72562,"src":"1941:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"1940:47:127"},"scope":83220,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":83008,"nodeType":"FunctionDefinition","src":"2799:1529:127","nodes":[],"body":{"id":83007,"nodeType":"Block","src":"3212:1116:127","nodes":[],"statements":[{"assignments":[82915],"declarations":[{"constant":false,"id":82915,"mutability":"mutable","name":"params","nameLocation":"3312:6:127","nodeType":"VariableDeclaration","scope":83007,"src":"3273:45:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":82914,"nodeType":"UserDefinedTypeName","pathNode":{"id":82913,"name":"StrategyStruct.InitializeParams","nameLocations":["3273:14:127","3288:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"3273:31:127"},"referencedDeclaration":72562,"src":"3273:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":82923,"initialValue":{"arguments":[{"id":82917,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82889,"src":"3343:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82918,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82897,"src":"3362:12:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},{"id":82919,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82900,"src":"3376:11:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},{"id":82920,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82903,"src":"3389:11:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":82921,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82906,"src":"3402:16:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":82916,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82882,"src":"3333:9:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$72445_$_t_enum$_PointSystem_$72450_$_t_struct$_PointSystemConfig_$72519_memory_ptr_$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$returns$_t_struct$_InitializeParams_$72562_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) pure returns (struct StrategyStruct.InitializeParams memory)"}},"id":82922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3333:86:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"3273:146:127"},{"assignments":[82928],"declarations":[{"constant":false,"id":82928,"mutability":"mutable","name":"_pool_managers","nameLocation":"3447:14:127","nodeType":"VariableDeclaration","scope":83007,"src":"3430:31:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82926,"name":"address","nodeType":"ElementaryTypeName","src":"3430:7:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82927,"nodeType":"ArrayTypeName","src":"3430:9:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82934,"initialValue":{"arguments":[{"hexValue":"32","id":82932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3478:1:127","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":82931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3464:13:127","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":82929,"name":"address","nodeType":"ElementaryTypeName","src":"3468:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82930,"nodeType":"ArrayTypeName","src":"3468:9:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":82933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3464:16:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3430:50:127"},{"expression":{"id":82942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82935,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82928,"src":"3490:14:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82937,"indexExpression":{"hexValue":"30","id":82936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3505:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3490:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82940,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3518:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$83220","typeString":"contract CVStrategyHelpersV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$83220","typeString":"contract CVStrategyHelpersV0_0"}],"id":82939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3510:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82938,"name":"address","nodeType":"ElementaryTypeName","src":"3510:7:127","typeDescriptions":{}}},"id":82941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3510:13:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3490:33:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82943,"nodeType":"ExpressionStatement","src":"3490:33:127"},{"expression":{"id":82952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82944,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82928,"src":"3533:14:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82946,"indexExpression":{"hexValue":"31","id":82945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3548:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3533:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":82949,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3561:3:127","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3565:6:127","memberName":"sender","nodeType":"MemberAccess","src":"3561:10:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3553:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82947,"name":"address","nodeType":"ElementaryTypeName","src":"3553:7:127","typeDescriptions":{}}},"id":82951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3553:19:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3533:39:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82953,"nodeType":"ExpressionStatement","src":"3533:39:127"},{"assignments":[82955],"declarations":[{"constant":false,"id":82955,"mutability":"mutable","name":"_token","nameLocation":"3830:6:127","nodeType":"VariableDeclaration","scope":83007,"src":"3822:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82954,"name":"address","nodeType":"ElementaryTypeName","src":"3822:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82957,"initialValue":{"id":82956,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3839:6:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3822:23:127"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82958,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82894,"src":"3859:5:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":82961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3876:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":82960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3868:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82959,"name":"address","nodeType":"ElementaryTypeName","src":"3868:7:127","typeDescriptions":{}}},"id":82962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3868:10:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3859:19:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82969,"nodeType":"IfStatement","src":"3855:64:127","trueBody":{"id":82968,"nodeType":"Block","src":"3880:39:127","statements":[{"expression":{"id":82966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82964,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82955,"src":"3894:6:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82965,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82894,"src":"3903:5:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3894:14:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82967,"nodeType":"ExpressionStatement","src":"3894:14:127"}]}},{"expression":{"id":82992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82970,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82909,"src":"3928:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":82974,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82892,"src":"4041:8:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[],"expression":{"argumentTypes":[],"id":82975,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"4051:10:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":82976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4051:12:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82977,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82928,"src":"4065:14:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":82973,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82779,"src":"4025:15:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (contract IRegistry,address,address[] memory) returns (bytes32)"}},"id":82978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4025:55:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":82981,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82887,"src":"4102:8:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4094:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82979,"name":"address","nodeType":"ElementaryTypeName","src":"4094:7:127","typeDescriptions":{}}},"id":82982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4094:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":82985,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82915,"src":"4136:6:127","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":82983,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4125:3:127","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":82984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4129:6:127","memberName":"encode","nodeType":"MemberAccess","src":"4125:10:127","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":82986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4125:18:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":82987,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82955,"src":"4157:6:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":82988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4177:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":82989,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82714,"src":"4192:8:127","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":82990,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82928,"src":"4214:14:127","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":82971,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82885,"src":"3937:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":82972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3942:28:127","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"3937:33:127","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":82991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3937:301:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3928:310:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82993,"nodeType":"ExpressionStatement","src":"3928:310:127"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"id":83004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":82998,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82887,"src":"4279:8:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4271:8:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":82996,"name":"address","nodeType":"ElementaryTypeName","src":"4271:8:127","stateMutability":"payable","typeDescriptions":{}}},"id":82999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4271:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82995,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75969,"src":"4256:14:127","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$75969_$","typeString":"type(contract CVStrategyV0_0)"}},"id":83000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4256:33:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}},"id":83001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4290:12:127","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72816,"src":"4256:46:127","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_ProposalType_$72445_$","typeString":"function () view external returns (enum StrategyStruct.ProposalType)"}},"id":83002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4256:48:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":83003,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82897,"src":"4308:12:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"4256:64:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":82994,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"4249:6:127","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":83005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4249:72:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83006,"nodeType":"ExpressionStatement","src":"4249:72:127"}]},"functionSelector":"e070e0ab","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"2808:10:127","parameters":{"id":82907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82885,"mutability":"mutable","name":"allo","nameLocation":"2833:4:127","nodeType":"VariableDeclaration","scope":83008,"src":"2828:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":82884,"nodeType":"UserDefinedTypeName","pathNode":{"id":82883,"name":"Allo","nameLocations":["2828:4:127"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"2828:4:127"},"referencedDeclaration":1390,"src":"2828:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":82887,"mutability":"mutable","name":"strategy","nameLocation":"2855:8:127","nodeType":"VariableDeclaration","scope":83008,"src":"2847:16:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82886,"name":"address","nodeType":"ElementaryTypeName","src":"2847:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82889,"mutability":"mutable","name":"registryCommunity","nameLocation":"2881:17:127","nodeType":"VariableDeclaration","scope":83008,"src":"2873:25:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82888,"name":"address","nodeType":"ElementaryTypeName","src":"2873:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82892,"mutability":"mutable","name":"registry","nameLocation":"2918:8:127","nodeType":"VariableDeclaration","scope":83008,"src":"2908:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":82891,"nodeType":"UserDefinedTypeName","pathNode":{"id":82890,"name":"IRegistry","nameLocations":["2908:9:127"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"2908:9:127"},"referencedDeclaration":2802,"src":"2908:9:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":82894,"mutability":"mutable","name":"token","nameLocation":"2944:5:127","nodeType":"VariableDeclaration","scope":83008,"src":"2936:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82893,"name":"address","nodeType":"ElementaryTypeName","src":"2936:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82897,"mutability":"mutable","name":"proposalType","nameLocation":"2987:12:127","nodeType":"VariableDeclaration","scope":83008,"src":"2959:40:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":82896,"nodeType":"UserDefinedTypeName","pathNode":{"id":82895,"name":"StrategyStruct.ProposalType","nameLocations":["2959:14:127","2974:12:127"],"nodeType":"IdentifierPath","referencedDeclaration":72445,"src":"2959:27:127"},"referencedDeclaration":72445,"src":"2959:27:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":82900,"mutability":"mutable","name":"pointSystem","nameLocation":"3036:11:127","nodeType":"VariableDeclaration","scope":83008,"src":"3009:38:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":82899,"nodeType":"UserDefinedTypeName","pathNode":{"id":82898,"name":"StrategyStruct.PointSystem","nameLocations":["3009:14:127","3024:11:127"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"3009:26:127"},"referencedDeclaration":72450,"src":"3009:26:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":82903,"mutability":"mutable","name":"pointConfig","nameLocation":"3097:11:127","nodeType":"VariableDeclaration","scope":83008,"src":"3057:51:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":82902,"nodeType":"UserDefinedTypeName","pathNode":{"id":82901,"name":"StrategyStruct.PointSystemConfig","nameLocations":["3057:14:127","3072:17:127"],"nodeType":"IdentifierPath","referencedDeclaration":72519,"src":"3057:32:127"},"referencedDeclaration":72519,"src":"3057:32:127","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":82906,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3157:16:127","nodeType":"VariableDeclaration","scope":83008,"src":"3118:55:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":82905,"nodeType":"UserDefinedTypeName","pathNode":{"id":82904,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["3118:14:127","3133:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"3118:31:127"},"referencedDeclaration":72533,"src":"3118:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"2818:361:127"},"returnParameters":{"id":82910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82909,"mutability":"mutable","name":"poolId","nameLocation":"3204:6:127","nodeType":"VariableDeclaration","scope":83008,"src":"3196:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82908,"name":"uint256","nodeType":"ElementaryTypeName","src":"3196:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3195:16:127"},"scope":83220,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83050,"nodeType":"FunctionDefinition","src":"4334:638:127","nodes":[],"body":{"id":83049,"nodeType":"Block","src":"4686:286:127","nodes":[],"statements":[{"expression":{"arguments":[{"id":83035,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83011,"src":"4727:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"id":83036,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83013,"src":"4745:8:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83037,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83015,"src":"4767:17:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83038,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83018,"src":"4798:8:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"id":83039,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83020,"src":"4820:5:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83040,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"4839:12:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},{"id":83041,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83026,"src":"4865:11:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"hexValue":"30","id":83044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4923:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":83042,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"4890:14:127","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":83043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4905:17:127","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":72519,"src":"4890:32:127","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$72519_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":83045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4890:35:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":83046,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83029,"src":"4939:16:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":83034,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[83008,83050],"referencedDeclaration":83008,"src":"4703:10:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$72445_$_t_enum$_PointSystem_$72450_$_t_struct$_PointSystemConfig_$72519_memory_ptr_$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) returns (uint256)"}},"id":83047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4703:262:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":83033,"id":83048,"nodeType":"Return","src":"4696:269:127"}]},"functionSelector":"85294f18","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"4343:10:127","parameters":{"id":83030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83011,"mutability":"mutable","name":"allo","nameLocation":"4368:4:127","nodeType":"VariableDeclaration","scope":83050,"src":"4363:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":83010,"nodeType":"UserDefinedTypeName","pathNode":{"id":83009,"name":"Allo","nameLocations":["4363:4:127"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"4363:4:127"},"referencedDeclaration":1390,"src":"4363:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":83013,"mutability":"mutable","name":"strategy","nameLocation":"4390:8:127","nodeType":"VariableDeclaration","scope":83050,"src":"4382:16:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83012,"name":"address","nodeType":"ElementaryTypeName","src":"4382:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83015,"mutability":"mutable","name":"registryCommunity","nameLocation":"4416:17:127","nodeType":"VariableDeclaration","scope":83050,"src":"4408:25:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83014,"name":"address","nodeType":"ElementaryTypeName","src":"4408:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83018,"mutability":"mutable","name":"registry","nameLocation":"4453:8:127","nodeType":"VariableDeclaration","scope":83050,"src":"4443:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":83017,"nodeType":"UserDefinedTypeName","pathNode":{"id":83016,"name":"IRegistry","nameLocations":["4443:9:127"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"4443:9:127"},"referencedDeclaration":2802,"src":"4443:9:127","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":83020,"mutability":"mutable","name":"token","nameLocation":"4479:5:127","nodeType":"VariableDeclaration","scope":83050,"src":"4471:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83019,"name":"address","nodeType":"ElementaryTypeName","src":"4471:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83023,"mutability":"mutable","name":"proposalType","nameLocation":"4522:12:127","nodeType":"VariableDeclaration","scope":83050,"src":"4494:40:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":83022,"nodeType":"UserDefinedTypeName","pathNode":{"id":83021,"name":"StrategyStruct.ProposalType","nameLocations":["4494:14:127","4509:12:127"],"nodeType":"IdentifierPath","referencedDeclaration":72445,"src":"4494:27:127"},"referencedDeclaration":72445,"src":"4494:27:127","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":83026,"mutability":"mutable","name":"pointSystem","nameLocation":"4571:11:127","nodeType":"VariableDeclaration","scope":83050,"src":"4544:38:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":83025,"nodeType":"UserDefinedTypeName","pathNode":{"id":83024,"name":"StrategyStruct.PointSystem","nameLocations":["4544:14:127","4559:11:127"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"4544:26:127"},"referencedDeclaration":72450,"src":"4544:26:127","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":83029,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"4631:16:127","nodeType":"VariableDeclaration","scope":83050,"src":"4592:55:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":83028,"nodeType":"UserDefinedTypeName","pathNode":{"id":83027,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["4592:14:127","4607:16:127"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"4592:31:127"},"referencedDeclaration":72533,"src":"4592:31:127","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"4353:300:127"},"returnParameters":{"id":83033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83032,"mutability":"mutable","name":"poolId","nameLocation":"4678:6:127","nodeType":"VariableDeclaration","scope":83050,"src":"4670:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83031,"name":"uint256","nodeType":"ElementaryTypeName","src":"4670:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4669:16:127"},"scope":83220,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83064,"nodeType":"FunctionDefinition","src":"4978:114:127","nodes":[],"body":{"id":83063,"nodeType":"Block","src":"5050:42:127","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83057,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83052,"src":"5067:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":83060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":83058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5077:2:127","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":83059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5083:2:127","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"5077:8:127","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"5067:18:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":83056,"id":83062,"nodeType":"Return","src":"5060:25:127"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"4987:13:127","parameters":{"id":83053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83052,"mutability":"mutable","name":"_amount","nameLocation":"5009:7:127","nodeType":"VariableDeclaration","scope":83064,"src":"5001:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83051,"name":"uint256","nodeType":"ElementaryTypeName","src":"5001:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5000:17:127"},"returnParameters":{"id":83056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":83064,"src":"5041:7:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83054,"name":"uint256","nodeType":"ElementaryTypeName","src":"5041:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5040:9:127"},"scope":83220,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":83098,"nodeType":"FunctionDefinition","src":"5098:269:127","nodes":[],"body":{"id":83097,"nodeType":"Block","src":"5176:191:127","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83074,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83066,"src":"5194:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":83075,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82736,"src":"5200:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5194:13:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":83077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5209:42:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":83073,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5186:7:127","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":83078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5186:66:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83079,"nodeType":"ExpressionStatement","src":"5186:66:127"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83081,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83068,"src":"5270:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":83082,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82736,"src":"5275:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5270:12:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":83084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5284:30:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":83080,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5262:7:127","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":83085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5262:53:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83086,"nodeType":"ExpressionStatement","src":"5262:53:127"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83087,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83066,"src":"5334:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":83088,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83068,"src":"5339:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5334:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5333:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":83091,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82731,"src":"5345:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5333:19:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5332:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":83094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5357:3:127","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5332:28:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":83072,"id":83096,"nodeType":"Return","src":"5325:35:127"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"5107:4:127","parameters":{"id":83069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83066,"mutability":"mutable","name":"_a","nameLocation":"5120:2:127","nodeType":"VariableDeclaration","scope":83098,"src":"5112:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83065,"name":"uint256","nodeType":"ElementaryTypeName","src":"5112:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83068,"mutability":"mutable","name":"_b","nameLocation":"5132:2:127","nodeType":"VariableDeclaration","scope":83098,"src":"5124:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83067,"name":"uint256","nodeType":"ElementaryTypeName","src":"5124:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5111:24:127"},"returnParameters":{"id":83072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83071,"mutability":"mutable","name":"_result","nameLocation":"5167:7:127","nodeType":"VariableDeclaration","scope":83098,"src":"5159:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83070,"name":"uint256","nodeType":"ElementaryTypeName","src":"5159:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5158:17:127"},"scope":83220,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":83162,"nodeType":"FunctionDefinition","src":"5373:447:127","nodes":[],"body":{"id":83161,"nodeType":"Block","src":"5451:369:127","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83108,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83100,"src":"5469:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":83109,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82736,"src":"5474:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5469:12:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":83111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5483:30:127","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":83107,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5461:7:127","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":83112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5461:53:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83113,"nodeType":"ExpressionStatement","src":"5461:53:127"},{"assignments":[83115],"declarations":[{"constant":false,"id":83115,"mutability":"mutable","name":"a","nameLocation":"5532:1:127","nodeType":"VariableDeclaration","scope":83161,"src":"5524:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83114,"name":"uint256","nodeType":"ElementaryTypeName","src":"5524:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83117,"initialValue":{"id":83116,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83100,"src":"5536:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5524:14:127"},{"assignments":[83119],"declarations":[{"constant":false,"id":83119,"mutability":"mutable","name":"b","nameLocation":"5556:1:127","nodeType":"VariableDeclaration","scope":83161,"src":"5548:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83118,"name":"uint256","nodeType":"ElementaryTypeName","src":"5548:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83121,"initialValue":{"id":83120,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83102,"src":"5560:2:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5548:14:127"},{"expression":{"id":83124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83122,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83105,"src":"5572:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83123,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82736,"src":"5582:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5572:17:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83125,"nodeType":"ExpressionStatement","src":"5572:17:127"},{"body":{"id":83159,"nodeType":"Block","src":"5613:201:127","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83129,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83119,"src":"5631:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":83130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5635:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5631:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":83132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5640:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5631:10:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":83157,"nodeType":"Block","src":"5721:83:127","statements":[{"expression":{"id":83151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83146,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83105,"src":"5739:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83148,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83105,"src":"5754:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83149,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83115,"src":"5763:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83147,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83098,"src":"5749:4:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":83150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5749:16:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5739:26:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83152,"nodeType":"ExpressionStatement","src":"5739:26:127"},{"expression":{"id":83155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83153,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83119,"src":"5783:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":83154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5788:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5783:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83156,"nodeType":"ExpressionStatement","src":"5783:6:127"}]},"id":83158,"nodeType":"IfStatement","src":"5627:177:127","trueBody":{"id":83145,"nodeType":"Block","src":"5643:72:127","statements":[{"expression":{"id":83139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83134,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83115,"src":"5661:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83136,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83115,"src":"5670:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83137,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83115,"src":"5673:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83135,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83098,"src":"5665:4:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":83138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5665:10:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5661:14:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83140,"nodeType":"ExpressionStatement","src":"5661:14:127"},{"expression":{"id":83143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83141,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83119,"src":"5693:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":83142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5699:1:127","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5693:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83144,"nodeType":"ExpressionStatement","src":"5693:7:127"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83126,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83119,"src":"5606:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":83127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5610:1:127","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5606:5:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83160,"nodeType":"WhileStatement","src":"5599:215:127"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"5382:4:127","parameters":{"id":83103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83100,"mutability":"mutable","name":"_a","nameLocation":"5395:2:127","nodeType":"VariableDeclaration","scope":83162,"src":"5387:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83099,"name":"uint256","nodeType":"ElementaryTypeName","src":"5387:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83102,"mutability":"mutable","name":"_b","nameLocation":"5407:2:127","nodeType":"VariableDeclaration","scope":83162,"src":"5399:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83101,"name":"uint256","nodeType":"ElementaryTypeName","src":"5399:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5386:24:127"},"returnParameters":{"id":83106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83105,"mutability":"mutable","name":"_result","nameLocation":"5442:7:127","nodeType":"VariableDeclaration","scope":83162,"src":"5434:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83104,"name":"uint256","nodeType":"ElementaryTypeName","src":"5434:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5433:17:127"},"scope":83220,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":83219,"nodeType":"FunctionDefinition","src":"5826:380:127","nodes":[],"body":{"id":83218,"nodeType":"Block","src":"5989:217:127","nodes":[],"statements":[{"assignments":[83176],"declarations":[{"constant":false,"id":83176,"mutability":"mutable","name":"t","nameLocation":"6007:1:127","nodeType":"VariableDeclaration","scope":83218,"src":"5999:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83175,"name":"uint256","nodeType":"ElementaryTypeName","src":"5999:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83178,"initialValue":{"id":83177,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83164,"src":"6011:11:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5999:23:127"},{"assignments":[83180],"declarations":[{"constant":false,"id":83180,"mutability":"mutable","name":"atTWO_128","nameLocation":"6040:9:127","nodeType":"VariableDeclaration","scope":83218,"src":"6032:17:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83179,"name":"uint256","nodeType":"ElementaryTypeName","src":"6032:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83190,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83182,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83170,"src":"6058:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":83183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6067:3:127","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6058:12:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83185,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6057:14:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":83186,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82741,"src":"6074:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6057:18:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83188,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83176,"src":"6077:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83181,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83162,"src":"6052:4:127","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":83189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6052:27:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6032:47:127"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83191,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83180,"src":"6099:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":83192,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83166,"src":"6111:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6099:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83194,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6098:23:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83195,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83168,"src":"6126:10:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":83196,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82741,"src":"6139:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6126:14:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83198,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82736,"src":"6144:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":83199,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83180,"src":"6154:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6144:19:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83201,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6143:21:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6126:38:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83203,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6125:40:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83204,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82741,"src":"6169:1:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":83205,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83170,"src":"6173:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6169:9:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83207,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6168:11:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6125:54:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83209,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6124:56:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6098:82:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83211,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6097:84:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":83212,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82731,"src":"6184:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6097:94:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":83214,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6096:96:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":83215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6196:3:127","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6096:103:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":83174,"id":83217,"nodeType":"Return","src":"6089:110:127"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"5835:20:127","parameters":{"id":83171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83164,"mutability":"mutable","name":"_timePassed","nameLocation":"5864:11:127","nodeType":"VariableDeclaration","scope":83219,"src":"5856:19:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83163,"name":"uint256","nodeType":"ElementaryTypeName","src":"5856:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83166,"mutability":"mutable","name":"_lastConv","nameLocation":"5885:9:127","nodeType":"VariableDeclaration","scope":83219,"src":"5877:17:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83165,"name":"uint256","nodeType":"ElementaryTypeName","src":"5877:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83168,"mutability":"mutable","name":"_oldAmount","nameLocation":"5904:10:127","nodeType":"VariableDeclaration","scope":83219,"src":"5896:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83167,"name":"uint256","nodeType":"ElementaryTypeName","src":"5896:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83170,"mutability":"mutable","name":"decay","nameLocation":"5924:5:127","nodeType":"VariableDeclaration","scope":83219,"src":"5916:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83169,"name":"uint256","nodeType":"ElementaryTypeName","src":"5916:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5855:75:127"},"returnParameters":{"id":83174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83173,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":83219,"src":"5976:7:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83172,"name":"uint256","nodeType":"ElementaryTypeName","src":"5976:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5975:9:127"},"scope":83220,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":82704,"name":"Native","nameLocations":["634:6:127"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"634:6:127"},"id":82705,"nodeType":"InheritanceSpecifier","src":"634:6:127"},{"baseName":{"id":82706,"name":"Accounts","nameLocations":["642:8:127"],"nodeType":"IdentifierPath","referencedDeclaration":5068,"src":"642:8:127"},"id":82707,"nodeType":"InheritanceSpecifier","src":"642:8:127"}],"canonicalName":"CVStrategyHelpersV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[83220,5068,12180,11387,3106],"name":"CVStrategyHelpersV0_0","nameLocation":"609:21:127","scope":83221,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":127}
\ No newline at end of file
diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json b/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json
index 52505da80..e897af3cc 100644
--- a/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json
+++ b/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json
@@ -1 +1 @@
-{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"DISPUTE_COOLDOWN_SEC","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"RULING_OPTIONS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"arbitrableConfig","inputs":[],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICollateralVault"}],"stateMutability":"view"},{"type":"function","name":"cvParams","inputs":[],"outputs":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputeCount","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"disputeIdToProposalId","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"context","type":"string","internalType":"string"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getDecay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"disputeInfo","type":"tuple","internalType":"struct StrategyStruct.ProposalDisputeInfo","components":[{"name":"disputeId","type":"uint256","internalType":"uint256"},{"name":"disputeTimestamp","type":"uint256","internalType":"uint256"},{"name":"challenger","type":"address","internalType":"address"},{"name":"submitterCollateralVault","type":"uint256","internalType":"uint256"}]},{"name":"lastDisputeCompletion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"registryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rule","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunity","inputs":[{"name":"_registryCommunity","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportProposal","inputs":[{"name":"","type":"tuple[]","internalType":"struct StrategyStruct.ProposalSupport[]","components":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"deltaSupport","type":"int256","internalType":"int256"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeRequest","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_arbitrableDisputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_externalDisputeID","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolParamsUpdated","inputs":[{"name":"cvParams","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalDisputed","inputs":[{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"disputeId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challenger","type":"address","indexed":false,"internalType":"address"},{"name":"context","type":"string","indexed":false,"internalType":"string"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TribunaSafeRegistered","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"address"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"ArbitrationConfigCannotBeChangedDuringDispute","inputs":[]},{"type":"error","name":"ArbitratorCannotBeZero","inputs":[]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"DefaultRulingNotSet","inputs":[]},{"type":"error","name":"DisputeCooldownNotPassed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_remainingSec","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"InsufficientCollateral","inputs":[{"name":"sentAmount","type":"uint256","internalType":"uint256"},{"name":"requiredAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyArbitrator","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotDisputed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a0806040523461006c5730608052606a80546001600160a01b031916733b1fbfb04db3585920b2eadbb8839fc9680fe8cd179055606d80546001600160401b03191690556000606e556152e0908161007282396080518181816121760152818161226001526125600152f35b600080fdfe60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613ae257806301ffc9a714613a8b578063058aca44146139b5578063062f9ece146139045780630a6f0ee9146135b55780630ba95909146119ee5780630bece79c1461358c5780630c0512e91461356e5780630f529ba2146135505780631073e996146134fd57806315cc481e146134d45780631aa91a9e146134b55780631ddf1e231461349b5780632506b87014613464578063255ffb381461343a5780632bbe0cae14612f785780632dbd6fdd146114185780632ed04b2b14612d06578063311a6c56146127ec57806333960459146127ce578063346db8cb146127a9578063351d9f96146127835780633659cfe61461253b57806338fff2d01461251d578063406244d81461250157806342fda9c7146124e35780634ab4ba42146124c55780634d31d087146124865780634f1ef2861461222257806352d1902d1461216357806359a5db8b146121445780635db64b99146114435780636003e4141461211b578063626c47e8146120ff5780636453d9c4146120d5578063715018a614612089578063782aadff14611ccf578063814516ad14611bd7578063817b1cd214611bb9578063824ea8ed14611b4c578063868c57b814611af65780638da5cb5b14611acd578063950559d714611a825780639a1c157c14611a64578063a0cf0aea14611a35578063a28889e114611a0c578063a47ff7e5146119ee578063a574cea414611994578063aba9ffee1461132d578063ac1ed7b914611946578063b2b878d014611883578063b41596ec14611501578063b5f620ce146114a5578063b6c61f311461147c578063bcc5b93b14611443578063c329217114611418578063c7f758a81461134b578063d1e362321461132d578063dc96ff2d14611300578063df868ed3146112dd578063e0dd2c3814611293578063e33add93146111e4578063eb11af931461119a578063edd146cc14610d11578063ef2920fc14610617578063f09a401614610487578063f2fde38b146103f9578063f321b3051461039e578063f5b0dfb7146103455763f5be3f7c14610326575061000e565b346103425780600319360112610342576020604051611c208152f35b80fd5b5034610342576020366003190112610342577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103856142f2565b610391816069546142cf565b606955604051908152a180f35b5034610342576040366003190112610342576103b8613e56565b602435906001600160401b0382116103f557366023830112156103f5576103ec6103f2923690602481600401359101613f22565b90614284565b80f35b8280fd5b503461034257602036600319011261034257610413613e56565b61041b61402a565b6001600160a01b03811615610433576103f290614082565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610342576040366003190112610342576104a1613e56565b6104a9613e6c565b825460ff8160081c16159283809461060a575b80156105f3575b156105975760ff19821660011785556105069184610586575b50604051906104ea82613ca8565b600a8252694356537472617465677960b01b6020830152614284565b61051f60ff845460081c1661051a81614322565b614322565b61052833614082565b606a80546001600160a01b0319166001600160a01b039290921691909117905561054f5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff1916610101178555386104dc565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156104c35750600160ff8316146104c3565b50600160ff8316106104bc565b5061062136613f74565b9061062a6142f2565b610632614306565b6001600160a01b0382811691908215610cff57607d5416938415610ced5760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610ca1578391610cd0575b5015610cbe5761068f86614587565b15610cac5760405163011de97360e61b81528581806106b2308b6004840161456d565b03818b5afa908115610ca1578391610c74575b5015610c62578351840193858501908681870312610c5a5780870151906001600160401b038211610c5e57019481603f87011215610c5a57868601519061070b82613e82565b966107196040519889613cde565b82885260408989019360061b820101938411610c5657604001915b838310610c245750505050819682975b85518910156107c1576107578987614a4b565b5151156107b7576107688987614a4b565b515161077381614a5f565b156107a0575061079461079a918861078b8c8a614a4b565b51015190614ab7565b98614382565b97610744565b85906040519063c1d17bef60e01b82526004820152fd5b9761079a90614382565b958093976107e06107fe93949698878b526081845260408b2054614ad3565b936040518080958194637817ee4f60e01b835230906004840161456d565b03915afa908115610c19578791610be7575b50808211610bca575082869594939652608182526040852055606094859185945b8451861015610bc6576108448686614a4b565b515193805115600014610aa157506040519461085f86613ca8565b600186528286019883368b37865115610a8c5785899a529590955b836108858989614a4b565b51015196868a528960809485875260408220946009860193896000528489526108b46040600020549c8d614ad3565b948a60005289528460406000205583918460408954965b8d815260828d52208054821015610a77576108e7828892613fcf565b90549060031b1c1461090a57908f9291610902604091614382565b9192936108cb565b509a949391509b96919c60019b96959b5b15610a0d575b5061098696959493929190508185116109d45761093e8583614624565b61094b606f9182546142cf565b90556109578583614624565b610966600286019182546142cf565b90555b600784019384541560001461098f57505050509050439055614382565b94939695610831565b60a094506109ac6000805160206151ab8339815191529682614da7565b6003600282015491015492604051948b86528a86015260408501528b840152820152a1614382565b6109de8286614624565b6109eb606f918254614624565b90556109f78286614624565b610a0660028601918254614624565b9055610969565b8981526082895260409020805490600160401b821015610a635781610a419160016109869b9a999897969594018155613fcf565b819291549060031b91821b91600019901b19161790559091929394958d610921565b50634e487b7160e01b8f5260416004528d8ffd5b50509a9493919d909c97929d9b96959b61091b565b82634e487b7160e01b60005260326004526000fd5b9497918794979693919698855b8751811015610af35789610ac2828a614a4b565b5114610ad657610ad190614382565b610aae565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b50989794979691939692909215610b0e575b9487989561087a565b949788516001998a8201809211610bb357899a610b2a83613e82565b92610b386040519485613cde565b808452610b47601f1991613e82565b0136878501378a815b610b6d575b5050610b6387915183614a4b565b5295909850610b05565b90919293949a8351821015610ba9575080610b8b610b9c9285614a4b565b51610b968287614a4b565b52614382565b908b9a9493929181610b50565b9a94939291610b55565b634e487b7160e01b8a526011600452838afd5b8680f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610c12575b610bfe8183613cde565b81010312610c0d575187610810565b600080fd5b503d610bf4565b6040513d89823e3d90fd5b6040898484030112610c5657886040918251610c3f81613ca8565b855181528286015183820152815201920191610734565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610c949150863d8811610c9a575b610c8c8183613cde565b810190614555565b386106c5565b503d610c82565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610ce79150863d8811610c9a57610c8c8183613cde565b38610680565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610342576040366003190112610342576004356001600160401b03602435818111610c5a57610d46903690600401613f59565b610d4e6142f2565b610d566142f2565b6068546111885782156111765782606855606a546e5af43d82803e903d91602b57fd5bf3606c54610d8681614382565b606c5560405160208101913360601b8352603482015260348152610da981613cc3565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017875260789290921b6001600160781b031916176020526001600160a01b03906037600987f516801561113757607e80546001600160a01b031981168317909155859190821617803b156111335781809160046040518094819363204a7f0760e21b83525af1801561112857611114575b5050808051810103916101e08312610c5e576040519260e08401848110838211176110fa57806040526080821261111057610e7981613c5f565b60208401518152604084015161010086015260608401516101208601526080840151610140860152845260a0830151600381101561111057602085015260c08301516004811015611110576040850152602060bf19820112610c565760405160208101928311818410176110fa5760c09260405260e08401518152606085015260df190112610c5a57604051610f0e81613c7a565b6101008201516001600160a01b0381168103610c56578152610f336101208301614391565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610f896101e0610f7c6101c08401614391565b928360a086015201614391565b60c08301526001600160a01b031615610ced5760a0810151607d80546001600160a01b0319166001600160a01b0392909216919091179055602081015160038110156110e657607554604083015160048110156110d25791610200939160ff61ff007fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b979560081b1692169061ffff1916171760755560608101515160765560018060a01b0360c08201511660018060a01b0319607f541617607f556110556080820151825190614e2c565b6040519182526110696020830182516143a5565b61107b602082015160a0840190613fc2565b61108d604082015160c0840190613fb5565b60608101515160e08301526110ab60808201516101008401906143c8565b60a08101516001600160a01b039081166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b86526021600452602486fd5b634e487b7160e01b84526021600452602484fd5b634e487b7160e01b600052604160045260246000fd5b8680fd5b61111d90613c95565b610c5a578338610e3f565b6040513d84823e3d90fd5b5080fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b5034610342576020366003190112610342576001600160a01b036111bc613e56565b16151590506111db57602060035b604051906111d781613dce565b8152f35b602060026111ca565b50346103425760208060031936011261113357600435906001600160401b0382116103f557366023830112156103f557816004013560248261122583613e82565b6112326040519182613cde565b838152019160061b84010192368411610c5e57602401905b8382106112635760405163d623472560e01b8152600490fd5b604082360312610c5e5782604091825161127c81613ca8565b84358152828501358382015281520191019061124a565b503461034257604036600319011261034257600960406112b1613e6c565b926004358152608060205220019060018060a01b03166000526020526020604060002054604051908152f35b5034610342578060031936011261034257602060ff606754166040519015158152f35b50346103425760203660031901126103425760026040602092600435815260808452200154604051908152f35b50346103425780600319360112610342576020607054604051908152f35b5034610342576020366003190112610342576101409060043581526080602052604081206001810154918215600014611409575b60018060a01b03918260058201541693836004830154169360068301541690600283015460ff600885015416916007850154936009600387015496336000520160205260406000205497604051998a5260208a01526040890152606088015260808701526113ec81613dce565b60a086015260c085015260e0840152610100830152610120820152f35b5061141382614c1c565b61137f565b5034610342578060031936011261034257602060ff60755460081c166114416040518092613fb5565bf35b5034610342576020366003190112610342576020906040906001600160a01b0361146b613e56565b168152608183522054604051908152f35b5034610342578060031936011261034257607f546040516001600160a01b039091168152602090f35b5034610342576020366003190112610342576004358015158091036111335760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610342576024356001600160401b0381116111335761152d903690600401613ffd565b906044356001600160401b038111610c5a5761154d903690600401613ffd565b600435855260806020526040852060775490939291906001600160a01b0316156118715760043584540361185857600160ff60088601541661158e81613dce565b0361183f57607a5490813410611820576010850154801515806117f8575b6117c257506115bb8234614624565b918760018060a01b03607e541691823b15611133576040519283809263240ff7c560e11b8252816115f2336004356004840161451a565b03925af180156117b7576117a3575b509160209161164396979360018060a01b03607754169160405180998195829463c13517e160e01b8452600360048501526040602485015260448401916150e1565b03925af1938415611796578194611762575b5060088301805460ff19166005179055600c830184905542600d8401908155600e90930180546001600160a01b031916331790558381526083602052604081206004359055606d54906001600160401b038083169190821461174e57506001600160401b031990911660019091016001600160401b031617606d556077549154604080516001600160a01b0394909416845260043560208581019190915290840185905233606085015260c06080850181905290957f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d949384939261173d92908501916150e1565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9093506020813d60201161178e575b8161177e60209383613cde565b81010312610c0d57519238611655565b3d9150611771565b50604051903d90823e3d90fd5b6117ad8891613c95565b6111105738611601565b6040513d8a823e3d90fd5b87611c20820180921161174e5760446117db4284614624565b60405190638d2f6c3160e01b825260043560048301526024820152fd5b50611c20810180821161180c5742106115ac565b634e487b7160e01b89526011600452602489fd5b604051632c1f8ef160e21b815234600482015260248101839052604490fd5b60246040516344980d8f60e01b81526004356004820152fd5b602460405163c1d17bef60e01b81526004356004820152fd5b604051636c291fd360e01b8152600490fd5b5034610342576040366003190112610342576001600160401b0390600435828111611133576118b6903690600401613e99565b50602480358381116103f557366023820112156103f5578060040135916118dc83613e82565b946118ea6040519687613cde565b8386528160208097019460051b8401019436861161034257828401945b8686106119205760405163d623472560e01b8152600490fd5b85358381116103f557889161193b83928736918a0101613f59565b815201950194611907565b503461034257602036600319011261034257611960613e56565b611968615071565b61197181614533565b607f80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610342576020366003190112610342576119d6600a60406119ea936060602083516119c081613ca8565b8381520152600435815260806020522001613d01565b604051918291602083526020830190613e36565b0390f35b50346103425780600319360112610342576020607654604051908152f35b5034610342578060031936011261034257606d546040516001600160401b039091168152602090f35b5034610342578060031936011261034257602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103425780600319360112610342576020607354604051908152f35b50346103425760203660031901126103425760043562989680918282029180830484149015171561174e57607354830392831161174e576020611ac584846148c7565b604051908152f35b50346103425780600319360112610342576033546040516001600160a01b039091168152602090f35b503461034257604036600319011261034257611b10613e56565b6001600160a01b0316815260826020526040812080546024359290831015610342576020611b3e8484613fcf565b90546040519160031b1c8152f35b503461034257602036600319011261034257604060209160043581526080835220611b7b600282015482614dd9565b81929192159081611bb0575b50611ba4575b6001611b9a910154614c1c565b1115604051908152f35b60038101549150611b8d565b90501538611b87565b50346103425780600319360112610342576020606f54604051908152f35b5034610342578060031936011261034257611bf133614587565b15610cac57607d546001600160a01b039082908216803b1561113357816040518092630d4a8b4960e01b8252818381611c2e30336004840161456d565b03925af1801561112857611cbb575b5050607d541660206040518092637817ee4f60e01b82528180611c6430336004840161456d565b03915afa8015611128578290611c88575b611c8291506070546142cf565b60705580f35b506020813d8211611cb3575b81611ca160209383613cde565b81010312610c0d57611c829051611c75565b3d9150611c94565b611cc490613c95565b611133578138611c3d565b503461034257604036600319011261034257611ce9613e56565b602435611cf46145fe565b611cfd82614587565b15610cac578260ff60755460081c1660048110156120755760028103611de757505080915b607d5460405163011de97360e61b81529060209082906001600160a01b03168180611d5130886004840161456d565b03915afa908115611ddc57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611dbf575b50611dab575b611da08460405193849384614850565b0390a1604051908152f35b611db7846070546142cf565b607055611d90565b611dd69150863d8111610c9a57610c8c8183613cde565b38611d8a565b6040513d87823e3d90fd5b60018103611e93575050607d54604051637817ee4f60e01b8152829160209082906001600160a01b03168180611e21308a6004840161456d565b03915afa908115611ddc578591611e62575b50611e3e83826142cf565b607654809111611e51575b505091611d22565b611e5b9250614624565b3880611e49565b90506020813d8211611e8b575b81611e7c60209383613cde565b81010312610c0d575138611e33565b3d9150611e6f565b90929060021901611d2257607d546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610c195785908890612044575b611ee992506142cf565b6040516336d8759760e21b81529060128483600481895afa90811561203957611f529486611f4793611f4d968d9161200c575b5060046040518094819363313ce56760e01b8352165afa8b9181611fdd575b50611fd2575b506148a6565b906148b4565b6148e7565b816040518094637817ee4f60e01b82528180611f72308b6004840161456d565b03915afa918215611fc7578692611f95575b50611f8f9250614624565b91611d22565b90915082813d8311611fc0575b611fac8183613cde565b81010312610c0d57611f8f91519038611f84565b503d611fa2565b6040513d88823e3d90fd5b60ff91501638611f41565b611ffe919250883d8a11612005575b611ff68183613cde565b81019061488d565b9038611f3b565b503d611fec565b61202c9150823d8411612032575b6120248183613cde565b81019061486e565b38611f1c565b503d61201a565b6040513d8b823e3d90fd5b50508281813d831161206e575b61205b8183613cde565b81010312610c0d5784611ee99151611edf565b503d612051565b634e487b7160e01b85526021600452602485fd5b50346103425780600319360112610342576120a261402a565b603380546001600160a01b031981169091556000906001600160a01b03166000805160206151cb8339815191528280a380f35b5034610342576020366003190112610342576103f26120f2613e56565b6120fa6145fe565b614631565b5034610342578060031936011261034257602060405160038152f35b5034610342578060031936011261034257607d546040516001600160a01b039091168152602090f35b5034610342576020366003190112610342576020611ac5600435614c1c565b50346103425780600319360112610342577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036121bc57602060405160008051602061518b8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261034257612237613e56565b6024356001600160401b0381116103f557612256903690600401613f59565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190612290308514156140b9565b6122ad60008051602061518b833981519152948286541614614108565b6122b561402a565b60008051602061512b8339815191525460ff16156122d95750506103f29150614157565b8216604051936352d1902d60e01b85526020948581600481865afa60009181612457575b5061234c5760405162461bcd60e51b815260048101879052602e602482015260008051602061526b83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94929394036124125761235e84614157565b6000805160206151eb833981519152600080a281511580159061240a575b612387575b50505080f35b6123f8926000806040519461239b86613cc3565b6027865260008051602061524b83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612401573d6123db81613f07565b906123e96040519283613cde565b8152600081943d92013e6141e7565b50388080612381565b606092506141e7565b50600161237c565b60405162461bcd60e51b8152600481018390526029602482015260008051602061522b8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d831161247f575b61246e8183613cde565b8101031261034257505190386122fd565b503d612464565b5034610342576020366003190112610342576001600160a01b036124a8613e56565b166124bb576020905b6040519015158152f35b50602060016124b1565b50346103425780600319360112610342576020606954604051908152f35b50346103425780600319360112610342576020606654604051908152f35b50346103425780600319360112610342576020604051600a8152f35b50346103425780600319360112610342576020606854604051908152f35b50346103425760208060031936011261113357612556613e56565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661258d308214156140b9565b6125aa60008051602061518b833981519152918383541614614108565b6125b261402a565b604051848101929091906001600160401b038411838510176110fa578360405286835260ff60008051602061512b83398151915254166000146125fd57505050506103f29150614157565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612754575b506126705760405162461bcd60e51b815260048101889052602e602482015260008051602061526b83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b959394950361270f5761268282614157565b6000805160206151eb833981519152600080a2825115801590612707575b6126ac575b5050505080f35b6000806126fd95604051956126c087613cc3565b6027875260008051602061524b83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612401573d6123db81613f07565b50388080806126a5565b5060006126a0565b60405162461bcd60e51b8152600481018490526029602482015260008051602061522b8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d831161277c575b61276b8183613cde565b810103126103425750519038612621565b503d612761565b5034610342578060031936011261034257602060ff607554166114416040518092613fc2565b5034610342576060366003190112610342576020611ac5604435602435600435614b0e565b50346103425780600319360112610342576020606c54604051908152f35b5034610342576040366003190112610342576004359060243591808252602092608384526040832054938484526080815260408420948015612cee57600886018054600560ff821661283d81613dce565b03612cd557612853600d890154607c54906142cf565b42118015908180612cc0575b612cae5790612ca6575b15612a135750607b548015612a01576001146129f1575b6002607b54146129e0575b50607e54600e870154607a546001600160a01b039182169392821690813b156129c8576128d48992839260405194858094819363099ea56b60e41b9b8c84528b60048501614a2a565b03925af180156117b7579088916129cc575b505080607e54169060058901541691600f89015493823b156129c85790888094939261292060405197889687958694855260048501614a2a565b03925af18015611ddc579085916129b4575b50505b606d546001600160401b0380821696919087156129a0577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769495969760001901169060018060401b03191617606d5560104291015560018060a01b036077541692604051908152a380f35b634e487b7160e01b87526011600452602487fd5b6129bd90613c95565b610c5a578338612932565b8880fd5b6129d590613c95565b6111105786386128e6565b805460ff191660061790553861288b565b805460ff19166001178155612880565b604051630dd466dd60e41b8152600490fd5b60018503612aec5750805460ff19166001179055607e54600e870154607d54604051633629edcd60e11b81526001600160a01b03928316938316929186908290600490829086165afa908115612039578991612acf575b50607a54833b15612acb578994939291612a9e869260405198899788968795638969ab5360e01b8752169160048601615102565b03925af18015611ddc57908591612ab7575b5050612935565b612ac090613c95565b610c5a578338612ab0565b8980fd5b612ae69150863d8811612032576120248183613cde565b38612a6a565b60028514612afd575b505050612935565b60ff19166006179055607e54600e87018054607a5491926001600160a01b039291908316908316813b15612acb57918991612b50938360405180968195829463099ea56b60e41b84528c60048501614a2a565b03925af180156117b757908891612c92575b505080607e541692600460058a0192808454168782607d541660405194858092633629edcd60e11b82525afa928315612c64578b93612c73575b50600f8c0196875460011c91813b15612c6f57918c91612bd993836040518096819582948a638969ab5360e01b9c8d865216908d60048601615102565b03925af18015612c6457908b91612c50575b50508080607e5416945416945416945460011c833b15612acb578994939291612c24869260405198899788968795865260048601615102565b03925af18015611ddc57908591612c3c575b80612af5565b612c4590613c95565b610c5a578338612c36565b612c5990613c95565b612acb578938612beb565b6040513d8d823e3d90fd5b8c80fd5b612c8b919350883d8a11612032576120248183613cde565b9138612b9c565b612c9b90613c95565b611110578638612b62565b508415612869565b604051631777988560e11b8152600490fd5b506077546001600160a01b031633141561285f565b604051634b011ca960e11b815260048101849052602490fd5b6024906040519063c1d17bef60e01b82526004820152fd5b503461034257604036600319011261034257612d20613e56565b60243591612d2c6145fe565b60ff60755460081c166004811015612f645760028114908115612f59575b5015612d85575060008051602061514b83398151915282602093925b612d7284607054614624565b607055611da08460405193849384614850565b607d546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611ddc57829187918791612f3c575b5060046040518094819363313ce56760e01b8352165afa859181612f1d575b50612f12575b506040516316308e2560e11b815290861660048201528481602481865afa908115612f07579087918591612ed4575b5091611f47612e2c611f4d93612e3295614624565b916148a6565b92806040518093637817ee4f60e01b82528180612e53308b6004840161456d565b03915afa928315612ec85792612e88575b505092612e8260008051602061514b83398151915292602095614624565b92612d66565b9080959250813d8311612ec1575b612ea08183613cde565b81010312610c0d579251612e8260008051602061514b833981519152612e64565b503d612e96565b604051903d90823e3d90fd5b809250868092503d8311612f00575b612eed8183613cde565b81010312610c0d57518690611f47612e17565b503d612ee3565b6040513d86823e3d90fd5b60ff16915038612de8565b612f35919250873d891161200557611ff68183613cde565b9038612de2565b612f539150823d8411612032576120248183613cde565b38612dc3565b600191501438612d4a565b634e487b7160e01b82526021600452602482fd5b50612f8236613f74565b9091612f8c6142f2565b612f94614306565b612f9d82614587565b15610cac578251830190602093848184031261113357808501516001600160401b0391828211610c5a57019260a0848203126103f5576040519160a08301838110828211176110fa57604052868501518352612ffb60408601614391565b928781019384526060860151956040820196875261301b60808201614391565b936060830194855260a0820151908482116134365761304092908b0191018a01614408565b608082019081528151156134245760ff607554169160038310156134105760018093146132dd575b506077546001600160a01b03979088161515806132d2575b6132b25761308f606e54614382565b9889606e5589885260808b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b8501930151805191821161329e5761311a8454613c25565b601f8111613257575b508990601f83116001146131f75792829391839289946131ec575b50501b916000199060031b1c19161790555b600f6079549101558280607e541691541690803b156103f55761318b918391604051808095819463240ff7c560e11b83528a6004840161451a565b039134905af18015611128576131d8575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6131e28291613c95565b610342578061319c565b01519250388061313e565b8488528a8820919083601f1981168a8e5b8883831061323f5750505010613226575b505050811b019055613150565b015160001960f88460031b161c19169055388080613219565b8686015188559096019594850194879350018e613208565b8488528a8820601f840160051c8101918c8510613294575b601f0160051c019084905b828110613288575050613123565b6000815501849061327a565b909150819061326f565b634e487b7160e01b87526041600452602487fd5b604460795460405190632c1f8ef160e21b82523460048301526024820152fd5b506079543410613080565b85516001600160a01b0391906132f4908316614533565b81865116156133fe57604051630ae6240f60e11b8152908b82600481305afa91821561203957918991849383926133bf575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa9182156117b757889261339b575b5060408187511692015116036133895761336d8751614a8e565b6133775738613068565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b6133b89192503d808a833e6133b08183613cde565b810190614483565b9038613353565b92509250508b81813d83116133f7575b6133d98183613cde565b810103126129c8575182811681036129c85782918991906024613326565b503d6133cf565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b8780fd5b50346103425760203660031901126103425760406020916004358152608383522054604051908152f35b5034610342578060031936011261034257608060715460725460735460745491604051938452602084015260408301526060820152f35b50346103425780600319360112610342576103f233614631565b5034610342576020366003190112610342576020611ac5600435615043565b50346103425780600319360112610342576065546040516001600160a01b039091168152602090f35b503461034257806003193601126103425760c060018060a01b0380607754169060785416607954607a54607b5491607c5493604051958652602086015260408501526060840152608083015260a0820152f35b50346103425780600319360112610342576020604051629896808152f35b50346103425780600319360112610342576020606e54604051908152f35b5034610342578060031936011261034257607e546040516001600160a01b039091168152602090f35b5034610342576060366003190112610342576001600160401b0390600435828111611133576135e8903690600401613e99565b50602491823590811161113357613603903690600401613f59565b6001600160a01b0390604435828116036103f55761361f6142f2565b613627614306565b8051156138f2576020818051810103126103f5576020015180156138e0578083526080602052604083209160ff6075541660038110156138cd5760011461366c578380f35b818354036138b55760018301928354606954908181116138925750506008810195600160ff88541661369d81613dce565b0361387c576136ab84615043565b8554906136b782614c1c565b1180613873575b6138615786846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610c19579160409185938992613841575b5061370690606954614624565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613801575081809381925af1156137f4575b600460ff1982541617905581607e5416600f8360058401541692015491813b156111105791869161378f938360405180968195829463099ea56b60e41b84528b60048501614a2a565b03925af18015611ddc576137cf575b506137c49060008051602061528b83398151915294955416925460405193849384614a2a565b0390a1803880808380f35b9060008051602061528b833981519152946137ec6137c493613c95565b94509061379e565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d1560018851141716156138345785603452613746565b6390b8ec1886526004601cfd5b61370691925061385a903d808c833e6133b08183613cde565b91906136f9565b60405163199cf26160e31b8152600490fd5b508015156136be565b6040516344980d8f60e01b815260048101859052fd5b60649185918960405193632c31d85b60e11b855260048501528301526044820152fd5b60405163c1d17bef60e01b8152600481018390528590fd5b634e487b7160e01b855260216004528585fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b503461034257366003190161014081126111335760c0136103425760405161392b81613c7a565b6004356001600160a01b03811681036103f5578152613948613e6c565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112611133576040516103f29161398982613c5f565b60c435825260e43560208301526101043560408301526101243560608301526139b0615071565b614e2c565b5034610342576020366003190112610342576139cf613e56565b60018060a01b0390613a02602083606554166068549060405180809581946329e40d4b60e01b835233906004840161451a565b03915afa908115612f07578491613a6d575b5015613a5b577fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd91602091168060018060a01b0319607d541617607d55604051908152a180f35b60405163075fd2b160e01b8152600490fd5b613a85915060203d8111610c9a57610c8c8183613cde565b38613a14565b50346103425760203660031901126103425760043563ffffffff60e01b81168091036111335760209063f1801e6160e01b8114908115613ad1575b506040519015158152f35b6301ffc9a760e01b14905082613ac6565b503461034257602036600319011261034257604060209160043581526080835220613b6e8154916060613beb6001830154926002810154600382015460018060a01b0360048401541660018060a01b0360058501541660018060a01b036006860154169160078601549360ff600888015416956010613b63600a8a01613d01565b986040519d8e613c5f565b8d600c82015490528f8e90600d8301549101528d604060018060a01b03600e840154169101528d8c600f83015491015201549a6040519e8f9e8f908152015260408d0152888c015260808b015260a08a015260c089015260e0880152613bd381613dce565b6101008701526101e080610120880152860190613e36565b8351610140860152602084015161016086015260408401516001600160a01b03166101808601529201516101a08401526101c08301520390f35b90600182811c92168015613c55575b6020831014613c3f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613c34565b608081019081106001600160401b038211176110fa57604052565b60c081019081106001600160401b038211176110fa57604052565b6001600160401b0381116110fa57604052565b604081019081106001600160401b038211176110fa57604052565b606081019081106001600160401b038211176110fa57604052565b601f909101601f19168101906001600160401b038211908210176110fa57604052565b9060405191613d0f83613ca8565b8281548152600180920191604051928391600091805490613d2f82613c25565b80865291838116908115613da55750600114613d5c575b50505060209291613d58910384613cde565b0152565b909493925060005260209081600020946000915b818310613d8d57509394509192509082010181613d586020613d46565b86548884018501529586019587945091830191613d70565b60ff191660208781019190915292151560051b860183019450859350613d58929150613d469050565b60071115613dd857565b634e487b7160e01b600052602160045260246000fd5b60005b838110613e015750506000910152565b8181015183820152602001613df1565b90602091613e2a81518092818552858086019101613dee565b601f01601f1916010190565b9060406020613e5393805184520151918160208201520190613e11565b90565b600435906001600160a01b0382168203610c0d57565b602435906001600160a01b0382168203610c0d57565b6001600160401b0381116110fa5760051b60200190565b81601f82011215610c0d57803591613eb083613e82565b92613ebe6040519485613cde565b808452602092838086019260051b820101928311610c0d578301905b828210613ee8575050505090565b81356001600160a01b0381168103610c0d578152908301908301613eda565b6001600160401b0381116110fa57601f01601f191660200190565b929192613f2e82613f07565b91613f3c6040519384613cde565b829481845281830111610c0d578281602093846000960137010152565b9080601f83011215610c0d57816020613e5393359101613f22565b6040600319820112610c0d57600435906001600160401b038211610c0d57613f9e91600401613f59565b906024356001600160a01b0381168103610c0d5790565b906004821015613dd85752565b906003821015613dd85752565b8054821015613fe75760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610c0d578235916001600160401b038311610c0d5760208381860195010111610c0d57565b6033546001600160a01b0316330361403e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091166000805160206151cb833981519152600080a3565b156140c057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061516b83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561410f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061516b83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561418c5760008051602061518b83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561424957508151156141fb575090565b3b156142045790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561425c5750805190602001fd5b60405162461bcd60e51b815260206004820152908190614280906024830190613e11565b0390fd5b60018060a01b031660018060a01b031960655416176065556040516142c7816142b96020820194602086526040830190613e11565b03601f198101835282613cde565b519020606655565b919082018092116142dc57565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b03163303613a5b57565b6068541561431057565b604051630f68fe6360e21b8152600490fd5b1561432957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60001981146142dc5760010190565b51906001600160a01b0382168203610c0d57565b606080918051845260208101516020850152604081015160408501520151910152565b60a08091600180831b0380825116855260208201511660208501526040810151604085015260608101516060850152608081015160808501520151910152565b9190604083820312610c0d5760405161442081613ca8565b83518152602084015190938491906001600160401b038211610c0d57019082601f83011215610c0d5781519161445583613f07565b936144636040519586613cde565b83855260208483010111610c0d57602092613d5891848087019101613dee565b90602082820312610c0d5781516001600160401b0392838211610c0d570160c081830312610c0d57604051926144b884613c7a565b8151845260208201516001600160a01b0381168103610c0d5760208501526144e260408301614391565b60408501526060820151908111610c0d5760a092614501918301614408565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561454357565b6040516303988b8160e61b8152600490fd5b90816020910312610c0d57518015158103610c0d5790565b6001600160a01b0391821681529116602082015260400190565b607f546001600160a01b031680156145f7576145bd9160209160405180809581946302154c3d60e51b835230906004840161456d565b03915afa9081156145eb576000916145d3575090565b613e53915060203d8111610c9a57610c8c8183613cde565b6040513d6000823e3d90fd5b5050600190565b607d546001600160a01b0316330361461257565b6040516357848b5160e11b8152600490fd5b919082039182116142dc57565b607d5460408051637817ee4f60e01b81526020949391926000926001600160a01b0392909183169087818061466a30876004840161456d565b0381855afa8015614846578590614817575b6146899150607054614624565b607055803b15610c5a5783855180926322bcf99960e01b82528183816146b330896004840161456d565b03925af1801561480d576147fa575b501680825260828552828220948351808783829954938481520190865283862092865b858282106147e4575050506146fc92500387613cde565b825b86518110156147b457806147156147389289614a4b565b5180865260808085528787209161472b81614a5f565b61473d575b505050614382565b6146fe565b6000805160206151ab8339815191529260a0928860005260098201885260038b6000208b8154915561478f6002850191614778818454614624565b8355606f614787828254614624565b905585614da7565b54920154918b51938a8552898501528a8c8501526060840152820152a1388080614730565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c9550930192016146e5565b61480690939193613c95565b91386146c2565b85513d86823e3d90fd5b508781813d831161483f575b61482d8183613cde565b81010312610c5e57614689905161467c565b503d614823565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610c0d57516001600160a01b0381168103610c0d5790565b90816020910312610c0d575160ff81168103610c0d5790565b604d81116142dc57600a0a90565b818102929181159184041417156142dc57565b81156148d1570490565b634e487b7160e01b600052601260045260246000fd5b8015614a24576149b2816000908360801c80614a18575b508060401c80614a0b575b508060201c806149fe575b508060101c806149f1575b508060081c806149e4575b508060041c806149d7575b508060021c806149ca575b50600191828092811c6149c3575b1c1b61495a81856148c7565b01811c61496781856148c7565b01811c61497481856148c7565b01811c61498181856148c7565b01811c61498e81856148c7565b01811c61499b81856148c7565b01811c6149a881856148c7565b01901c80926148c7565b808210156149be575090565b905090565b018161494e565b6002915091019038614940565b6004915091019038614935565b600891509101903861492a565b601091509101903861491f565b6020915091019038614914565b6040915091019038614909565b915050608090386148fe565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b8051821015613fe75760209160051b010190565b60005260806020526040600020805415159081614a7a575090565b600501546001600160a01b03161515919050565b614a9d607154606954906148b4565b62989680918281029281840414901517156142dc57111590565b919091600083820193841291129080158216911516176142dc57565b614add8282614ab7565b9160008312614aeb57505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607354906298968093848360801b0490600160801b9182811015614bd8578583965b614b97575050614b4290856148b4565b93858302928084048714901517156142dc5781039081116142dc57614b66916148b4565b9083039283116142dc57614b8392614b7d916148c7565b906142cf565b6001607f1b81019081106142dc5760801c90565b600191818316614bb75780614bab91614cf0565b911c90815b9091614b32565b809250614bc49197614cf0565b9560001981019081116142dc579081614bb0565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614cde57614c2e82614a8e565b61337757607154604081901b92600160401b92918015908504841417156142dc578060401b9281840414901517156142dc57614c70614c7c91614c97936148c7565b62989680809404614624565b614c8e8360725460801b0491806148b4565b60401c906148c7565b818102908082048314901517156142dc5760735482039182116142dc57614cca91614cc1916148c7565b607054906148b4565b60401c6074548082116000146149be575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614d5157811015614d0d57614b83916148b4565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614db29082614dd9565b9091821580614dd1575b614dcc5760039160078201550155565b505050565b508115614dbc565b4391600782015491838311614e1657838314614e0a576003614dfe614e079486614624565b91015490614b0e565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b6020810180516001600160a01b03919082168015159081615036575b81614fb4575b50614ea4575b505081614ea16101409260008051602061520b8339815191529451607155602083015160725560408301516073556060830151607455614e9760405180946143a5565b60808301906143c8565ba1565b606d549193916001600160401b0316614fa257838351169284825116843b15610c0d5760009460248692604051978893849263446adb9960e11b845260048401525af19182156145eb5760008051602061520b8339815191529561014095614ea194614f93575b5060775490607854927fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f606060405130815284861660208201528487166040820152a18185511660018060a01b031980941617607755511691161760785560408101516079556060810151607a556080810151607b5560a0810151607c559250819350614e54565b614f9c90613c95565b38614f0b565b60405163fcc12b5b60e01b8152600490fd5b60785484161480159150615025575b8015615015575b8015615005575b8015614ff5575b8015614fe5575b38614e4e565b5060a0830151607c541415614fdf565b506080830151607b541415614fd8565b506060830151607a541415614fd1565b5060408301516079541415614fca565b508183511682607754161415614fc3565b8451841615159150614e48565b80600052608060205260406000209080825403612cee57508061506c6002600393015482614da7565b015490565b607d54604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa9081156145eb576000916150c3575b501633036150b157565b604051637430763f60e11b8152600490fd5b6150db915060203d8111612032576120248183613cde565b386150a7565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b0391821660208201529116604082015260608101919091526080019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bb47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a2646970667358221220e382d0803a42a887e7e3aafb1d6d12705b0e22537a3f54fae4f9e758db1abfdb64736f6c63430008130033","sourceMap":"4048:46903:111:-:0;;;;;;;1088:4:66;1080:13;;8421:51:111;4048:46903;;-1:-1:-1;;;;;;4048:46903:111;8429:42;4048:46903;;;8727:1;4048:46903;;-1:-1:-1;;;;;;4048:46903:111;;;-1:-1:-1;8767:1:111;4048:46903;;;;;;;1080:13:66;4048:46903:111;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613ae257806301ffc9a714613a8b578063058aca44146139b5578063062f9ece146139045780630a6f0ee9146135b55780630ba95909146119ee5780630bece79c1461358c5780630c0512e91461356e5780630f529ba2146135505780631073e996146134fd57806315cc481e146134d45780631aa91a9e146134b55780631ddf1e231461349b5780632506b87014613464578063255ffb381461343a5780632bbe0cae14612f785780632dbd6fdd146114185780632ed04b2b14612d06578063311a6c56146127ec57806333960459146127ce578063346db8cb146127a9578063351d9f96146127835780633659cfe61461253b57806338fff2d01461251d578063406244d81461250157806342fda9c7146124e35780634ab4ba42146124c55780634d31d087146124865780634f1ef2861461222257806352d1902d1461216357806359a5db8b146121445780635db64b99146114435780636003e4141461211b578063626c47e8146120ff5780636453d9c4146120d5578063715018a614612089578063782aadff14611ccf578063814516ad14611bd7578063817b1cd214611bb9578063824ea8ed14611b4c578063868c57b814611af65780638da5cb5b14611acd578063950559d714611a825780639a1c157c14611a64578063a0cf0aea14611a35578063a28889e114611a0c578063a47ff7e5146119ee578063a574cea414611994578063aba9ffee1461132d578063ac1ed7b914611946578063b2b878d014611883578063b41596ec14611501578063b5f620ce146114a5578063b6c61f311461147c578063bcc5b93b14611443578063c329217114611418578063c7f758a81461134b578063d1e362321461132d578063dc96ff2d14611300578063df868ed3146112dd578063e0dd2c3814611293578063e33add93146111e4578063eb11af931461119a578063edd146cc14610d11578063ef2920fc14610617578063f09a401614610487578063f2fde38b146103f9578063f321b3051461039e578063f5b0dfb7146103455763f5be3f7c14610326575061000e565b346103425780600319360112610342576020604051611c208152f35b80fd5b5034610342576020366003190112610342577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103856142f2565b610391816069546142cf565b606955604051908152a180f35b5034610342576040366003190112610342576103b8613e56565b602435906001600160401b0382116103f557366023830112156103f5576103ec6103f2923690602481600401359101613f22565b90614284565b80f35b8280fd5b503461034257602036600319011261034257610413613e56565b61041b61402a565b6001600160a01b03811615610433576103f290614082565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610342576040366003190112610342576104a1613e56565b6104a9613e6c565b825460ff8160081c16159283809461060a575b80156105f3575b156105975760ff19821660011785556105069184610586575b50604051906104ea82613ca8565b600a8252694356537472617465677960b01b6020830152614284565b61051f60ff845460081c1661051a81614322565b614322565b61052833614082565b606a80546001600160a01b0319166001600160a01b039290921691909117905561054f5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff1916610101178555386104dc565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156104c35750600160ff8316146104c3565b50600160ff8316106104bc565b5061062136613f74565b9061062a6142f2565b610632614306565b6001600160a01b0382811691908215610cff57607d5416938415610ced5760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610ca1578391610cd0575b5015610cbe5761068f86614587565b15610cac5760405163011de97360e61b81528581806106b2308b6004840161456d565b03818b5afa908115610ca1578391610c74575b5015610c62578351840193858501908681870312610c5a5780870151906001600160401b038211610c5e57019481603f87011215610c5a57868601519061070b82613e82565b966107196040519889613cde565b82885260408989019360061b820101938411610c5657604001915b838310610c245750505050819682975b85518910156107c1576107578987614a4b565b5151156107b7576107688987614a4b565b515161077381614a5f565b156107a0575061079461079a918861078b8c8a614a4b565b51015190614ab7565b98614382565b97610744565b85906040519063c1d17bef60e01b82526004820152fd5b9761079a90614382565b958093976107e06107fe93949698878b526081845260408b2054614ad3565b936040518080958194637817ee4f60e01b835230906004840161456d565b03915afa908115610c19578791610be7575b50808211610bca575082869594939652608182526040852055606094859185945b8451861015610bc6576108448686614a4b565b515193805115600014610aa157506040519461085f86613ca8565b600186528286019883368b37865115610a8c5785899a529590955b836108858989614a4b565b51015196868a528960809485875260408220946009860193896000528489526108b46040600020549c8d614ad3565b948a60005289528460406000205583918460408954965b8d815260828d52208054821015610a77576108e7828892613fcf565b90549060031b1c1461090a57908f9291610902604091614382565b9192936108cb565b509a949391509b96919c60019b96959b5b15610a0d575b5061098696959493929190508185116109d45761093e8583614624565b61094b606f9182546142cf565b90556109578583614624565b610966600286019182546142cf565b90555b600784019384541560001461098f57505050509050439055614382565b94939695610831565b60a094506109ac6000805160206151ab8339815191529682614da7565b6003600282015491015492604051948b86528a86015260408501528b840152820152a1614382565b6109de8286614624565b6109eb606f918254614624565b90556109f78286614624565b610a0660028601918254614624565b9055610969565b8981526082895260409020805490600160401b821015610a635781610a419160016109869b9a999897969594018155613fcf565b819291549060031b91821b91600019901b19161790559091929394958d610921565b50634e487b7160e01b8f5260416004528d8ffd5b50509a9493919d909c97929d9b96959b61091b565b82634e487b7160e01b60005260326004526000fd5b9497918794979693919698855b8751811015610af35789610ac2828a614a4b565b5114610ad657610ad190614382565b610aae565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b50989794979691939692909215610b0e575b9487989561087a565b949788516001998a8201809211610bb357899a610b2a83613e82565b92610b386040519485613cde565b808452610b47601f1991613e82565b0136878501378a815b610b6d575b5050610b6387915183614a4b565b5295909850610b05565b90919293949a8351821015610ba9575080610b8b610b9c9285614a4b565b51610b968287614a4b565b52614382565b908b9a9493929181610b50565b9a94939291610b55565b634e487b7160e01b8a526011600452838afd5b8680f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610c12575b610bfe8183613cde565b81010312610c0d575187610810565b600080fd5b503d610bf4565b6040513d89823e3d90fd5b6040898484030112610c5657886040918251610c3f81613ca8565b855181528286015183820152815201920191610734565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610c949150863d8811610c9a575b610c8c8183613cde565b810190614555565b386106c5565b503d610c82565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610ce79150863d8811610c9a57610c8c8183613cde565b38610680565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610342576040366003190112610342576004356001600160401b03602435818111610c5a57610d46903690600401613f59565b610d4e6142f2565b610d566142f2565b6068546111885782156111765782606855606a546e5af43d82803e903d91602b57fd5bf3606c54610d8681614382565b606c5560405160208101913360601b8352603482015260348152610da981613cc3565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017875260789290921b6001600160781b031916176020526001600160a01b03906037600987f516801561113757607e80546001600160a01b031981168317909155859190821617803b156111335781809160046040518094819363204a7f0760e21b83525af1801561112857611114575b5050808051810103916101e08312610c5e576040519260e08401848110838211176110fa57806040526080821261111057610e7981613c5f565b60208401518152604084015161010086015260608401516101208601526080840151610140860152845260a0830151600381101561111057602085015260c08301516004811015611110576040850152602060bf19820112610c565760405160208101928311818410176110fa5760c09260405260e08401518152606085015260df190112610c5a57604051610f0e81613c7a565b6101008201516001600160a01b0381168103610c56578152610f336101208301614391565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610f896101e0610f7c6101c08401614391565b928360a086015201614391565b60c08301526001600160a01b031615610ced5760a0810151607d80546001600160a01b0319166001600160a01b0392909216919091179055602081015160038110156110e657607554604083015160048110156110d25791610200939160ff61ff007fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b979560081b1692169061ffff1916171760755560608101515160765560018060a01b0360c08201511660018060a01b0319607f541617607f556110556080820151825190614e2c565b6040519182526110696020830182516143a5565b61107b602082015160a0840190613fc2565b61108d604082015160c0840190613fb5565b60608101515160e08301526110ab60808201516101008401906143c8565b60a08101516001600160a01b039081166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b86526021600452602486fd5b634e487b7160e01b84526021600452602484fd5b634e487b7160e01b600052604160045260246000fd5b8680fd5b61111d90613c95565b610c5a578338610e3f565b6040513d84823e3d90fd5b5080fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b5034610342576020366003190112610342576001600160a01b036111bc613e56565b16151590506111db57602060035b604051906111d781613dce565b8152f35b602060026111ca565b50346103425760208060031936011261113357600435906001600160401b0382116103f557366023830112156103f557816004013560248261122583613e82565b6112326040519182613cde565b838152019160061b84010192368411610c5e57602401905b8382106112635760405163d623472560e01b8152600490fd5b604082360312610c5e5782604091825161127c81613ca8565b84358152828501358382015281520191019061124a565b503461034257604036600319011261034257600960406112b1613e6c565b926004358152608060205220019060018060a01b03166000526020526020604060002054604051908152f35b5034610342578060031936011261034257602060ff606754166040519015158152f35b50346103425760203660031901126103425760026040602092600435815260808452200154604051908152f35b50346103425780600319360112610342576020607054604051908152f35b5034610342576020366003190112610342576101409060043581526080602052604081206001810154918215600014611409575b60018060a01b03918260058201541693836004830154169360068301541690600283015460ff600885015416916007850154936009600387015496336000520160205260406000205497604051998a5260208a01526040890152606088015260808701526113ec81613dce565b60a086015260c085015260e0840152610100830152610120820152f35b5061141382614c1c565b61137f565b5034610342578060031936011261034257602060ff60755460081c166114416040518092613fb5565bf35b5034610342576020366003190112610342576020906040906001600160a01b0361146b613e56565b168152608183522054604051908152f35b5034610342578060031936011261034257607f546040516001600160a01b039091168152602090f35b5034610342576020366003190112610342576004358015158091036111335760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610342576024356001600160401b0381116111335761152d903690600401613ffd565b906044356001600160401b038111610c5a5761154d903690600401613ffd565b600435855260806020526040852060775490939291906001600160a01b0316156118715760043584540361185857600160ff60088601541661158e81613dce565b0361183f57607a5490813410611820576010850154801515806117f8575b6117c257506115bb8234614624565b918760018060a01b03607e541691823b15611133576040519283809263240ff7c560e11b8252816115f2336004356004840161451a565b03925af180156117b7576117a3575b509160209161164396979360018060a01b03607754169160405180998195829463c13517e160e01b8452600360048501526040602485015260448401916150e1565b03925af1938415611796578194611762575b5060088301805460ff19166005179055600c830184905542600d8401908155600e90930180546001600160a01b031916331790558381526083602052604081206004359055606d54906001600160401b038083169190821461174e57506001600160401b031990911660019091016001600160401b031617606d556077549154604080516001600160a01b0394909416845260043560208581019190915290840185905233606085015260c06080850181905290957f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d949384939261173d92908501916150e1565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9093506020813d60201161178e575b8161177e60209383613cde565b81010312610c0d57519238611655565b3d9150611771565b50604051903d90823e3d90fd5b6117ad8891613c95565b6111105738611601565b6040513d8a823e3d90fd5b87611c20820180921161174e5760446117db4284614624565b60405190638d2f6c3160e01b825260043560048301526024820152fd5b50611c20810180821161180c5742106115ac565b634e487b7160e01b89526011600452602489fd5b604051632c1f8ef160e21b815234600482015260248101839052604490fd5b60246040516344980d8f60e01b81526004356004820152fd5b602460405163c1d17bef60e01b81526004356004820152fd5b604051636c291fd360e01b8152600490fd5b5034610342576040366003190112610342576001600160401b0390600435828111611133576118b6903690600401613e99565b50602480358381116103f557366023820112156103f5578060040135916118dc83613e82565b946118ea6040519687613cde565b8386528160208097019460051b8401019436861161034257828401945b8686106119205760405163d623472560e01b8152600490fd5b85358381116103f557889161193b83928736918a0101613f59565b815201950194611907565b503461034257602036600319011261034257611960613e56565b611968615071565b61197181614533565b607f80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610342576020366003190112610342576119d6600a60406119ea936060602083516119c081613ca8565b8381520152600435815260806020522001613d01565b604051918291602083526020830190613e36565b0390f35b50346103425780600319360112610342576020607654604051908152f35b5034610342578060031936011261034257606d546040516001600160401b039091168152602090f35b5034610342578060031936011261034257602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103425780600319360112610342576020607354604051908152f35b50346103425760203660031901126103425760043562989680918282029180830484149015171561174e57607354830392831161174e576020611ac584846148c7565b604051908152f35b50346103425780600319360112610342576033546040516001600160a01b039091168152602090f35b503461034257604036600319011261034257611b10613e56565b6001600160a01b0316815260826020526040812080546024359290831015610342576020611b3e8484613fcf565b90546040519160031b1c8152f35b503461034257602036600319011261034257604060209160043581526080835220611b7b600282015482614dd9565b81929192159081611bb0575b50611ba4575b6001611b9a910154614c1c565b1115604051908152f35b60038101549150611b8d565b90501538611b87565b50346103425780600319360112610342576020606f54604051908152f35b5034610342578060031936011261034257611bf133614587565b15610cac57607d546001600160a01b039082908216803b1561113357816040518092630d4a8b4960e01b8252818381611c2e30336004840161456d565b03925af1801561112857611cbb575b5050607d541660206040518092637817ee4f60e01b82528180611c6430336004840161456d565b03915afa8015611128578290611c88575b611c8291506070546142cf565b60705580f35b506020813d8211611cb3575b81611ca160209383613cde565b81010312610c0d57611c829051611c75565b3d9150611c94565b611cc490613c95565b611133578138611c3d565b503461034257604036600319011261034257611ce9613e56565b602435611cf46145fe565b611cfd82614587565b15610cac578260ff60755460081c1660048110156120755760028103611de757505080915b607d5460405163011de97360e61b81529060209082906001600160a01b03168180611d5130886004840161456d565b03915afa908115611ddc57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611dbf575b50611dab575b611da08460405193849384614850565b0390a1604051908152f35b611db7846070546142cf565b607055611d90565b611dd69150863d8111610c9a57610c8c8183613cde565b38611d8a565b6040513d87823e3d90fd5b60018103611e93575050607d54604051637817ee4f60e01b8152829160209082906001600160a01b03168180611e21308a6004840161456d565b03915afa908115611ddc578591611e62575b50611e3e83826142cf565b607654809111611e51575b505091611d22565b611e5b9250614624565b3880611e49565b90506020813d8211611e8b575b81611e7c60209383613cde565b81010312610c0d575138611e33565b3d9150611e6f565b90929060021901611d2257607d546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610c195785908890612044575b611ee992506142cf565b6040516336d8759760e21b81529060128483600481895afa90811561203957611f529486611f4793611f4d968d9161200c575b5060046040518094819363313ce56760e01b8352165afa8b9181611fdd575b50611fd2575b506148a6565b906148b4565b6148e7565b816040518094637817ee4f60e01b82528180611f72308b6004840161456d565b03915afa918215611fc7578692611f95575b50611f8f9250614624565b91611d22565b90915082813d8311611fc0575b611fac8183613cde565b81010312610c0d57611f8f91519038611f84565b503d611fa2565b6040513d88823e3d90fd5b60ff91501638611f41565b611ffe919250883d8a11612005575b611ff68183613cde565b81019061488d565b9038611f3b565b503d611fec565b61202c9150823d8411612032575b6120248183613cde565b81019061486e565b38611f1c565b503d61201a565b6040513d8b823e3d90fd5b50508281813d831161206e575b61205b8183613cde565b81010312610c0d5784611ee99151611edf565b503d612051565b634e487b7160e01b85526021600452602485fd5b50346103425780600319360112610342576120a261402a565b603380546001600160a01b031981169091556000906001600160a01b03166000805160206151cb8339815191528280a380f35b5034610342576020366003190112610342576103f26120f2613e56565b6120fa6145fe565b614631565b5034610342578060031936011261034257602060405160038152f35b5034610342578060031936011261034257607d546040516001600160a01b039091168152602090f35b5034610342576020366003190112610342576020611ac5600435614c1c565b50346103425780600319360112610342577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036121bc57602060405160008051602061518b8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261034257612237613e56565b6024356001600160401b0381116103f557612256903690600401613f59565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190612290308514156140b9565b6122ad60008051602061518b833981519152948286541614614108565b6122b561402a565b60008051602061512b8339815191525460ff16156122d95750506103f29150614157565b8216604051936352d1902d60e01b85526020948581600481865afa60009181612457575b5061234c5760405162461bcd60e51b815260048101879052602e602482015260008051602061526b83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94929394036124125761235e84614157565b6000805160206151eb833981519152600080a281511580159061240a575b612387575b50505080f35b6123f8926000806040519461239b86613cc3565b6027865260008051602061524b83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612401573d6123db81613f07565b906123e96040519283613cde565b8152600081943d92013e6141e7565b50388080612381565b606092506141e7565b50600161237c565b60405162461bcd60e51b8152600481018390526029602482015260008051602061522b8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d831161247f575b61246e8183613cde565b8101031261034257505190386122fd565b503d612464565b5034610342576020366003190112610342576001600160a01b036124a8613e56565b166124bb576020905b6040519015158152f35b50602060016124b1565b50346103425780600319360112610342576020606954604051908152f35b50346103425780600319360112610342576020606654604051908152f35b50346103425780600319360112610342576020604051600a8152f35b50346103425780600319360112610342576020606854604051908152f35b50346103425760208060031936011261113357612556613e56565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661258d308214156140b9565b6125aa60008051602061518b833981519152918383541614614108565b6125b261402a565b604051848101929091906001600160401b038411838510176110fa578360405286835260ff60008051602061512b83398151915254166000146125fd57505050506103f29150614157565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612754575b506126705760405162461bcd60e51b815260048101889052602e602482015260008051602061526b83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b959394950361270f5761268282614157565b6000805160206151eb833981519152600080a2825115801590612707575b6126ac575b5050505080f35b6000806126fd95604051956126c087613cc3565b6027875260008051602061524b83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612401573d6123db81613f07565b50388080806126a5565b5060006126a0565b60405162461bcd60e51b8152600481018490526029602482015260008051602061522b8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d831161277c575b61276b8183613cde565b810103126103425750519038612621565b503d612761565b5034610342578060031936011261034257602060ff607554166114416040518092613fc2565b5034610342576060366003190112610342576020611ac5604435602435600435614b0e565b50346103425780600319360112610342576020606c54604051908152f35b5034610342576040366003190112610342576004359060243591808252602092608384526040832054938484526080815260408420948015612cee57600886018054600560ff821661283d81613dce565b03612cd557612853600d890154607c54906142cf565b42118015908180612cc0575b612cae5790612ca6575b15612a135750607b548015612a01576001146129f1575b6002607b54146129e0575b50607e54600e870154607a546001600160a01b039182169392821690813b156129c8576128d48992839260405194858094819363099ea56b60e41b9b8c84528b60048501614a2a565b03925af180156117b7579088916129cc575b505080607e54169060058901541691600f89015493823b156129c85790888094939261292060405197889687958694855260048501614a2a565b03925af18015611ddc579085916129b4575b50505b606d546001600160401b0380821696919087156129a0577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769495969760001901169060018060401b03191617606d5560104291015560018060a01b036077541692604051908152a380f35b634e487b7160e01b87526011600452602487fd5b6129bd90613c95565b610c5a578338612932565b8880fd5b6129d590613c95565b6111105786386128e6565b805460ff191660061790553861288b565b805460ff19166001178155612880565b604051630dd466dd60e41b8152600490fd5b60018503612aec5750805460ff19166001179055607e54600e870154607d54604051633629edcd60e11b81526001600160a01b03928316938316929186908290600490829086165afa908115612039578991612acf575b50607a54833b15612acb578994939291612a9e869260405198899788968795638969ab5360e01b8752169160048601615102565b03925af18015611ddc57908591612ab7575b5050612935565b612ac090613c95565b610c5a578338612ab0565b8980fd5b612ae69150863d8811612032576120248183613cde565b38612a6a565b60028514612afd575b505050612935565b60ff19166006179055607e54600e87018054607a5491926001600160a01b039291908316908316813b15612acb57918991612b50938360405180968195829463099ea56b60e41b84528c60048501614a2a565b03925af180156117b757908891612c92575b505080607e541692600460058a0192808454168782607d541660405194858092633629edcd60e11b82525afa928315612c64578b93612c73575b50600f8c0196875460011c91813b15612c6f57918c91612bd993836040518096819582948a638969ab5360e01b9c8d865216908d60048601615102565b03925af18015612c6457908b91612c50575b50508080607e5416945416945416945460011c833b15612acb578994939291612c24869260405198899788968795865260048601615102565b03925af18015611ddc57908591612c3c575b80612af5565b612c4590613c95565b610c5a578338612c36565b612c5990613c95565b612acb578938612beb565b6040513d8d823e3d90fd5b8c80fd5b612c8b919350883d8a11612032576120248183613cde565b9138612b9c565b612c9b90613c95565b611110578638612b62565b508415612869565b604051631777988560e11b8152600490fd5b506077546001600160a01b031633141561285f565b604051634b011ca960e11b815260048101849052602490fd5b6024906040519063c1d17bef60e01b82526004820152fd5b503461034257604036600319011261034257612d20613e56565b60243591612d2c6145fe565b60ff60755460081c166004811015612f645760028114908115612f59575b5015612d85575060008051602061514b83398151915282602093925b612d7284607054614624565b607055611da08460405193849384614850565b607d546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611ddc57829187918791612f3c575b5060046040518094819363313ce56760e01b8352165afa859181612f1d575b50612f12575b506040516316308e2560e11b815290861660048201528481602481865afa908115612f07579087918591612ed4575b5091611f47612e2c611f4d93612e3295614624565b916148a6565b92806040518093637817ee4f60e01b82528180612e53308b6004840161456d565b03915afa928315612ec85792612e88575b505092612e8260008051602061514b83398151915292602095614624565b92612d66565b9080959250813d8311612ec1575b612ea08183613cde565b81010312610c0d579251612e8260008051602061514b833981519152612e64565b503d612e96565b604051903d90823e3d90fd5b809250868092503d8311612f00575b612eed8183613cde565b81010312610c0d57518690611f47612e17565b503d612ee3565b6040513d86823e3d90fd5b60ff16915038612de8565b612f35919250873d891161200557611ff68183613cde565b9038612de2565b612f539150823d8411612032576120248183613cde565b38612dc3565b600191501438612d4a565b634e487b7160e01b82526021600452602482fd5b50612f8236613f74565b9091612f8c6142f2565b612f94614306565b612f9d82614587565b15610cac578251830190602093848184031261113357808501516001600160401b0391828211610c5a57019260a0848203126103f5576040519160a08301838110828211176110fa57604052868501518352612ffb60408601614391565b928781019384526060860151956040820196875261301b60808201614391565b936060830194855260a0820151908482116134365761304092908b0191018a01614408565b608082019081528151156134245760ff607554169160038310156134105760018093146132dd575b506077546001600160a01b03979088161515806132d2575b6132b25761308f606e54614382565b9889606e5589885260808b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b8501930151805191821161329e5761311a8454613c25565b601f8111613257575b508990601f83116001146131f75792829391839289946131ec575b50501b916000199060031b1c19161790555b600f6079549101558280607e541691541690803b156103f55761318b918391604051808095819463240ff7c560e11b83528a6004840161451a565b039134905af18015611128576131d8575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6131e28291613c95565b610342578061319c565b01519250388061313e565b8488528a8820919083601f1981168a8e5b8883831061323f5750505010613226575b505050811b019055613150565b015160001960f88460031b161c19169055388080613219565b8686015188559096019594850194879350018e613208565b8488528a8820601f840160051c8101918c8510613294575b601f0160051c019084905b828110613288575050613123565b6000815501849061327a565b909150819061326f565b634e487b7160e01b87526041600452602487fd5b604460795460405190632c1f8ef160e21b82523460048301526024820152fd5b506079543410613080565b85516001600160a01b0391906132f4908316614533565b81865116156133fe57604051630ae6240f60e11b8152908b82600481305afa91821561203957918991849383926133bf575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa9182156117b757889261339b575b5060408187511692015116036133895761336d8751614a8e565b6133775738613068565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b6133b89192503d808a833e6133b08183613cde565b810190614483565b9038613353565b92509250508b81813d83116133f7575b6133d98183613cde565b810103126129c8575182811681036129c85782918991906024613326565b503d6133cf565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b8780fd5b50346103425760203660031901126103425760406020916004358152608383522054604051908152f35b5034610342578060031936011261034257608060715460725460735460745491604051938452602084015260408301526060820152f35b50346103425780600319360112610342576103f233614631565b5034610342576020366003190112610342576020611ac5600435615043565b50346103425780600319360112610342576065546040516001600160a01b039091168152602090f35b503461034257806003193601126103425760c060018060a01b0380607754169060785416607954607a54607b5491607c5493604051958652602086015260408501526060840152608083015260a0820152f35b50346103425780600319360112610342576020604051629896808152f35b50346103425780600319360112610342576020606e54604051908152f35b5034610342578060031936011261034257607e546040516001600160a01b039091168152602090f35b5034610342576060366003190112610342576001600160401b0390600435828111611133576135e8903690600401613e99565b50602491823590811161113357613603903690600401613f59565b6001600160a01b0390604435828116036103f55761361f6142f2565b613627614306565b8051156138f2576020818051810103126103f5576020015180156138e0578083526080602052604083209160ff6075541660038110156138cd5760011461366c578380f35b818354036138b55760018301928354606954908181116138925750506008810195600160ff88541661369d81613dce565b0361387c576136ab84615043565b8554906136b782614c1c565b1180613873575b6138615786846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610c19579160409185938992613841575b5061370690606954614624565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613801575081809381925af1156137f4575b600460ff1982541617905581607e5416600f8360058401541692015491813b156111105791869161378f938360405180968195829463099ea56b60e41b84528b60048501614a2a565b03925af18015611ddc576137cf575b506137c49060008051602061528b83398151915294955416925460405193849384614a2a565b0390a1803880808380f35b9060008051602061528b833981519152946137ec6137c493613c95565b94509061379e565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d1560018851141716156138345785603452613746565b6390b8ec1886526004601cfd5b61370691925061385a903d808c833e6133b08183613cde565b91906136f9565b60405163199cf26160e31b8152600490fd5b508015156136be565b6040516344980d8f60e01b815260048101859052fd5b60649185918960405193632c31d85b60e11b855260048501528301526044820152fd5b60405163c1d17bef60e01b8152600481018390528590fd5b634e487b7160e01b855260216004528585fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b503461034257366003190161014081126111335760c0136103425760405161392b81613c7a565b6004356001600160a01b03811681036103f5578152613948613e6c565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112611133576040516103f29161398982613c5f565b60c435825260e43560208301526101043560408301526101243560608301526139b0615071565b614e2c565b5034610342576020366003190112610342576139cf613e56565b60018060a01b0390613a02602083606554166068549060405180809581946329e40d4b60e01b835233906004840161451a565b03915afa908115612f07578491613a6d575b5015613a5b577fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd91602091168060018060a01b0319607d541617607d55604051908152a180f35b60405163075fd2b160e01b8152600490fd5b613a85915060203d8111610c9a57610c8c8183613cde565b38613a14565b50346103425760203660031901126103425760043563ffffffff60e01b81168091036111335760209063f1801e6160e01b8114908115613ad1575b506040519015158152f35b6301ffc9a760e01b14905082613ac6565b503461034257602036600319011261034257604060209160043581526080835220613b6e8154916060613beb6001830154926002810154600382015460018060a01b0360048401541660018060a01b0360058501541660018060a01b036006860154169160078601549360ff600888015416956010613b63600a8a01613d01565b986040519d8e613c5f565b8d600c82015490528f8e90600d8301549101528d604060018060a01b03600e840154169101528d8c600f83015491015201549a6040519e8f9e8f908152015260408d0152888c015260808b015260a08a015260c089015260e0880152613bd381613dce565b6101008701526101e080610120880152860190613e36565b8351610140860152602084015161016086015260408401516001600160a01b03166101808601529201516101a08401526101c08301520390f35b90600182811c92168015613c55575b6020831014613c3f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613c34565b608081019081106001600160401b038211176110fa57604052565b60c081019081106001600160401b038211176110fa57604052565b6001600160401b0381116110fa57604052565b604081019081106001600160401b038211176110fa57604052565b606081019081106001600160401b038211176110fa57604052565b601f909101601f19168101906001600160401b038211908210176110fa57604052565b9060405191613d0f83613ca8565b8281548152600180920191604051928391600091805490613d2f82613c25565b80865291838116908115613da55750600114613d5c575b50505060209291613d58910384613cde565b0152565b909493925060005260209081600020946000915b818310613d8d57509394509192509082010181613d586020613d46565b86548884018501529586019587945091830191613d70565b60ff191660208781019190915292151560051b860183019450859350613d58929150613d469050565b60071115613dd857565b634e487b7160e01b600052602160045260246000fd5b60005b838110613e015750506000910152565b8181015183820152602001613df1565b90602091613e2a81518092818552858086019101613dee565b601f01601f1916010190565b9060406020613e5393805184520151918160208201520190613e11565b90565b600435906001600160a01b0382168203610c0d57565b602435906001600160a01b0382168203610c0d57565b6001600160401b0381116110fa5760051b60200190565b81601f82011215610c0d57803591613eb083613e82565b92613ebe6040519485613cde565b808452602092838086019260051b820101928311610c0d578301905b828210613ee8575050505090565b81356001600160a01b0381168103610c0d578152908301908301613eda565b6001600160401b0381116110fa57601f01601f191660200190565b929192613f2e82613f07565b91613f3c6040519384613cde565b829481845281830111610c0d578281602093846000960137010152565b9080601f83011215610c0d57816020613e5393359101613f22565b6040600319820112610c0d57600435906001600160401b038211610c0d57613f9e91600401613f59565b906024356001600160a01b0381168103610c0d5790565b906004821015613dd85752565b906003821015613dd85752565b8054821015613fe75760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610c0d578235916001600160401b038311610c0d5760208381860195010111610c0d57565b6033546001600160a01b0316330361403e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091166000805160206151cb833981519152600080a3565b156140c057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061516b83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561410f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061516b83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561418c5760008051602061518b83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561424957508151156141fb575090565b3b156142045790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561425c5750805190602001fd5b60405162461bcd60e51b815260206004820152908190614280906024830190613e11565b0390fd5b60018060a01b031660018060a01b031960655416176065556040516142c7816142b96020820194602086526040830190613e11565b03601f198101835282613cde565b519020606655565b919082018092116142dc57565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b03163303613a5b57565b6068541561431057565b604051630f68fe6360e21b8152600490fd5b1561432957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60001981146142dc5760010190565b51906001600160a01b0382168203610c0d57565b606080918051845260208101516020850152604081015160408501520151910152565b60a08091600180831b0380825116855260208201511660208501526040810151604085015260608101516060850152608081015160808501520151910152565b9190604083820312610c0d5760405161442081613ca8565b83518152602084015190938491906001600160401b038211610c0d57019082601f83011215610c0d5781519161445583613f07565b936144636040519586613cde565b83855260208483010111610c0d57602092613d5891848087019101613dee565b90602082820312610c0d5781516001600160401b0392838211610c0d570160c081830312610c0d57604051926144b884613c7a565b8151845260208201516001600160a01b0381168103610c0d5760208501526144e260408301614391565b60408501526060820151908111610c0d5760a092614501918301614408565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561454357565b6040516303988b8160e61b8152600490fd5b90816020910312610c0d57518015158103610c0d5790565b6001600160a01b0391821681529116602082015260400190565b607f546001600160a01b031680156145f7576145bd9160209160405180809581946302154c3d60e51b835230906004840161456d565b03915afa9081156145eb576000916145d3575090565b613e53915060203d8111610c9a57610c8c8183613cde565b6040513d6000823e3d90fd5b5050600190565b607d546001600160a01b0316330361461257565b6040516357848b5160e11b8152600490fd5b919082039182116142dc57565b607d5460408051637817ee4f60e01b81526020949391926000926001600160a01b0392909183169087818061466a30876004840161456d565b0381855afa8015614846578590614817575b6146899150607054614624565b607055803b15610c5a5783855180926322bcf99960e01b82528183816146b330896004840161456d565b03925af1801561480d576147fa575b501680825260828552828220948351808783829954938481520190865283862092865b858282106147e4575050506146fc92500387613cde565b825b86518110156147b457806147156147389289614a4b565b5180865260808085528787209161472b81614a5f565b61473d575b505050614382565b6146fe565b6000805160206151ab8339815191529260a0928860005260098201885260038b6000208b8154915561478f6002850191614778818454614624565b8355606f614787828254614624565b905585614da7565b54920154918b51938a8552898501528a8c8501526060840152820152a1388080614730565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c9550930192016146e5565b61480690939193613c95565b91386146c2565b85513d86823e3d90fd5b508781813d831161483f575b61482d8183613cde565b81010312610c5e57614689905161467c565b503d614823565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610c0d57516001600160a01b0381168103610c0d5790565b90816020910312610c0d575160ff81168103610c0d5790565b604d81116142dc57600a0a90565b818102929181159184041417156142dc57565b81156148d1570490565b634e487b7160e01b600052601260045260246000fd5b8015614a24576149b2816000908360801c80614a18575b508060401c80614a0b575b508060201c806149fe575b508060101c806149f1575b508060081c806149e4575b508060041c806149d7575b508060021c806149ca575b50600191828092811c6149c3575b1c1b61495a81856148c7565b01811c61496781856148c7565b01811c61497481856148c7565b01811c61498181856148c7565b01811c61498e81856148c7565b01811c61499b81856148c7565b01811c6149a881856148c7565b01901c80926148c7565b808210156149be575090565b905090565b018161494e565b6002915091019038614940565b6004915091019038614935565b600891509101903861492a565b601091509101903861491f565b6020915091019038614914565b6040915091019038614909565b915050608090386148fe565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b8051821015613fe75760209160051b010190565b60005260806020526040600020805415159081614a7a575090565b600501546001600160a01b03161515919050565b614a9d607154606954906148b4565b62989680918281029281840414901517156142dc57111590565b919091600083820193841291129080158216911516176142dc57565b614add8282614ab7565b9160008312614aeb57505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607354906298968093848360801b0490600160801b9182811015614bd8578583965b614b97575050614b4290856148b4565b93858302928084048714901517156142dc5781039081116142dc57614b66916148b4565b9083039283116142dc57614b8392614b7d916148c7565b906142cf565b6001607f1b81019081106142dc5760801c90565b600191818316614bb75780614bab91614cf0565b911c90815b9091614b32565b809250614bc49197614cf0565b9560001981019081116142dc579081614bb0565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614cde57614c2e82614a8e565b61337757607154604081901b92600160401b92918015908504841417156142dc578060401b9281840414901517156142dc57614c70614c7c91614c97936148c7565b62989680809404614624565b614c8e8360725460801b0491806148b4565b60401c906148c7565b818102908082048314901517156142dc5760735482039182116142dc57614cca91614cc1916148c7565b607054906148b4565b60401c6074548082116000146149be575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614d5157811015614d0d57614b83916148b4565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614db29082614dd9565b9091821580614dd1575b614dcc5760039160078201550155565b505050565b508115614dbc565b4391600782015491838311614e1657838314614e0a576003614dfe614e079486614624565b91015490614b0e565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b6020810180516001600160a01b03919082168015159081615036575b81614fb4575b50614ea4575b505081614ea16101409260008051602061520b8339815191529451607155602083015160725560408301516073556060830151607455614e9760405180946143a5565b60808301906143c8565ba1565b606d549193916001600160401b0316614fa257838351169284825116843b15610c0d5760009460248692604051978893849263446adb9960e11b845260048401525af19182156145eb5760008051602061520b8339815191529561014095614ea194614f93575b5060775490607854927fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f606060405130815284861660208201528487166040820152a18185511660018060a01b031980941617607755511691161760785560408101516079556060810151607a556080810151607b5560a0810151607c559250819350614e54565b614f9c90613c95565b38614f0b565b60405163fcc12b5b60e01b8152600490fd5b60785484161480159150615025575b8015615015575b8015615005575b8015614ff5575b8015614fe5575b38614e4e565b5060a0830151607c541415614fdf565b506080830151607b541415614fd8565b506060830151607a541415614fd1565b5060408301516079541415614fca565b508183511682607754161415614fc3565b8451841615159150614e48565b80600052608060205260406000209080825403612cee57508061506c6002600393015482614da7565b015490565b607d54604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa9081156145eb576000916150c3575b501633036150b157565b604051637430763f60e11b8152600490fd5b6150db915060203d8111612032576120248183613cde565b386150a7565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b0391821660208201529116604082015260608101919091526080019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bb47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a2646970667358221220e382d0803a42a887e7e3aafb1d6d12705b0e22537a3f54fae4f9e758db1abfdb64736f6c63430008130033","sourceMap":"4048:46903:111:-:0;;;;;;;;;-1:-1:-1;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13610:50;4048:46903;13610:50;;;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8365:7;4048:46903;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;26724:28;4048:46903;;;2235:64:110;;:::i;:::-;5587:21;4048:46903:111;5587:21:110;4048:46903:111;5587:21:110;:::i;:::-;;4048:46903:111;;;;;;26724:28;4048:46903;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;4048:46903:111;;2423:22:47;4048:46903:111;;2517:8:47;;;:::i;4048:46903:111:-;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;3301:14:49;3347:34;;;;;;4048:46903:111;3346:108:49;;;;4048:46903:111;;;;-1:-1:-1;;4048:46903:111;;3551:1:49;4048:46903:111;;;10146:31;;4048:46903;3562:65:49;;4048:46903:111;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4048:46903:111;;;;10146:31;:::i;:::-;5366:69:49;4048:46903:111;;;;;;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;10213:50:111;4048:46903;;-1:-1:-1;;;;;;4048:46903:111;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;3647:99:49;;4048:46903:111;;3647:99:49;4048:46903:111;;;;;;;3721:14:49;4048:46903:111;;;3551:1:49;4048:46903:111;;3721:14:49;4048:46903:111;;3562:65:49;-1:-1:-1;;4048:46903:111;;;;;3562:65:49;;;4048:46903:111;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;3346:108:49;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;4048:46903:111;3452:1:49;4048:46903:111;;;3436:17:49;3346:108;;3347:34;4048:46903:111;3380:1:49;4048:46903:111;;;3365:16:49;3347:34;;4048:46903:111;;;;;:::i;:::-;2235:64:110;;;:::i;:::-;3100:78;;:::i;:::-;-1:-1:-1;;;;;4048:46903:111;;;;;11947:21;;11943:77;;12041:17;4048:46903;;12033:40;;;12029:100;;4048:46903;;-1:-1:-1;;;12143:35:111;;4048:46903;12143:35;;4048:46903;;;12143:35;;4048:46903;;689:66:62;12143:35:111;4048:46903;;;12143:35;;;;;;;;;;;;4048:46903;12142:36;;12138:93;;22030:26;;;:::i;:::-;22029:27;22025:90;;4048:46903;;-1:-1:-1;;;22201:69:111;;22264:4;4048:46903;;22201:69;22264:4;22201:69;4048:46903;22201:69;;;:::i;:::-;;;;;;;;;;;;;;;4048:46903;22284:24;;22280:78;;4048:46903;;22412:53;;;;;;4048:46903;;;;;;;;22412:53;;;4048:46903;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;31371:26;;;;;31412:13;;31407:630;31456:3;4048:46903;;31427:27;;;;;31534:19;;;;:::i;:::-;;4048:46903;31534:35;31530:187;;31751:19;;;;:::i;:::-;;4048:46903;31800:26;;;:::i;:::-;31799:27;31795:167;;31994:19;31975:51;31456:3;31994:19;;;;;;:::i;:::-;;:32;4048:46903;31975:51;;:::i;:::-;31456:3;;:::i;:::-;31412:13;;;31795:167;4048:46903;;;;23392:29;;;;31853;;4048:46903;31853:29;;4048:46903;31853:29;31530:187;31694:8;31456:3;31694:8;31456:3;:::i;31427:27::-;;;;;32165:60;32336:66;31427:27;;;;4048:46903;;;30473:18;4048:46903;;;;;;32165:60;:::i;:::-;4048:46903;;;689:66:62;;;;;;;;32336::111;;22264:4;32336:66;4048:46903;32336:66;;;:::i;:::-;;;;;;;;;;;;;;31407:630;32568:42;;;;32564:147;;4048:46903;;;;;;;;30473:18;4048:46903;;;;;;;32900:29;;32944:13;;32939:3319;32988:3;4048:46903;;32959:27;;;;;33028:19;;;;:::i;:::-;;4048:46903;;;;33131:24;33127:920;33131:19;;;4048:46903;;;;;;;:::i;:::-;;;;;;;;;;;;33175:31;4048:46903;;;;;;;;33127:920;;;;34075:19;;;;;:::i;:::-;;:32;4048:46903;;;;;34165:9;;4048:46903;;;;;;;34319:26;;;;4048:46903;;;;;;;34542:40;4048:46903;;;;34542:40;;;:::i;:::-;4048:46903;;;;;;;;;;;35001:24;35044:13;;4048:46903;;;35039:246;35101:3;4048:46903;;;35063:20;4048:46903;;;;;35059:40;;;;;35128:32;;;;;:::i;:::-;4048:46903;;;;;;35128:55;35124:147;;35101:3;;;;;4048:46903;35101:3;;:::i;:::-;35044:13;;;;;35124:147;35207:18;;;;;;;;;;4048:46903;35207:18;;;;35039:246;35302:12;35298:106;;35039:246;-1:-1:-1;32988:3:111;;35559:36;;;;;;-1:-1:-1;35559:36:111;;;;;35630:35;;;;:::i;:::-;35615:50;;4048:46903;;;35615:50;:::i;:::-;4048:46903;;35708:35;;;;:::i;:::-;35683:60;:21;;;4048:46903;;;35683:60;:::i;:::-;4048:46903;;35555:370;35942:18;;;4048:46903;;;35942:23;35938:310;35942:18;;;36006:12;;;;;;;4048:46903;;32988:3;:::i;:::-;32944:13;;;;;;35938:310;4048:46903;36094:20;;;-1:-1:-1;;;;;;;;;;;36094:20:111;;;:::i;:::-;4048:46903;36186:21;;;4048:46903;36209:23;;4048:46903;;;;;;;;;;;;;;;;;;;;;;;36138:95;32988:3;:::i;35555:370::-;35797:35;;;;:::i;:::-;35782:50;;4048:46903;;;35782:50;:::i;:::-;4048:46903;;35875:35;;;;:::i;:::-;35850:60;:21;;;4048:46903;;;35850:60;:::i;:::-;4048:46903;;35555:370;;35298:106;4048:46903;;;35063:20;4048:46903;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;32988:3;4048:46903;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;35298:106;;;;;;;;;4048:46903;-1:-1:-1;;;;4048:46903:111;;;;;;;;35059:40;;;;;;;;;;;;;;;;;;;4048:46903;;;;;;;;;;;;33127:920;33301:18;;;;;;;;;;33342:13;;33382:3;4048:46903;;33357:23;;;;;33438:15;;;;;:::i;:::-;4048:46903;33438:29;33434:203;;33382:3;;;:::i;:::-;33342:13;;33434:203;33495:12;4048:46903;33495:12;;4048:46903;;33540:40;;;;;;4048:46903;33540:40;;4048:46903;;;;33540:40;33357:23;;;;;;;;;;;;;33676:6;33672:361;;33337:318;33127:920;;;;;;33672:361;4048:46903;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;33795:13;;4048:46903;;;33790:124;4048:46903;;33935:38;4048:46903;;;33935:38;;:::i;:::-;4048:46903;33672:361;;;;;;33835:3;4048:46903;;;;;;;;33810:23;;;;;33876:15;;;33835:3;33876:15;;;:::i;:::-;4048:46903;33866:25;;;;:::i;:::-;4048:46903;33835:3;:::i;:::-;33795:13;;;;;;;;;;33810:23;;;;;;;;4048:46903;-1:-1:-1;;;4048:46903:111;;;;;;;;32959:27;;4048:46903;;32564:147;4048:46903;;;;;;32633:67;;;;;;4048:46903;32633:67;;4048:46903;;;;32633:67;32336:66;;;;;;;;;;;;;;;;:::i;:::-;;;4048:46903;;;;;32336:66;;;4048:46903;;;;32336:66;;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;4048:46903:111;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22280:78;4048:46903;;-1:-1:-1;;;22331:16:111;;4048:46903;;22331:16;22201:69;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;22025:90:111;4048:46903;;-1:-1:-1;;;22079:25:111;;4048:46903;;22079:25;12138:93;4048:46903;;-1:-1:-1;;;12201:19:111;;4048:46903;;12201:19;12143:35;;;;;;;;;;;;;;:::i;:::-;;;;12029:100;4048:46903;;-1:-1:-1;;;12096:22:111;;4048:46903;;12096:22;11943:77;4048:46903;;-1:-1:-1;;;11991:18:111;;4048:46903;;11991:18;4048:46903;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;:::i;:::-;2235:64:110;;:::i;:::-;;;:::i;:::-;5073:6;4048:46903:111;5069:45:110;;5201:12;;5197:34;;4048:46903:111;5073:6:110;4048:46903:111;10461:23;4048:46903;2273:565:48;10486:12:111;4048:46903;10486:12;;;:::i;:::-;;4048:46903;;;;4867:36:6;;4884:10;;4048:46903:111;;;;;;;;;4867:36:6;;;;;:::i;:::-;4048:46903:111;4857:47:6;;2273:565:48;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2273:565:48;;4048:46903:111;2273:565:48;-1:-1:-1;;;;;4048:46903:111;2273:565:48;;;;4048:46903:111;2855:22:48;;4048:46903:111;;10408:92;4048:46903;;-1:-1:-1;;;;;;4048:46903:111;;;;;;;;;;;;;10510:28;;;;;4048:46903;;;;;;689:66:62;;;;;;;10510:28:111;;;;;;;;;;4048:46903;;;;;;10593:52;;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10593:52;;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;4048:46903:111;10660:34;10656:94;;4048:46903;;;;10760:63;4048:46903;;-1:-1:-1;;;;;;4048:46903:111;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;10834:30;4048:46903;;;;;;;;;;;;;;;;;11067:26;4048:46903;;;;;;;;;;;;;10834:30;4048:46903;;;;10926:14;4048:46903;10912:28;4048:46903;;;;;;;;;;;;;;;;;10950:42;4048:46903;;;10950:42;4048:46903;11039:11;4048:46903;;;11018:19;11039:11;;;;:::i;:::-;4048:46903;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;11067:26;4048:46903;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;10510:28;;;;:::i;:::-;4048:46903;;10510:28;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;10510:28:111;4048:46903;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;5197:34:110;4048:46903:111;;-1:-1:-1;;;5222:9:110;;4048:46903:111;;5222:9:110;5069:45;4048:46903:111;;-1:-1:-1;;;5093:21:110;;4048:46903:111;;5093:21:110;4048:46903:111;;;;;;;-1:-1:-1;;4048:46903:111;;;;-1:-1:-1;;;;;4048:46903:111;;:::i;:::-;;25870:26;:62;;-1:-1:-1;25870:62:111;;4048:46903;;25870:62;4048:46903;;;;;;:::i;:::-;;;;25870:62;4048:46903;25917:15;25870:62;;4048:46903;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21674:16:111;;4048:46903;;21674:16;4048:46903;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;30639:40;4048:46903;;;:::i;:::-;;;;;;30639:9;4048:46903;;;30639:40;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11124:10:110;689:66:62;4048:46903:111;;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;30269:35;4048:46903;;;;;;;30269:9;4048:46903;;;30269:35;4048:46903;;;;;;;;;;;;;;;;;;;;;41550:20;4048:46903;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;29063:9;4048:46903;;;;;;29108:24;;4048:46903;29108:80;:29;;:80;:29;;;:80;4048:46903;;;;;29219:18;;;;;4048:46903;;29251:20;;4048:46903;29251:20;;4048:46903;;29285:23;;;;4048:46903;;29360:21;;;;4048:46903;;29395:23;;;4048:46903;;29432:18;;;;4048:46903;29464:23;29524:26;4048:46903;29464:23;;4048:46903;29551:10;;4048:46903;;29524:26;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;29063:9;4048:46903;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;29108:80;29144:44;;;;:::i;:::-;29108:80;;4048:46903;;;;;;;;;;;;;;;21394:11;4048:46903;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;:::i;:::-;;;;30473:18;4048:46903;;;;;;;;;;;;;;;;;;;;;;;9335:31;4048:46903;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;;;;;10853:19:110;4048:46903:111;;;10818:20:110;4048:46903:111;;;;;;10818:20:110;4048:46903:111;;;;;;10853:19:110;4048:46903:111;;;-1:-1:-1;4048:46903:111;;-1:-1:-1;;4048:46903:111;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;:::i;:::-;;;;;45994:9;4048:46903;;;;;46038:16;4048:46903;;;;;;-1:-1:-1;;;;;4048:46903:111;46030:50;46026:112;;4048:46903;;;;46315:33;46311:100;;4048:46903;;46424:23;;;4048:46903;;;;;:::i;:::-;46424:63;46420:130;;46575:43;4048:46903;46563:9;;;:55;46559:171;;46849:30;;;4048:46903;46849:35;;;:126;;;4048:46903;46832:325;;46563:9;47192:55;46563:9;;47192:55;:::i;:::-;4048:46903;;;;;;;47258:15;4048:46903;;47258:109;;;;;;4048:46903;;689:66:62;;;;;;;47258:109:111;;47356:10;47258:109;47356:10;4048:46903;;;47258:109;;;:::i;:::-;;;;;;;;;;;4048:46903;;;;;;;;;;;;;;46038:16;4048:46903;;;;;689:66:62;;;;;;;;;47390:92:111;;4048:46903;;47390:92;;4048:46903;;;;;;;;;;;:::i;:::-;47390:92;;;;;;;;;;;;;4048:46903;-1:-1:-1;46424:23:111;;;4048:46903;;-1:-1:-1;;4048:46903:111;47519:38;4048:46903;;;47567:20;;;4048:46903;;;47659:15;47619:37;;;4048:46903;;;47684:31;;;;4048:46903;;-1:-1:-1;;;;;;4048:46903:111;47356:10;4048:46903;;;;;;47738:21;4048:46903;;;;;;;;;47794:14;4048:46903;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;-1:-1:-1;;;;;;;4048:46903:111;;;;;;;-1:-1:-1;;;;;4048:46903:111;;47794:14;4048:46903;46038:16;4048:46903;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;47356:10;4048:46903;;;;;45994:9;4048:46903;;;;;;;47824:210;;4048:46903;;;;;;;;;;;:::i;:::-;;;;;;47824:210;;;4048:46903;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;47390:92;;;;4048:46903;47390:92;;4048:46903;47390:92;;;;;;4048:46903;47390:92;;;:::i;:::-;;;4048:46903;;;;;47390:92;;;;;;;-1:-1:-1;47390:92:111;;;4048:46903;;;689:66:62;;;;;;;;47258:109:111;;;;;:::i;:::-;4048:46903;;47258:109;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;46832:325:111;4048:46903;8365:7;4048:46903;;;;;;;;47061:71;47117:15;;47061:71;:::i;:::-;4048:46903;;47007:139;;;;;;4048:46903;;;47007:139;;4048:46903;;;;;47007:139;46849:126;4048:46903;8365:7;4048:46903;;;;;;;46960:15;-1:-1:-1;46849:126:111;;4048:46903;-1:-1:-1;;;4048:46903:111;;;;;;;;46559:171;4048:46903;;-1:-1:-1;;;46641:78:111;;46563:9;4048:46903;46641:78;;4048:46903;;;;;;;;;46641:78;46420:130;4048:46903;;;23710:29;;;46510;;4048:46903;;;46510:29;;4048:46903;46510:29;46311:100;4048:46903;;;23392:29;;;46371;;4048:46903;;;46371:29;;4048:46903;46371:29;46026:112;4048:46903;;-1:-1:-1;;;46103:24:111;;4048:46903;;46103:24;4048:46903;;;;;;;-1:-1:-1;;4048:46903:111;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;26238:16:111;;4048:46903;;26238:16;4048:46903;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;:::i;:::-;45336:181;;:::i;:::-;45447:12;;;:::i;:::-;45470:40;4048:46903;;-1:-1:-1;;;;;;4048:46903:111;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;29759:17;4048:46903;;;;;;;;;;:::i;:::-;;;;;;;;;;29720:9;4048:46903;;;29759:17;4048:46903;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9092:51;4048:46903;;;;;;;;;;;;;;;;;;;;8698:30;4048:46903;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;4048:46903:111;;;;;;;;;;;;;;;;;16025:14;4048:46903;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;7874:8;4048:46903;;;;;;;;;;;;;;;;45078:14;4048:46903;;;;;;;;;45058:35;;;;:::i;:::-;4048:46903;;;;;;;;;;;;;;;;;;;1534:6:47;4048:46903:111;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;:::i;:::-;-1:-1:-1;;;;;4048:46903:111;;;9640:57;4048:46903;;;;;;;;;;;9640:57;;;;;4048:46903;9640:57;;;;:::i;:::-;4048:46903;;;;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;24836:9;4048:46903;;;25002:66;25046:21;;;4048:46903;25002:66;;:::i;:::-;24942:126;;;25083:19;;:39;;;;4048:46903;25079:110;;;4048:46903;;25218:44;25237:24;;4048:46903;25218:44;:::i;:::-;-1:-1:-1;25395:27:111;4048:46903;;;;;;25079:110;4048:46903;25155:23;;4048:46903;;-1:-1:-1;25079:110:111;;25083:39;25106:16;;;25083:39;;;4048:46903;;;;;;;;;;;;;;8775:26;4048:46903;;;;;;;;;;;;;;;;;;;;16139:25;16114:10;16139:25;:::i;:::-;16138:26;16134:89;;16232:17;4048:46903;-1:-1:-1;;;;;4048:46903:111;;;;;16232:65;;;;;4048:46903;;;689:66:62;;;;;16232:65:111;;16291:4;;;16232:65;16291:4;16114:10;4048:46903;16232:65;;;:::i;:::-;;;;;;;;;;;4048:46903;;;16232:17;4048:46903;;16331:65;4048:46903;;689:66:62;;;;;16331:65:111;;16291:4;;16331:65;16291:4;16114:10;4048:46903;16331:65;;;:::i;:::-;;;;;;;;;;;;;4048:46903;16307:89;4048:46903;;16307:89;4048:46903;16307:89;:::i;:::-;;4048:46903;;;16331:65;;;;;;;;;;;;;;;;:::i;:::-;;;4048:46903;;;;16307:89;4048:46903;;16331:65;;;;;-1:-1:-1;16331:65:111;;16232;;;;:::i;:::-;4048:46903;;16232:65;;;;4048:46903;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;:::i;:::-;;;17069:7;;:::i;:::-;17171:26;;;:::i;:::-;17170:27;17166:90;;17265:28;4048:46903;17307:11;4048:46903;;;;;;;;;;17322:36;17307:51;;17322:36;;17374:57;;;17303:441;;17772:17;4048:46903;;;-1:-1:-1;;;17772:69:111;;4048:46903;;;;;-1:-1:-1;;;;;4048:46903:111;;;17772:69;17835:4;17772:69;4048:46903;17772:69;;;:::i;:::-;;;;;;;;;;;17947:57;17772:69;;;4048:46903;17772:69;;;;17303:441;17851:82;;;17303:441;17947:57;4048:46903;;;17947:57;;;;;:::i;:::-;;;;4048:46903;;;;;;17851:82;17882:40;4048:46903;17882:40;4048:46903;17882:40;:::i;:::-;;4048:46903;17851:82;;17772:69;;;;;;;;;;;;;;:::i;:::-;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;17303:441:111;4048:46903;17452:48;;4048:46903;;-1:-1:-1;;19118:17:111;4048:46903;;;-1:-1:-1;;;19118:66:111;;18981:41;;4048:46903;;;;-1:-1:-1;;;;;4048:46903:111;;;19118:66;19178:4;19118:66;4048:46903;19118:66;;;:::i;:::-;;;;;;;;;;;;;;17448:296;19250:30;;;;;:::i;:::-;19283:11;4048:46903;19250:54;;;19246:139;;17448:296;17516:63;;17448:296;17303:441;;19246:139;19339:35;;;;:::i;:::-;19246:139;;;;19118:66;;;4048:46903;19118:66;;;;;;;;;4048:46903;19118:66;;;:::i;:::-;;;4048:46903;;;;;19118:66;;;;;;-1:-1:-1;19118:66:111;;17448:296;17600:51;;;-1:-1:-1;;17600:51:111;17303:441;17596:148;19635:17;4048:46903;;;-1:-1:-1;;;19635:48:111;;-1:-1:-1;;;;;4048:46903:111;;;;19635:48;;4048:46903;;;-1:-1:-1;4048:46903:111;;;;;;;;;;;19635:48;;;;;;;;;;;;17596:148;19635:65;;;;:::i;:::-;4048:46903;;-1:-1:-1;;;19759:31:111;;4048:46903;19729:2;19759:31;4048:46903;;;19759:31;;;;;;;;19986:37;19759:31;;20009:13;19759:31;19996:26;19759:31;;;;;17596:148;4048:46903;;;;689:66:62;;;;;;;19745:58:111;;4048:46903;19745:58;;;;;;;17596:148;19741:211;;;17596:148;20009:13;;:::i;:::-;19996:26;;:::i;:::-;19986:37;:::i;:::-;4048:46903;;;689:66:62;;;;;20057::111;;20117:4;;20057:66;20117:4;20057:66;4048:46903;20057:66;;;:::i;:::-;;;;;;;;;;;;;;17596:148;20161:30;;;;;:::i;:::-;17596:148;17303:441;;20057:66;;;;;;;;;;;;;;;;:::i;:::-;;;4048:46903;;;;20161:30;4048:46903;;20057:66;;;;;;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;19741:211:111;4048:46903;;;;19741:211;;;19745:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;19759:31;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;19635:48:111;;;;;;;;;;;;;;;;:::i;:::-;;;4048:46903;;;;;19635:65;4048:46903;;19635:48;;;;;;;4048:46903;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;1324:62:47;;:::i;:::-;2779:6;4048:46903:111;;-1:-1:-1;;;;;;4048:46903:111;;;;;;;-1:-1:-1;;;;;4048:46903:111;-1:-1:-1;;;;;;;;;;;4048:46903:111;;2827:40:47;4048:46903:111;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;16609:7;4048:46903;;:::i;:::-;16496:128;;:::i;:::-;16609:7;:::i;4048:46903::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9237:46;4048:46903;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2089:6:66;-1:-1:-1;;;;;4048:46903:111;2080:4:66;2072:23;4048:46903:111;;;;;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;-1:-1:-1;4048:46903:111;;-1:-1:-1;;4048:46903:111;;;;;;:::i;:::-;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;4048:46903:111;;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:62;4048:46903:111;;;;;2993:17:62;;;;;;:::i;2906:504::-;4048:46903:111;;;;689:66:62;;;;3046:52;;;;;;4048:46903:111;3046:52:62;;;;4048:46903:111;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;4048:46903:111;;-1:-1:-1;;;3262:56:62;;4048:46903:111;3262:56:62;;689:66;;;;4048:46903:111;689:66:62;;4048:46903:111;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;4048:46903:111;1889:27:62;;4048:46903:111;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;4048:46903:111;;2204:112:62;7307:69:78;4048:46903:111;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;;-1:-1:-1;;;4048:46903:111;;;;7265:25:78;;;;;;;;;4048:46903:111;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:78;:::i;:::-;;2204:112:62;;;;;4048:46903:111;;;-1:-1:-1;7307:69:78;:::i;2208:28:62:-;;4048:46903:111;2208:28:62;;689:66;4048:46903:111;;-1:-1:-1;;;689:66:62;;4048:46903:111;689:66:62;;;;;;4048:46903:111;689:66:62;;4048:46903:111;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;;3046:52;;;;;;;;;4048:46903:111;;;;;;;-1:-1:-1;;4048:46903:111;;;;-1:-1:-1;;;;;4048:46903:111;;:::i;:::-;;26999:39;;4048:46903;26999:39;;4048:46903;;;;;;;;26999:39;;4048:46903;;26999:39;;4048:46903;;;;;;;;;;;;;;4022:10:110;4048:46903:111;;;;;;;;;;;;;;;;;;;;;3823:10:110;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;8182:2;4048:46903;;;;;;;;;;;;;;;;;3637:6:110;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;4048:46903:111;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;4048:46903:111;;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;689:66:62;4048:46903:111;2906:504:62;4048:46903:111;;;2993:17:62;;;;;;;;:::i;2906:504::-;4048:46903:111;;;;;;;;689:66:62;;;3046:52;;;;4048:46903:111;3046:52:62;;;;4048:46903:111;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;4048:46903:111;;-1:-1:-1;;;3262:56:62;;4048:46903:111;3262:56:62;;689:66;;;;;;;4048:46903:111;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;4048:46903:111;1889:27:62;;4048:46903:111;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;4048:46903:111;;2204:112:62;4048:46903:111;;7307:69:78;4048:46903:111;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;;-1:-1:-1;;;4048:46903:111;;;;7265:25:78;;;;;;4048:46903:111;;;;;;;;:::i;7307:69:78:-;;2204:112:62;;;;;;2208:28;;4048:46903:111;2208:28:62;;689:66;4048:46903:111;;-1:-1:-1;;;689:66:62;;4048:46903:111;689:66:62;;;;;;;;;4048:46903:111;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;;3046:52;;;;;;;;;4048:46903:111;;;;;;;;;;;;;;;8935:47;4048:46903;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;8667:25;4048:46903;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;;;;;48147:21;4048:46903;;;;;;;;;;48233:9;4048:46903;;;;;48269:15;;;48265:82;;48360:23;;;4048:46903;;48387:38;4048:46903;;;;;;:::i;:::-;48360:65;48356:134;;48535:77;:37;;;4048:46903;48575:37;4048:46903;48535:77;;:::i;:::-;48517:15;:95;48627:10;;;;;:64;;4048:46903;48623:118;;48755:25;;;4048:46903;48751:1934;;;4048:46903;48800:30;4048:46903;48800:35;;48796:102;;4048:46903;48915:35;48911:136;;48751:1934;49098:1;48800:30;4048:46903;49064:35;49060:138;;48751:1934;-1:-1:-1;49211:15:111;4048:46903;49275:31;;;4048:46903;49308:43;4048:46903;-1:-1:-1;;;;;4048:46903:111;;;;;;;;49211:154;;;;;;4048:46903;;;;;;689:66:62;;;;;;;;;49211:154:111;;;;;4048:46903;49211:154;;;:::i;:::-;;;;;;;;;;;;;;48751:1934;4048:46903;;;49211:15;4048:46903;;49443:18;48387:38;49443:18;;4048:46903;;49463:45;;;;4048:46903;49379:143;;;;;;4048:46903;;;;;;49379:143;4048:46903;;49379:143;;;;;;;;;4048:46903;49379:143;;;:::i;:::-;;;;;;;;;;;;;;48751:1934;;;;50695:14;4048:46903;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;50782:56;4048:46903;;;;;;;;;;;;;;;;;50695:14;4048:46903;50719:30;48517:15;50719:30;;4048:46903;;;;;;48575:16;4048:46903;;;;;;;;50782:56;4048:46903;;;-1:-1:-1;;;4048:46903:111;;;;;;;;49379:143;;;;:::i;:::-;4048:46903;;49379:143;;;;;4048:46903;;;49211:154;;;;:::i;:::-;4048:46903;;49211:154;;;;49060:138;4048:46903;;-1:-1:-1;;4048:46903:111;49145:38;4048:46903;;;49060:138;;;48911:136;4048:46903;;-1:-1:-1;;4048:46903:111;;;;;48911:136;;48796:102;4048:46903;;-1:-1:-1;;;48862:21:111;;4048:46903;;48862:21;48751:1934;4048:46903;49543:12;;4048:46903;;-1:-1:-1;4048:46903:111;;-1:-1:-1;;4048:46903:111;;;;;49647:15;4048:46903;49730:31;;;4048:46903;49787:17;4048:46903;;;-1:-1:-1;;;49787:31:111;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;49787:31;;;;;;;;;;;49539:1146;4048:46903;49837:43;4048:46903;49647:247;;;;;4048:46903;;;;;49647:247;4048:46903;;;;689:66:62;;;;;;;;;;49647:247:111;;4048:46903;49647:247;4048:46903;49647:247;;;:::i;:::-;;;;;;;;;;;;;;49539:1146;;;48751:1934;;49647:247;;;;:::i;:::-;4048:46903;;49647:247;;;;;4048:46903;;;49787:31;;;;;;;;;;;;;;:::i;:::-;;;;49539:1146;49926:1;49915:12;;49911:774;;49539:1146;;;;48751:1934;;49911:774;-1:-1:-1;;4048:46903:111;49969:38;4048:46903;;;50021:15;4048:46903;50085:31;;;4048:46903;;50118:43;4048:46903;50085:31;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;50021:154;;;;;4048:46903;;;50021:154;4048:46903;;;;689:66:62;;;;;;;;;50021:154:111;;;4048:46903;50021:154;;;:::i;:::-;;;;;;;;;;;;;;49911:774;4048:46903;;;50021:15;4048:46903;;50272:18;4048:46903;48387:38;50272:18;;4048:46903;;;;;;;50316:17;4048:46903;;;;689:66:62;;;;;;;50316:31:111;;;;;;;;;;;;;49911:774;50366:45;;;;4048:46903;;;;;50189:240;;;;;;4048:46903;;;50189:240;4048:46903;;;;689:66:62;;;;;;;;;;50189:240:111;;;;4048:46903;50189:240;;4048:46903;50189:240;;;:::i;:::-;;;;;;;;;;;;;;49911:774;4048:46903;;;;50021:15;4048:46903;;;;;;;;;;;;50443:231;;;;;4048:46903;;;;;50443:231;4048:46903;;;;50443:231;;;;;;;;;4048:46903;50443:231;;;:::i;:::-;;;;;;;;;;;;;;49911:774;;;;50443:231;;;;:::i;:::-;4048:46903;;50443:231;;;;50189:240;;;;:::i;:::-;4048:46903;;50189:240;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;50189:240:111;4048:46903;;;50316:31;;;;;;;;;;;;;;;:::i;:::-;;;;;50021:154;;;;:::i;:::-;4048:46903;;50021:154;;;;48755:25;48768:12;;;48755:25;;48623:118;4048:46903;;-1:-1:-1;;;48714:16:111;;4048:46903;;48714:16;48627:64;-1:-1:-1;48575:16:111;4048:46903;-1:-1:-1;;;;;4048:46903:111;48641:10;:50;;48627:64;;48356:134;4048:46903;;-1:-1:-1;;;48448:31:111;;4048:46903;48448:31;;4048:46903;;;;;48448:31;48265:82;4048:46903;;;;23392:29;;;;48307;;4048:46903;48307:29;;4048:46903;48307:29;4048:46903;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;:::i;:::-;;;18134:7;;;:::i;:::-;4048:46903;18274:11;4048:46903;;;;;;;;;;18289:36;18274:51;;:103;;;;;4048:46903;-1:-1:-1;18270:298:111;;;18393:65;-1:-1:-1;;;;;;;;;;;18393:65:111;4048:46903;18393:65;18270:298;;18577:40;4048:46903;18577:40;4048:46903;18577:40;:::i;:::-;;4048:46903;18632:59;4048:46903;;;18632:59;;;;;:::i;18270:298::-;20545:17;4048:46903;;;-1:-1:-1;;;20545:31:111;;4048:46903;;;-1:-1:-1;;;;;4048:46903:111;;;;20515:2;;4048:46903;;;;;;20545:31;;;;;;;;;;;;;;;18270:298;4048:46903;;;;689:66:62;;;;;;;20531:58:111;;4048:46903;20531:58;;;;;;;18270:298;20527:211;;;18270:298;-1:-1:-1;4048:46903:111;;-1:-1:-1;;;20833:48:111;;4048:46903;;;;20833:48;;4048:46903;20833:48;4048:46903;;;20833:48;;;;;;;;;;;;;;;18270:298;20833:67;;21017:13;20833:67;21001:29;20833:67;20991:40;20833:67;;:::i;:::-;21017:13;;:::i;20991:40::-;4048:46903;;;;689:66:62;;;;;21068::111;;21128:4;;21068:66;21128:4;21068:66;4048:46903;21068:66;;;:::i;:::-;;;;;;;;;;;;;18270:298;21068:83;;;;-1:-1:-1;;;;;;;;;;;21068:83:111;4048:46903;21068:83;;:::i;:::-;18270:298;;;21068:66;;;;;;;;;;;;;;;;;:::i;:::-;;;4048:46903;;;;;;21068:83;-1:-1:-1;;;;;;;;;;;21068:66:111;;;;;;;;4048:46903;;689:66:62;;;;;;;;20833:48:111;;;;;;;;;;;;;;;;;;:::i;:::-;;;4048:46903;;;;;;;21017:13;20833:48;;;;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;20527:211:111;4048:46903;;;-1:-1:-1;20527:211:111;;;20531:58;;;;;;;;;;;;;;;:::i;:::-;;;;;20545:31;;;;;;;;;;;;;;:::i;:::-;;;;18274:103;4048:46903;18329:48;;;18274:103;;;4048:46903;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;:::i;:::-;2235:64:110;;;;:::i;:::-;3100:78;;:::i;:::-;13408:26:111;;;:::i;:::-;13407:27;13403:90;;4048:46903;;13610:50;;;;4048:46903;;;;;;;;13610:50;;;4048:46903;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;13610:50;;;;4048:46903;;;;:::i;:::-;;;;;;;;;13775:20;13771:78;;4048:46903;13925:12;4048:46903;;;;;;;;;;13925:51;;;13921:764;;4048:46903;-1:-1:-1;14720:16:111;4048:46903;-1:-1:-1;;;;;4048:46903:111;;;;14712:50;;;:108;;4048:46903;14695:245;;14971:17;;4048:46903;14971:17;:::i;:::-;4048:46903;;14971:17;4048:46903;;;;;;;;;;;;;;;15101:11;;;;4048:46903;;;;;;;;;;;;;;;;;;;;15132:13;;4048:46903;;;;;;;;;;15178:16;;;4048:46903;;;;;;;;15230:17;;;4048:46903;15335:16;;;4048:46903;;;;;;;;;15414:12;15400:11;;;4048:46903;15436:16;4048:46903;15436:16;;4048:46903;15515:17;4048:46903;;;15502:10;;;4048:46903;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15629:38;15670:42;4048:46903;15629:38;;4048:46903;;;15722:15;4048:46903;;;;;15722:76;;;;;;;4048:46903;;;;;689:66:62;;;;;;;;15722:76:111;;;4048:46903;15722:76;;;:::i;:::-;;15763:9;;15722:76;;;;;;;;;4048:46903;;;15814:35;4048:46903;15830:6;4048:46903;;;;;;;;;;;15814:35;4048:46903;;;;;;;15722:76;;;;;:::i;:::-;4048:46903;;15722:76;;;4048:46903;;;;-1:-1:-1;4048:46903:111;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4048:46903:111;;;;;;;;;;;;;;15101:11;4048:46903;;;;;;;;;;;;15101:11;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4048:46903:111;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;14695:245;4048:46903;14886:42;4048:46903;;;14852:77;;;;;;14875:9;4048:46903;14852:77;;4048:46903;;;;;14852:77;14712:108;4048:46903;14778:42;4048:46903;14766:9;:54;14712:108;;13921:764;4048:46903;;-1:-1:-1;;;;;4048:46903:111;;14011:20;;4048:46903;;14011:20;:::i;:::-;4048:46903;;;;14098:37;14094:102;;4048:46903;;-1:-1:-1;;;14223:14:111;;4048:46903;14223:4;4048:46903;;;14223:4;:14;;;;;;;;;;;;;;;;13921:764;4048:46903;;;;;;689:66:62;;;;;;;;14276:30:111;;4048:46903;14276:30;;4048:46903;;14276:30;;;;;;;;;;;13921:764;4048:46903;;;;;;14351:10;;4048:46903;;14324:37;14320:235;;14572:41;4048:46903;;14572:41;:::i;:::-;14568:107;;13921:764;;;14568:107;4048:46903;;-1:-1:-1;;;14640:20:111;;4048:46903;;14640:20;14320:235;4048:46903;;-1:-1:-1;;;14523:17:111;;4048:46903;;14523:17;14276:30;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;14223:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4048:46903;;;;;;;;;;;;14223:14;;;;;4048:46903;14223:14;;;;;;;14094:102;4048:46903;;-1:-1:-1;;;14162:19:111;;4048:46903;;14162:19;4048:46903;-1:-1:-1;;;4048:46903:111;;;;;;;;13771:78;4048:46903;;-1:-1:-1;;;13818:20:111;;4048:46903;;13818:20;4048:46903;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;9735:56;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;8849:39;4048:46903;8849:39;4048:46903;8849:39;4048:46903;8849:39;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16472:10;;;:::i;4048:46903::-;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3465:4:110;4048:46903:111;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;9149:55;4048:46903;;;9149:55;4048:46903;;9149:55;4048:46903;9149:55;4048:46903;9149:55;4048:46903;;9149:55;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7874:8;4048:46903;;;;;;;;;;;;;;;;;8734:34;4048:46903;;;;;;;;;;;;;;;;;;;;9290:39;4048:46903;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;2235:64:110;;:::i;:::-;3100:78;;:::i;:::-;4048:46903:111;;22954:17;22950:76;;4048:46903;;;;23057:28;;4048:46903;;;;;23057:28;4048:46903;23100:15;;23096:77;;4048:46903;;;23225:9;4048:46903;;;;;;;23261:12;4048:46903;;;;;;;;;23261:51;23257:1365;;4048:46903;;;23257:1365;4048:46903;;;23332:33;23328:108;;4048:46903;23454:24;;4048:46903;;;23481:10;4048:46903;23454:37;;;;23450:152;;23620:23;;;;;4048:46903;;;;;;;;;:::i;:::-;23620:63;23616:138;;23793:36;;;:::i;:::-;4048:46903;;23863:44;;;;:::i;:::-;-1:-1:-1;23926:58:111;;;23257:1365;23922:137;;4048:46903;;24098:4;4048:46903;;;24111:6;4048:46903;;;;689:66:62;;;;;;;24098:20:111;;4048:46903;24098:20;;4048:46903;24098:20;;;;;;;;4048:46903;24098:20;;;;;;;23257:1365;4048:46903;24133:38;4048:46903;23481:10;4048:46903;24133:38;:::i;:::-;23481:10;4048:46903;24209:10;4048:46903;;24221:20;4048:46903;24221:20;;4048:46903;;;;;;;;6815:16:10;4445:42:9;6815:16:10;;6811:173;4445:42:9;;;2570:369:15;;;;;;;;;;;6811:173:10;4048:46903:111;;;;;;;;;;24377:15;4048:46903;;24461:45;24441:18;;;;4048:46903;;24461:45;;4048:46903;24377:143;;;;;;4048:46903;;;24377:143;4048:46903;;;;689:66:62;;;;;;;;;24377:143:111;;;4048:46903;24377:143;;;:::i;:::-;;;;;;;;;;;6811:173:10;4048:46903:111;24540:71;4048:46903;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;;;;;;24540:71;;;;;:::i;:::-;;;;23257:1365;;;;4048:46903;;;24377:143;;-1:-1:-1;;;;;;;;;;;24377:143:111;;24540:71;24377:143;;:::i;:::-;;;;;;2570:369:15;;;;4048:46903:111;2570:369:15;;6811:173:10;11581:1056:15;;;4048:46903:111;11581:1056:15;4048:46903:111;11581:1056:15;;;;;;;;;;;;;;4048:46903:111;11581:1056:15;;;;;;;;;;;6811:173:10;;11581:1056:15;;;;4048:46903:111;11581:1056:15;;24098:20:111;24133:38;24098:20;;;;;;;;;;;;;;:::i;:::-;;;;;23922:137;4048:46903;;-1:-1:-1;;;24011:33:111;;4048:46903;;24011:33;23926:58;23956:28;;;;23926:58;;23616:138;4048:46903;;-1:-1:-1;;;23710:29:111;;4048:46903;23710:29;;4048:46903;;;23710:29;23450:152;4048:46903;;;;;;;23518:69;;;;;;4048:46903;23518:69;;4048:46903;;;;;;;;23518:69;23328:108;4048:46903;;-1:-1:-1;;;23392:29:111;;4048:46903;23392:29;;4048:46903;;;;;23392:29;4048:46903;-1:-1:-1;;;4048:46903:111;;;;;;;;23096:77;4048:46903;;-1:-1:-1;;;23138:24:111;;4048:46903;;23138:24;22950:76;4048:46903;;-1:-1:-1;;;22994:21:111;;4048:46903;;22994:21;4048:46903;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;-1:-1:-1;4048:46903:111;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45748:9;;4048:46903;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;45523:242;;:::i;:::-;45748:9;:::i;4048:46903::-;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;:::i;:::-;;;;;;;9844:35:110;4048:46903:111;;9844:4:110;4048:46903:111;;9863:6:110;4048:46903:111;;;;689:66:62;;;;;;;;9844:35:110;;45190:10:111;9844:35:110;4048:46903:111;9844:35:110;;;:::i;:::-;;;;;;;;;;;;;;4048:46903:111;9843:36:110;;9839:63;;45288:35:111;4048:46903;;;;;;;;;;;45212:61;4048:46903;;;45212:61;4048:46903;;;;;;45288:35;4048:46903;;9839:63:110;4048:46903:111;;-1:-1:-1;;;9888:14:110;;4048:46903:111;;9888:14:110;9844:35;;;;4048:46903:111;9844:35:110;;;;;;;;;:::i;:::-;;;;4048:46903:111;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11609:47:111;;;:87;;;;4048:46903;;;;;;;;;;11609:87;-1:-1:-1;;;937:40:82;;-1:-1:-1;11609:87:111;;;4048:46903;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;9433:60;4048:46903;;;;;;9433:60;4048:46903;;;9433:60;;4048:46903;9433:60;;;;4048:46903;;9433:60;;4048:46903;;;;;;;9433:60;;4048:46903;;;;;;;9433:60;;;4048:46903;;;;;;;9433:60;;;4048:46903;;9433:60;;;;4048:46903;9433:60;4048:46903;9433:60;;;4048:46903;;9433:60;;;;;;;:::i;:::-;4048:46903;;;;;;:::i;:::-;9433:60;;;;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9433:60;4048:46903;;;;;;;;;;;;;;;;;;;;;9433:60;4048:46903;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;9433:60;4048:46903;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;4048:46903:111;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;:::o;:::-;;;;;-1:-1:-1;;4048:46903:111;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;4048:46903:111;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;-1:-1:-1;4048:46903:111;;;;-1:-1:-1;4048:46903:111;;-1:-1:-1;4048:46903:111;;;;;;;-1:-1:-1;4048:46903:111;;-1:-1:-1;4048:46903:111;;-1:-1:-1;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4048:46903:111;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;4048:46903:111;;-1:-1:-1;4048:46903:111;;;-1:-1:-1;4048:46903:111;;-1:-1:-1;4048:46903:111;;;-1:-1:-1;4048:46903:111;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4048:46903:111;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;4048:46903:111;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;:::o;:::-;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;-1:-1:-1;;4048:46903:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;4048:46903:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;4048:46903:111;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;4048:46903:111;;-1:-1:-1;4048:46903:111;;;-1:-1:-1;4048:46903:111;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;:::o;1620:130:47:-;1534:6;4048:46903:111;-1:-1:-1;;;;;4048:46903:111;965:10:53;1683:23:47;4048:46903:111;;1620:130:47:o;4048:46903:111:-;;;;689:66:62;;;4048:46903:111;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;4048:46903:111;;-1:-1:-1;;;;;4048:46903:111;;;-1:-1:-1;;;;;;4048:46903:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;4048:46903:111:-;;;;:::o;:::-;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;;-1:-1:-1;;;4048:46903:111;;;;;;;1406:259:62;1702:19:78;;:23;4048:46903:111;;-1:-1:-1;;;;;;;;;;;4048:46903:111;;-1:-1:-1;;;;;;4048:46903:111;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;1406:259:62:o;4048:46903:111:-;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;7671:628:78;;;;7875:418;;;4048:46903:111;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;4048:46903:111;;8201:17:78;:::o;4048:46903:111:-;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;7875:418:78;4048:46903:111;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;4048:46903:111;;-1:-1:-1;;;9324:20:78;;4048:46903:111;9324:20:78;;;4048:46903:111;;;;;;;;;;;:::i;:::-;9324:20:78;;;1619:152:110;4048:46903:111;;;;;;;;;;;;1694:19:110;4048:46903:111;;;1694:19:110;4048:46903:111;;;1746:17:110;;4048:46903:111;1746:17:110;;;4048:46903:111;1746:17:110;4048:46903:111;;;;;;;:::i;:::-;1746:17:110;4048:46903:111;;1746:17:110;;;;;;:::i;:::-;4048:46903:111;1736:28:110;;1723:41;4048:46903:111;1619:152:110:o;4048:46903:111:-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;9459:111:110;9535:4;4048:46903:111;-1:-1:-1;;;;;4048:46903:111;9513:10:110;:27;9509:54;;9459:111::o;10416:105::-;10477:6;4048:46903:111;10477:11:110;10473:41;;10416:105::o;10473:41::-;4048:46903:111;;-1:-1:-1;;;10497:17:110;;;;;4048:46903:111;;;;:::o;:::-;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;-1:-1:-1;;4048:46903:111;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;4048:46903:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:66:62;;4048:46903:111;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;689:66:62;4048:46903:111;;;;;689:66:62;4048:46903:111;;;;;:::o;:::-;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;:::o;12425:133::-;-1:-1:-1;;;;;4048:46903:111;12499:22;12495:56;;12425:133::o;12495:56::-;4048:46903;;-1:-1:-1;;;12530:21:111;;;;;4048:46903;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;:::o;12736:230::-;12829:11;4048:46903;-1:-1:-1;;;;;4048:46903:111;12821:34;;12817:76;;12909:50;4048:46903;12909:50;4048:46903;;;689:66:62;;;;;;;;12909:50:111;;12953:4;12909:50;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;12909:50:111;;;12902:57;12736:230;:::o;12909:50::-;;;;;;;;;;;;;;:::i;:::-;4048:46903;;689:66:62;-1:-1:-1;689:66:62;;;;;12817:76:111;12871:11;;4048:46903;12871:11;:::o;12257:162::-;12339:17;4048:46903;-1:-1:-1;;;;;4048:46903:111;12317:10;:40;12313:100;;12257:162::o;12313:100::-;4048:46903;;-1:-1:-1;;;12380:22:111;;;;;4048:46903;;;;;;;;;;:::o;16630:351::-;16717:17;4048:46903;;;;-1:-1:-1;;;16717:66:111;;;;16630:351;4048:46903;;-1:-1:-1;;;;;;;4048:46903:111;16630:351;;4048:46903;;;16717:66;4048:46903;;16717:66;16777:4;16630:351;16717:66;;;;:::i;:::-;;;;;;;;;;;;;;16630:351;16693:90;4048:46903;;16693:90;4048:46903;16693:90;:::i;:::-;;4048:46903;16793:68;;;;;4048:46903;;;689:66:62;;;;;16793:68:111;;16777:4;;;16793:68;16777:4;16793:68;16717:66;16793:68;;;:::i;:::-;;;;;;;;;;;16630:351;4048:46903;;;;;27277:20;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27321:13;27361:3;4048:46903;;27336:23;;;;;27401:15;;27361:3;27401:15;;;:::i;:::-;4048:46903;;;;27473:9;4048:46903;;;;;;27512:26;;;;:::i;:::-;27508:455;;27361:3;;;;;:::i;:::-;27321:13;;27508:455;-1:-1:-1;;;;;;;;;;;4048:46903:111;;;;-1:-1:-1;4048:46903:111;27581:26;;;4048:46903;;27924:23;4048:46903;-1:-1:-1;4048:46903:111;;;;;;27828:12;27691:21;;;4048:46903;27691:37;4048:46903;;;27691:37;:::i;:::-;4048:46903;;27746:27;;4048:46903;;;27746:27;:::i;:::-;4048:46903;;27828:12;;:::i;:::-;4048:46903;27924:23;;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;27864:84;27508:455;;;;;27336:23;;;;;;16948:26;27336:23;;;4048:46903;;;;16948:26;16630:351::o;4048:46903::-;;;;;;;;;;;;-1:-1:-1;4048:46903:111;;;;;;16793:68;;;;;;;:::i;:::-;;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;16717::111;;;;;;;;;;;;;;;:::i;:::-;;;4048:46903;;;;16693:90;4048:46903;;16717:66;;;;;;;;4048:46903;;689:66:62;4048:46903:111;;689:66:62;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;6530:1642:85;6601:6;;6597:45;;8144:10;7344:7;6606:1;4048:46903:111;;8769:3:85;4048:46903:111;8760:16:85;8756:99;;6530:1642;4048:46903:111;;8881:2:85;4048:46903:111;8872:15:85;8868:96;;6530:1642;4048:46903:111;;8990:2:85;4048:46903:111;8981:15:85;8977:96;;6530:1642;4048:46903:111;;9099:2:85;4048:46903:111;9090:15:85;9086:96;;6530:1642;4048:46903:111;;9208:1:85;4048:46903:111;9199:14:85;9195:93;;6530:1642;4048:46903:111;;9314:1:85;4048:46903:111;9305:14:85;9301:93;;6530:1642;4048:46903:111;;9420:1:85;4048:46903:111;9411:14:85;9407:93;;6530:1642;9526:1;;4048:46903:111;;;;;;9513:64:85;;6530:1642;4048:46903:111;;7801:10:85;;;;:::i;:::-;4048:46903:111;;;7850:10:85;;;;:::i;:::-;4048:46903:111;;;7899:10:85;;;;:::i;:::-;4048:46903:111;;;7948:10:85;;;;:::i;:::-;4048:46903:111;;;7997:10:85;;;;:::i;:::-;4048:46903:111;;;8046:10:85;;;;:::i;:::-;4048:46903:111;;;8095:10:85;;;;:::i;:::-;4048:46903:111;;;8144:10:85;;;:::i;:::-;672:5;;;;;;:13;6530:1642;:::o;672:13::-;;;6530:1642;:::o;9513:64::-;4048:46903:111;9513:64:85;;;9407:93;9420:1;9445:11;;4048:46903:111;;9407:93:85;;;;9301;9314:1;9339:11;;4048:46903:111;;9301:93:85;;;;9195;9208:1;9233:11;;4048:46903:111;;9195:93:85;;;;9086:96;9099:2;9125:12;;4048:46903:111;;9086:96:85;;;;8977;8990:2;9016:12;;4048:46903:111;;8977:96:85;;;;8868;8881:2;8907:12;;4048:46903:111;;8868:96:85;;;;8756:99;8796:13;;;8769:3;8756:99;;;;6597:45;6623:8;6606:1;6623:8;:::o;4048:46903:111:-;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;30851:185::-;-1:-1:-1;4048:46903:111;30942:9;4048:46903;;;-1:-1:-1;4048:46903:111;;;30942:37;;:87;;;;30935:94;30851:185;:::o;30942:87::-;30983:32;;4048:46903;-1:-1:-1;;;;;4048:46903:111;30983:46;;;30851:185;-1:-1:-1;30851:185:111:o;31042:183::-;31164:30;:8;4048:46903;31184:10;4048:46903;31164:30;;:::i;:::-;7874:8;4048:46903;;;;;;;;;;;;;;;31164:54;;31042:183;:::o;4048:46903::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;36270:276::-;36382:25;;;;:::i;:::-;36422:10;36431:1;36422:10;;36418:90;;36517:22;;36270:276;:::o;36418:90::-;4048:46903;;;;;36455:42;;;;;;;;;4048:46903;;;;;;;;;36455:42;36963:1175;;;37484:14;4048:46903;7874:8;;4048:46903;;;37502:3;4048:46903;;37478:36;4048:46903;7931:35;;41108:12;;;;4048:46903;;;41211:17;;41238:215;41245:5;;;38010:21;;;;;;:::i;:::-;4048:46903;;;;;;;;;;;;;;;;;;;;;;;38037:38;;;:::i;:::-;4048:46903;;;;;;;;38009:91;38036:63;;;;:::i;:::-;38009:91;;:::i;:::-;-1:-1:-1;;;4048:46903:111;;;;-1:-1:-1;4048:46903:111;;37502:3;4048:46903;36963:1175;:::o;41238:215::-;4048:46903;;41270:5;;;41274:1;;41304:10;;;;:::i;:::-;4048:46903;;41266:177;;;41238:215;;;;41266:177;41388:16;;;;;;;:::i;:::-;4048:46903;-1:-1:-1;;4048:46903:111;;;;;;;41266:177;;;;4048:46903;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;38719:1541;38948:10;4048:46903;38948:15;;38944:66;;39450:33;;;:::i;:::-;39446:91;;39702:8;4048:46903;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;;;;;39737:41;39701:77;39737:41;39818:56;39737:41;;:::i;:::-;7874:8;4048:46903;;;39701:77;:::i;:::-;39853:13;4048:46903;39820:15;4048:46903;39839:3;4048:46903;;39853:13;;;:::i;:::-;4048:46903;;39818:56;;:::i;:::-;4048:46903;;;;;;;;;;;;;;;39888:14;4048:46903;;;;;;;;39815:136;39816:87;;;;:::i;:::-;41550:20;4048:46903;39815:136;;:::i;:::-;4048:46903;;40183:27;4048:46903;40170:40;;;:83;:40;;;:83;38719:1541;:::o;38944:66::-;4048:46903;;-1:-1:-1;;;38986:13:111;;;;;40521:269;;-1:-1:-1;;;40617:13:111;;;4048:46903;;40693:12;;4048:46903;;;40757:7;;;:::i;4048:46903::-;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4048:46903:111;;;;;;;41767:396;;41929:56;41767:396;41929:56;;:::i;:::-;41999:15;;;;:35;;;41767:396;41995:72;;42119:24;42076:19;;;;4048:46903;42119:24;4048:46903;41767:396::o;41995:72::-;42050:7;;;:::o;41999:35::-;42018:16;;;41999:35;;42169:719;42391:12;42420:19;;;;4048:46903;42420:34;;;;4048:46903;;42469:34;;;42465:173;;42823:24;42737:33;42704:177;42737:33;;;:::i;:::-;42823:24;;4048:46903;42704:177;;:::i;:::-;42169:719;:::o;42465:173::-;42585:13;;;;-1:-1:-1;42585:13:111;-1:-1:-1;42585:13:111;:::o;4048:46903::-;;;;-1:-1:-1;4048:46903:111;;;;;-1:-1:-1;4048:46903:111;42894:1432;43076:30;;;4048:46903;;-1:-1:-1;;;;;4048:46903:111;43076:30;4048:46903;;43076:44;;;;;:99;;42894:1432;43076:701;;;42894:1432;43059:1168;;;42894:1432;4048:46903;;;;;;-1:-1:-1;;;;;;;;;;;4048:46903:111;;44237:20;4048:46903;43076:30;4048:46903;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;44272:47;42894:1432::o;43059:1168::-;43806:12;4048:46903;;;;-1:-1:-1;;;;;4048:46903:111;43802:110;;4048:46903;;;;;;;;;43938:73;;;;;-1:-1:-1;4048:46903:111;;;;;;689:66:62;;;;;;;;43938:73:111;;;;;4048:46903;43938:73;;;;;;;-1:-1:-1;;;;;;;;;;;43938:73:111;4048:46903;43938:73;4048:46903;43938:73;;;43059:1168;4048:46903;44092:16;4048:46903;;44122:29;4048:46903;;44030:135;4048:46903;;;44077:4;4048:46903;;;;;43076:30;4048:46903;;;;;;;;;;44030:135;4048:46903;;;;;;;;;;;;;;44092:16;4048:46903;;;;;;44122:29;4048:46903;;;;;;;;;;;;;;;;;;;;;;;;;43059:1168;;;;;;;43938:73;;;;:::i;:::-;;;;43802:110;4048:46903;;-1:-1:-1;;;43850:47:111;;;;;43076:701;43251:29;4048:46903;;;43217:63;;;;-1:-1:-1;43217:142:111;;43076:701;43217:251;;;;43076:701;43217:362;;;;43076:701;43217:447;;;;43076:701;43217:546;;;;43076:701;;;;43217:546;43684:38;4048:46903;43684:38;;4048:46903;43726:37;4048:46903;43684:79;;43217:546;;:447;43599:31;;;;4048:46903;43634:30;4048:46903;43599:65;;43217:447;;:362;43488:44;;;;4048:46903;43536:43;4048:46903;43488:91;;43217:362;;:251;43379:43;;;;4048:46903;43426:42;4048:46903;43379:89;;43217:251;;:142;4048:46903;;;;;;43251:16;4048:46903;;43300:59;;43217:142;;43076:99;4048:46903;;;;43124:51;;;-1:-1:-1;43076:99:111;;44332:630;4048:46903;-1:-1:-1;4048:46903:111;44464:9;4048:46903;;;-1:-1:-1;4048:46903:111;;;;;44500:33;44496:100;;44893:21;;;;44932:23;44893:21;;4048:46903;44893:21;;:::i;:::-;44932:23;4048:46903;44332:630;:::o;12564:166::-;12641:17;4048:46903;;;-1:-1:-1;;;12641:31:111;;-1:-1:-1;;;;;4048:46903:111;12641:31;;4048:46903;;12641:31;;4048:46903;;;;12641:31;;;;;;;-1:-1:-1;12641:31:111;;;12564:166;4048:46903;;12619:10;:54;12615:109;;12564:166::o;12615:109::-;4048:46903;;-1:-1:-1;;;12696:17:111;;12641:31;;12696:17;12641:31;;;;;;;;;;;;;;:::i;:::-;;;;4048:46903;;;;;;;;;;;;;-1:-1:-1;4048:46903:111;;;;;;;;-1:-1:-1;;4048:46903:111;;;;:::o;:::-;;;;-1:-1:-1;;;;;4048:46903:111;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{},"immutableReferences":{"55653":[{"start":8566,"length":32},{"start":8800,"length":32},{"start":9568,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","DISPUTE_COOLDOWN_SEC()":"f5be3f7c","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","RULING_OPTIONS()":"626c47e8","activatePoints()":"814516ad","allocate(bytes,address)":"ef2920fc","arbitrableConfig()":"1073e996","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","cloneNonce()":"33960459","collateralVault()":"0bece79c","cvParams()":"2506b870","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","disputeCount()":"a28889e1","disputeIdToProposalId(uint256)":"255ffb38","disputeProposal(uint256,string,bytes)":"b41596ec","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getDecay()":"9a1c157c","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address,address)":"f09a4016","init(address,string)":"f321b305","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","registryCommunity()":"6003e414","renounceOwnership()":"715018a6","rule(uint256,uint256)":"311a6c56","setPoolActive(bool)":"b5f620ce","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256))":"062f9ece","setRegistryCommunity(address)":"058aca44","setSybilScorer(address)":"ac1ed7b9","supportProposal((uint256,int256)[])":"e33add93","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitrationConfigCannotBeChangedDuringDispute\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DefaultRulingNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_remainingSec\",\"type\":\"uint256\"}],\"name\":\"DisputeCooldownNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotDisputed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_arbitrableDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_externalDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_templateId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_templateUri\",\"type\":\"string\"}],\"name\":\"DisputeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"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\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"PoolParamsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ProposalDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"}],\"name\":\"TribunaSafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_COOLDOWN_SEC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RULING_OPTIONS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbitrableConfig\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVault\",\"outputs\":[{\"internalType\":\"contract ICollateralVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cvParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputeIdToProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"disputeProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralVault\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ProposalDisputeInfo\",\"name\":\"disputeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"lastDisputeCompletion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"setRegistryCommunity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"deltaSupport\",\"type\":\"int256\"}],\"internalType\":\"struct StrategyStruct.ProposalSupport[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"supportProposal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"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\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeRequest(address,uint256,uint256,uint256,string)\":{\"details\":\"To be emitted when a dispute is created to link the correct meta-evidence to the disputeID.\",\"params\":{\"_arbitrableDisputeID\":\"The identifier of the dispute in the Arbitrable contract.\",\"_arbitrator\":\"The arbitrator of the contract.\",\"_externalDisputeID\":\"An identifier created outside Kleros by the protocol requesting arbitration.\",\"_templateId\":\"The identifier of the dispute template. Should not be used with _templateUri.\",\"_templateUri\":\"The URI to the dispute template. For example on IPFS: starting with '/ipfs/'. Should not be used with _templateId.\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrator\":\"The arbitrator giving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"rule(uint256,uint256)\":{\"details\":\"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.\",\"params\":{\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 is reserved for \\\"Not able/wanting to make a decision\\\".\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"CVStrategyV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc\",\"dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"ArbitrationConfigCannotBeChangedDuringDispute"},{"inputs":[],"type":"error","name":"ArbitratorCannotBeZero"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"DefaultRulingNotSet"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_remainingSec","type":"uint256"}],"type":"error","name":"DisputeCooldownNotPassed"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[{"internalType":"uint256","name":"sentAmount","type":"uint256"},{"internalType":"uint256","name":"requiredAmount","type":"uint256"}],"type":"error","name":"InsufficientCollateral"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyArbitrator"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotDisputed"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_arbitrableDisputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_externalDisputeID","type":"uint256","indexed":false},{"internalType":"uint256","name":"_templateId","type":"uint256","indexed":false},{"internalType":"string","name":"_templateUri","type":"string","indexed":false}],"type":"event","name":"DisputeRequest","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}],"indexed":false},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}],"indexed":false}],"type":"event","name":"PoolParamsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"disputeId","type":"uint256","indexed":false},{"internalType":"address","name":"challenger","type":"address","indexed":false},{"internalType":"string","name":"context","type":"string","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ProposalDisputed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false}],"type":"event","name":"TribunaSafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DISPUTE_COOLDOWN_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RULING_OPTIONS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[],"stateMutability":"view","type":"function","name":"arbitrableConfig","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVault","outputs":[{"internalType":"contract ICollateralVault","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cvParams","outputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputeIdToProposalId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"context","type":"string"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"disputeProposal","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum StrategyStruct.ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"struct StrategyStruct.ProposalDisputeInfo","name":"disputeInfo","type":"tuple","components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"disputeTimestamp","type":"uint256"},{"internalType":"address","name":"challenger","type":"address"},{"internalType":"uint256","name":"submitterCollateralVault","type":"uint256"}]},{"internalType":"uint256","name":"lastDisputeCompletion","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rule"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct StrategyStruct.CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunity"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"struct StrategyStruct.ProposalSupport[]","name":"","type":"tuple[]","components":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"int256","name":"deltaSupport","type":"int256"}]}],"stateMutability":"pure","type":"function","name":"supportProposal"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string)":{"params":{"_allo":"Address of the Allo contract."}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"rule(uint256,uint256)":{"details":"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.","params":{"_disputeID":"The identifier of the dispute in the Arbitrator contract.","_ruling":"Ruling given by the arbitrator. Note that 0 is reserved for \"Not able/wanting to make a decision\"."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string)":{"notice":"Constructor to set the Allo contract and \"strategyId'."},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"CVStrategyV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304","urls":["bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc","dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":71726,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":71728,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":71730,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":71732,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":71734,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":72736,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":72738,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"surpressStateMutabilityWarning","offset":0,"slot":"107","type":"t_uint256"},{"astId":72740,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cloneNonce","offset":0,"slot":"108","type":"t_uint256"},{"astId":72743,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeCount","offset":0,"slot":"109","type":"t_uint64"},{"astId":72746,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalCounter","offset":0,"slot":"110","type":"t_uint256"},{"astId":72748,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalStaked","offset":0,"slot":"111","type":"t_uint256"},{"astId":72750,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalPointsActivated","offset":0,"slot":"112","type":"t_uint256"},{"astId":72753,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cvParams","offset":0,"slot":"113","type":"t_struct(CVParams)72482_storage"},{"astId":72756,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalType","offset":0,"slot":"117","type":"t_enum(ProposalType)72385"},{"astId":72759,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointSystem","offset":1,"slot":"117","type":"t_enum(PointSystem)72390"},{"astId":72762,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointConfig","offset":0,"slot":"118","type":"t_struct(PointSystemConfig)72459_storage"},{"astId":72765,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfig","offset":0,"slot":"119","type":"t_struct(ArbitrableConfig)72473_storage"},{"astId":72768,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"registryCommunity","offset":0,"slot":"125","type":"t_contract(RegistryCommunityV0_0)78716"},{"astId":72771,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVault","offset":0,"slot":"126","type":"t_contract(ICollateralVault)79639"},{"astId":72774,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"sybilScorer","offset":0,"slot":"127","type":"t_contract(ISybilScorer)76270"},{"astId":72779,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposals","offset":0,"slot":"128","type":"t_mapping(t_uint256,t_struct(Proposal)72451_storage)"},{"astId":72783,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalVoterStakePct","offset":0,"slot":"129","type":"t_mapping(t_address,t_uint256)"},{"astId":72788,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedProposals","offset":0,"slot":"130","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":72792,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeIdToProposalId","offset":0,"slot":"131","type":"t_mapping(t_uint256,t_uint256)"},{"astId":75908,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"132","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(IArbitrator)79606":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ICollateralVault)79639":{"encoding":"inplace","label":"contract ICollateralVault","numberOfBytes":"20"},"t_contract(ISybilScorer)76270":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_contract(RegistryCommunityV0_0)78716":{"encoding":"inplace","label":"contract RegistryCommunityV0_0","numberOfBytes":"20"},"t_enum(PointSystem)72390":{"encoding":"inplace","label":"enum StrategyStruct.PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)72410":{"encoding":"inplace","label":"enum StrategyStruct.ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)72385":{"encoding":"inplace","label":"enum StrategyStruct.ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_struct(Proposal)72451_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)72451_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(ArbitrableConfig)72473_storage":{"encoding":"inplace","label":"struct StrategyStruct.ArbitrableConfig","numberOfBytes":"192","members":[{"astId":72462,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)79606"},{"astId":72464,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"tribunalSafe","offset":0,"slot":"1","type":"t_address"},{"astId":72466,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitterCollateralAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":72468,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challengerCollateralAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":72470,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRuling","offset":0,"slot":"4","type":"t_uint256"},{"astId":72472,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRulingTimeout","offset":0,"slot":"5","type":"t_uint256"}]},"t_struct(CVParams)72482_storage":{"encoding":"inplace","label":"struct StrategyStruct.CVParams","numberOfBytes":"128","members":[{"astId":72475,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxRatio","offset":0,"slot":"0","type":"t_uint256"},{"astId":72477,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"weight","offset":0,"slot":"1","type":"t_uint256"},{"astId":72479,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"decay","offset":0,"slot":"2","type":"t_uint256"},{"astId":72481,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"minThresholdPoints","offset":0,"slot":"3","type":"t_uint256"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)72459_storage":{"encoding":"inplace","label":"struct StrategyStruct.PointSystemConfig","numberOfBytes":"32","members":[{"astId":72458,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)72451_storage":{"encoding":"inplace","label":"struct StrategyStruct.Proposal","numberOfBytes":"544","members":[{"astId":72421,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":72423,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":72425,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":72427,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":72429,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":72431,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":72433,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":72435,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":72438,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)72410"},{"astId":72442,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":72445,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"},{"astId":72448,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeInfo","offset":0,"slot":"12","type":"t_struct(ProposalDisputeInfo)72419_storage"},{"astId":72450,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"lastDisputeCompletion","offset":0,"slot":"16","type":"t_uint256"}]},"t_struct(ProposalDisputeInfo)72419_storage":{"encoding":"inplace","label":"struct StrategyStruct.ProposalDisputeInfo","numberOfBytes":"128","members":[{"astId":72412,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeId","offset":0,"slot":"0","type":"t_uint256"},{"astId":72414,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeTimestamp","offset":0,"slot":"1","type":"t_uint256"},{"astId":72416,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challenger","offset":0,"slot":"2","type":"t_address"},{"astId":72418,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitterCollateralVault","offset":0,"slot":"3","type":"t_uint256"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":75910,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[72314],"CVStrategyV0_0":[75909],"Clone":[3002],"ERC165":[57806],"ERC20":[56531],"IAllo":[2610],"IArbitrable":[79502],"IArbitrator":[79606],"ICollateralVault":[79639],"IERC165":[58012],"IPointStrategy":[72381],"ISybilScorer":[76270],"Math":[58878],"Metadata":[3098],"OwnableUpgradeable":[52984],"PassportData":[76188],"RegistryCommunityV0_0":[78716],"StrategyStruct":[72503],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"42:50910:111","nodes":[{"id":72316,"nodeType":"PragmaDirective","src":"42:24:111","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72318,"nodeType":"ImportDirective","src":"68:71:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":72317,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72321,"nodeType":"ImportDirective","src":"140:82:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":72319,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72320,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72323,"nodeType":"ImportDirective","src":"223:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":72322,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"231:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72326,"nodeType":"ImportDirective","src":"290:87:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":57807,"symbolAliases":[{"foreign":{"id":72324,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57806,"src":"298:6:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72325,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58012,"src":"306:7:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72328,"nodeType":"ImportDirective","src":"378:68:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":56532,"symbolAliases":[{"foreign":{"id":72327,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"386:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72330,"nodeType":"ImportDirective","src":"447:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":79607,"symbolAliases":[{"foreign":{"id":72329,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79606,"src":"455:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72332,"nodeType":"ImportDirective","src":"505:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":79503,"symbolAliases":[{"foreign":{"id":72331,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79502,"src":"513:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72334,"nodeType":"ImportDirective","src":"563:65:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":72333,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"571:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72336,"nodeType":"ImportDirective","src":"679:65:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":58879,"symbolAliases":[{"foreign":{"id":72335,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"687:4:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72339,"nodeType":"ImportDirective","src":"745:62:111","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":76271,"symbolAliases":[{"foreign":{"id":72337,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"753:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72338,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76188,"src":"767:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72341,"nodeType":"ImportDirective","src":"809:88:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":72340,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"817:15:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72343,"nodeType":"ImportDirective","src":"898:70:111","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":72315,"symbolAliases":[{"foreign":{"id":72342,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72314,"src":"906:23:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72345,"nodeType":"ImportDirective","src":"969:101:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":72344,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"977:18:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72347,"nodeType":"ImportDirective","src":"1071:67:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"./interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":79640,"symbolAliases":[{"foreign":{"id":72346,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79639,"src":"1079:16:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72349,"nodeType":"ImportDirective","src":"1139:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":72348,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"1147:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72351,"nodeType":"ImportDirective","src":"1205:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":72350,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"1213:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72381,"nodeType":"ContractDefinition","src":"1273:358:111","nodes":[{"id":72356,"nodeType":"FunctionDefinition","src":"1304:52:111","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1313:16:111","parameters":{"id":72354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72353,"mutability":"mutable","name":"_member","nameLocation":"1338:7:111","nodeType":"VariableDeclaration","scope":72356,"src":"1330:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72352,"name":"address","nodeType":"ElementaryTypeName","src":"1330:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1329:17:111"},"returnParameters":{"id":72355,"nodeType":"ParameterList","parameters":[],"src":"1355:0:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72365,"nodeType":"FunctionDefinition","src":"1362:91:111","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1371:13:111","parameters":{"id":72361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72358,"mutability":"mutable","name":"_member","nameLocation":"1393:7:111","nodeType":"VariableDeclaration","scope":72365,"src":"1385:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72357,"name":"address","nodeType":"ElementaryTypeName","src":"1385:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72360,"mutability":"mutable","name":"_amountToStake","nameLocation":"1410:14:111","nodeType":"VariableDeclaration","scope":72365,"src":"1402:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72359,"name":"uint256","nodeType":"ElementaryTypeName","src":"1402:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1384:41:111"},"returnParameters":{"id":72364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72365,"src":"1444:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72362,"name":"uint256","nodeType":"ElementaryTypeName","src":"1444:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1443:9:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72374,"nodeType":"FunctionDefinition","src":"1459:92:111","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1468:13:111","parameters":{"id":72370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72367,"mutability":"mutable","name":"_member","nameLocation":"1490:7:111","nodeType":"VariableDeclaration","scope":72374,"src":"1482:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72366,"name":"address","nodeType":"ElementaryTypeName","src":"1482:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72369,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1507:15:111","nodeType":"VariableDeclaration","scope":72374,"src":"1499:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72368,"name":"uint256","nodeType":"ElementaryTypeName","src":"1499:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1481:42:111"},"returnParameters":{"id":72373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72374,"src":"1542:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72371,"name":"uint256","nodeType":"ElementaryTypeName","src":"1542:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1541:9:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72380,"nodeType":"FunctionDefinition","src":"1557:72:111","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1566:14:111","parameters":{"id":72375,"nodeType":"ParameterList","parameters":[],"src":"1580:2:111"},"returnParameters":{"id":72379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72378,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72380,"src":"1601:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72377,"nodeType":"UserDefinedTypeName","pathNode":{"id":72376,"name":"StrategyStruct.PointSystem","nameLocations":["1601:14:111","1616:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"1601:26:111"},"referencedDeclaration":72390,"src":"1601:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1600:28:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[72381],"name":"IPointStrategy","nameLocation":"1283:14:111","scope":75910,"usedErrors":[]},{"id":72503,"nodeType":"ContractDefinition","src":"1633:2413:111","nodes":[{"id":72385,"nodeType":"EnumDefinition","src":"1662:79:111","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":72382,"name":"Signaling","nameLocation":"1690:9:111","nodeType":"EnumValue","src":"1690:9:111"},{"id":72383,"name":"Funding","nameLocation":"1709:7:111","nodeType":"EnumValue","src":"1709:7:111"},{"id":72384,"name":"Streaming","nameLocation":"1726:9:111","nodeType":"EnumValue","src":"1726:9:111"}],"name":"ProposalType","nameLocation":"1667:12:111"},{"id":72390,"nodeType":"EnumDefinition","src":"1747:92:111","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":72386,"name":"Fixed","nameLocation":"1774:5:111","nodeType":"EnumValue","src":"1774:5:111"},{"id":72387,"name":"Capped","nameLocation":"1789:6:111","nodeType":"EnumValue","src":"1789:6:111"},{"id":72388,"name":"Unlimited","nameLocation":"1805:9:111","nodeType":"EnumValue","src":"1805:9:111"},{"id":72389,"name":"Quadratic","nameLocation":"1824:9:111","nodeType":"EnumValue","src":"1824:9:111"}],"name":"PointSystem","nameLocation":"1752:11:111"},{"id":72402,"nodeType":"StructDefinition","src":"1845:243:111","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":72392,"mutability":"mutable","name":"poolId","nameLocation":"1916:6:111","nodeType":"VariableDeclaration","scope":72402,"src":"1908:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72391,"name":"uint256","nodeType":"ElementaryTypeName","src":"1908:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72394,"mutability":"mutable","name":"beneficiary","nameLocation":"1940:11:111","nodeType":"VariableDeclaration","scope":72402,"src":"1932:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72393,"name":"address","nodeType":"ElementaryTypeName","src":"1932:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72396,"mutability":"mutable","name":"amountRequested","nameLocation":"2007:15:111","nodeType":"VariableDeclaration","scope":72402,"src":"1999:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72395,"name":"uint256","nodeType":"ElementaryTypeName","src":"1999:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72398,"mutability":"mutable","name":"requestedToken","nameLocation":"2040:14:111","nodeType":"VariableDeclaration","scope":72402,"src":"2032:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72397,"name":"address","nodeType":"ElementaryTypeName","src":"2032:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72401,"mutability":"mutable","name":"metadata","nameLocation":"2073:8:111","nodeType":"VariableDeclaration","scope":72402,"src":"2064:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72400,"nodeType":"UserDefinedTypeName","pathNode":{"id":72399,"name":"Metadata","nameLocations":["2064:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2064:8:111"},"referencedDeclaration":3098,"src":"2064:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1852:14:111","scope":72503,"visibility":"public"},{"id":72410,"nodeType":"EnumDefinition","src":"2094:390:111","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":72403,"name":"Inactive","nameLocation":"2124:8:111","nodeType":"EnumValue","src":"2124:8:111"},{"id":72404,"name":"Active","nameLocation":"2154:6:111","nodeType":"EnumValue","src":"2154:6:111"},{"id":72405,"name":"Paused","nameLocation":"2217:6:111","nodeType":"EnumValue","src":"2217:6:111"},{"id":72406,"name":"Cancelled","nameLocation":"2282:9:111","nodeType":"EnumValue","src":"2282:9:111"},{"id":72407,"name":"Executed","nameLocation":"2335:8:111","nodeType":"EnumValue","src":"2335:8:111"},{"id":72408,"name":"Disputed","nameLocation":"2386:8:111","nodeType":"EnumValue","src":"2386:8:111"},{"id":72409,"name":"Rejected","nameLocation":"2437:8:111","nodeType":"EnumValue","src":"2437:8:111"}],"name":"ProposalStatus","nameLocation":"2099:14:111"},{"id":72419,"nodeType":"StructDefinition","src":"2490:165:111","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":72412,"mutability":"mutable","name":"disputeId","nameLocation":"2535:9:111","nodeType":"VariableDeclaration","scope":72419,"src":"2527:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72411,"name":"uint256","nodeType":"ElementaryTypeName","src":"2527:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72414,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2562:16:111","nodeType":"VariableDeclaration","scope":72419,"src":"2554:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72413,"name":"uint256","nodeType":"ElementaryTypeName","src":"2554:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72416,"mutability":"mutable","name":"challenger","nameLocation":"2596:10:111","nodeType":"VariableDeclaration","scope":72419,"src":"2588:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72415,"name":"address","nodeType":"ElementaryTypeName","src":"2588:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72418,"mutability":"mutable","name":"submitterCollateralVault","nameLocation":"2624:24:111","nodeType":"VariableDeclaration","scope":72419,"src":"2616:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72417,"name":"uint256","nodeType":"ElementaryTypeName","src":"2616:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2497:19:111","scope":72503,"visibility":"public"},{"id":72451,"nodeType":"StructDefinition","src":"2661:485:111","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":72421,"mutability":"mutable","name":"proposalId","nameLocation":"2695:10:111","nodeType":"VariableDeclaration","scope":72451,"src":"2687:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72420,"name":"uint256","nodeType":"ElementaryTypeName","src":"2687:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72423,"mutability":"mutable","name":"requestedAmount","nameLocation":"2723:15:111","nodeType":"VariableDeclaration","scope":72451,"src":"2715:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72422,"name":"uint256","nodeType":"ElementaryTypeName","src":"2715:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72425,"mutability":"mutable","name":"stakedAmount","nameLocation":"2756:12:111","nodeType":"VariableDeclaration","scope":72451,"src":"2748:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72424,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72427,"mutability":"mutable","name":"convictionLast","nameLocation":"2786:14:111","nodeType":"VariableDeclaration","scope":72451,"src":"2778:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72426,"name":"uint256","nodeType":"ElementaryTypeName","src":"2778:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72429,"mutability":"mutable","name":"beneficiary","nameLocation":"2818:11:111","nodeType":"VariableDeclaration","scope":72451,"src":"2810:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72428,"name":"address","nodeType":"ElementaryTypeName","src":"2810:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72431,"mutability":"mutable","name":"submitter","nameLocation":"2847:9:111","nodeType":"VariableDeclaration","scope":72451,"src":"2839:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72430,"name":"address","nodeType":"ElementaryTypeName","src":"2839:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72433,"mutability":"mutable","name":"requestedToken","nameLocation":"2874:14:111","nodeType":"VariableDeclaration","scope":72451,"src":"2866:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72432,"name":"address","nodeType":"ElementaryTypeName","src":"2866:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72435,"mutability":"mutable","name":"blockLast","nameLocation":"2906:9:111","nodeType":"VariableDeclaration","scope":72451,"src":"2898:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72434,"name":"uint256","nodeType":"ElementaryTypeName","src":"2898:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72438,"mutability":"mutable","name":"proposalStatus","nameLocation":"2940:14:111","nodeType":"VariableDeclaration","scope":72451,"src":"2925:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":72437,"nodeType":"UserDefinedTypeName","pathNode":{"id":72436,"name":"ProposalStatus","nameLocations":["2925:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72410,"src":"2925:14:111"},"referencedDeclaration":72410,"src":"2925:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":72442,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2992:17:111","nodeType":"VariableDeclaration","scope":72451,"src":"2964:45:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72441,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72439,"name":"address","nodeType":"ElementaryTypeName","src":"2972:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2964:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72440,"name":"uint256","nodeType":"ElementaryTypeName","src":"2983:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":72445,"mutability":"mutable","name":"metadata","nameLocation":"3051:8:111","nodeType":"VariableDeclaration","scope":72451,"src":"3042:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72444,"nodeType":"UserDefinedTypeName","pathNode":{"id":72443,"name":"Metadata","nameLocations":["3042:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"3042:8:111"},"referencedDeclaration":3098,"src":"3042:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":72448,"mutability":"mutable","name":"disputeInfo","nameLocation":"3089:11:111","nodeType":"VariableDeclaration","scope":72451,"src":"3069:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":72447,"nodeType":"UserDefinedTypeName","pathNode":{"id":72446,"name":"ProposalDisputeInfo","nameLocations":["3069:19:111"],"nodeType":"IdentifierPath","referencedDeclaration":72419,"src":"3069:19:111"},"referencedDeclaration":72419,"src":"3069:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":72450,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"3118:21:111","nodeType":"VariableDeclaration","scope":72451,"src":"3110:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72449,"name":"uint256","nodeType":"ElementaryTypeName","src":"3110:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2668:8:111","scope":72503,"visibility":"public"},{"id":72456,"nodeType":"StructDefinition","src":"3152:126:111","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":72453,"mutability":"mutable","name":"proposalId","nameLocation":"3193:10:111","nodeType":"VariableDeclaration","scope":72456,"src":"3185:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72452,"name":"uint256","nodeType":"ElementaryTypeName","src":"3185:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72455,"mutability":"mutable","name":"deltaSupport","nameLocation":"3220:12:111","nodeType":"VariableDeclaration","scope":72456,"src":"3213:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72454,"name":"int256","nodeType":"ElementaryTypeName","src":"3213:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3159:15:111","scope":72503,"visibility":"public"},{"id":72459,"nodeType":"StructDefinition","src":"3284:89:111","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":72458,"mutability":"mutable","name":"maxAmount","nameLocation":"3357:9:111","nodeType":"VariableDeclaration","scope":72459,"src":"3349:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72457,"name":"uint256","nodeType":"ElementaryTypeName","src":"3349:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3291:17:111","scope":72503,"visibility":"public"},{"id":72473,"nodeType":"StructDefinition","src":"3379:249:111","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":72462,"mutability":"mutable","name":"arbitrator","nameLocation":"3425:10:111","nodeType":"VariableDeclaration","scope":72473,"src":"3413:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},"typeName":{"id":72461,"nodeType":"UserDefinedTypeName","pathNode":{"id":72460,"name":"IArbitrator","nameLocations":["3413:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79606,"src":"3413:11:111"},"referencedDeclaration":79606,"src":"3413:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72464,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3453:12:111","nodeType":"VariableDeclaration","scope":72473,"src":"3445:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72463,"name":"address","nodeType":"ElementaryTypeName","src":"3445:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72466,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3483:25:111","nodeType":"VariableDeclaration","scope":72473,"src":"3475:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72465,"name":"uint256","nodeType":"ElementaryTypeName","src":"3475:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72468,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3526:26:111","nodeType":"VariableDeclaration","scope":72473,"src":"3518:34:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72467,"name":"uint256","nodeType":"ElementaryTypeName","src":"3518:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72470,"mutability":"mutable","name":"defaultRuling","nameLocation":"3570:13:111","nodeType":"VariableDeclaration","scope":72473,"src":"3562:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72469,"name":"uint256","nodeType":"ElementaryTypeName","src":"3562:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72472,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3601:20:111","nodeType":"VariableDeclaration","scope":72473,"src":"3593:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72471,"name":"uint256","nodeType":"ElementaryTypeName","src":"3593:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3386:16:111","scope":72503,"visibility":"public"},{"id":72482,"nodeType":"StructDefinition","src":"3634:132:111","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":72475,"mutability":"mutable","name":"maxRatio","nameLocation":"3668:8:111","nodeType":"VariableDeclaration","scope":72482,"src":"3660:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72474,"name":"uint256","nodeType":"ElementaryTypeName","src":"3660:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72477,"mutability":"mutable","name":"weight","nameLocation":"3694:6:111","nodeType":"VariableDeclaration","scope":72482,"src":"3686:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72476,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72479,"mutability":"mutable","name":"decay","nameLocation":"3718:5:111","nodeType":"VariableDeclaration","scope":72482,"src":"3710:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72478,"name":"uint256","nodeType":"ElementaryTypeName","src":"3710:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72481,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3741:18:111","nodeType":"VariableDeclaration","scope":72482,"src":"3733:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72480,"name":"uint256","nodeType":"ElementaryTypeName","src":"3733:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3641:8:111","scope":72503,"visibility":"public"},{"id":72502,"nodeType":"StructDefinition","src":"3772:272:111","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":72485,"mutability":"mutable","name":"cvParams","nameLocation":"3815:8:111","nodeType":"VariableDeclaration","scope":72502,"src":"3806:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72484,"nodeType":"UserDefinedTypeName","pathNode":{"id":72483,"name":"CVParams","nameLocations":["3806:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"3806:8:111"},"referencedDeclaration":72482,"src":"3806:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72488,"mutability":"mutable","name":"proposalType","nameLocation":"3846:12:111","nodeType":"VariableDeclaration","scope":72502,"src":"3833:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72487,"nodeType":"UserDefinedTypeName","pathNode":{"id":72486,"name":"ProposalType","nameLocations":["3833:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72385,"src":"3833:12:111"},"referencedDeclaration":72385,"src":"3833:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":72491,"mutability":"mutable","name":"pointSystem","nameLocation":"3880:11:111","nodeType":"VariableDeclaration","scope":72502,"src":"3868:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72490,"nodeType":"UserDefinedTypeName","pathNode":{"id":72489,"name":"PointSystem","nameLocations":["3868:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"3868:11:111"},"referencedDeclaration":72390,"src":"3868:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":72494,"mutability":"mutable","name":"pointConfig","nameLocation":"3919:11:111","nodeType":"VariableDeclaration","scope":72502,"src":"3901:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72493,"nodeType":"UserDefinedTypeName","pathNode":{"id":72492,"name":"PointSystemConfig","nameLocations":["3901:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72459,"src":"3901:17:111"},"referencedDeclaration":72459,"src":"3901:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":72497,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3957:16:111","nodeType":"VariableDeclaration","scope":72502,"src":"3940:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72496,"nodeType":"UserDefinedTypeName","pathNode":{"id":72495,"name":"ArbitrableConfig","nameLocations":["3940:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"3940:16:111"},"referencedDeclaration":72473,"src":"3940:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":72499,"mutability":"mutable","name":"registryCommunity","nameLocation":"3991:17:111","nodeType":"VariableDeclaration","scope":72502,"src":"3983:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72498,"name":"address","nodeType":"ElementaryTypeName","src":"3983:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72501,"mutability":"mutable","name":"sybilScorer","nameLocation":"4026:11:111","nodeType":"VariableDeclaration","scope":72502,"src":"4018:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72500,"name":"address","nodeType":"ElementaryTypeName","src":"4018:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3779:16:111","scope":72503,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[72503],"name":"StrategyStruct","nameLocation":"1641:14:111","scope":75910,"usedErrors":[]},{"id":75909,"nodeType":"ContractDefinition","src":"4048:46903:111","nodes":[{"id":72515,"nodeType":"ErrorDefinition","src":"4328:25:111","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4334:16:111","parameters":{"id":72514,"nodeType":"ParameterList","parameters":[],"src":"4350:2:111"}},{"id":72517,"nodeType":"ErrorDefinition","src":"4372:26:111","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4378:17:111","parameters":{"id":72516,"nodeType":"ParameterList","parameters":[],"src":"4395:2:111"}},{"id":72519,"nodeType":"ErrorDefinition","src":"4416:23:111","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4422:14:111","parameters":{"id":72518,"nodeType":"ParameterList","parameters":[],"src":"4436:2:111"}},{"id":72521,"nodeType":"ErrorDefinition","src":"4458:20:111","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4464:11:111","parameters":{"id":72520,"nodeType":"ParameterList","parameters":[],"src":"4475:2:111"}},{"id":72523,"nodeType":"ErrorDefinition","src":"4497:23:111","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4503:14:111","parameters":{"id":72522,"nodeType":"ParameterList","parameters":[],"src":"4517:2:111"}},{"id":72525,"nodeType":"ErrorDefinition","src":"4538:26:111","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4544:17:111","parameters":{"id":72524,"nodeType":"ParameterList","parameters":[],"src":"4561:2:111"}},{"id":72527,"nodeType":"ErrorDefinition","src":"4582:24:111","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4588:15:111","parameters":{"id":72526,"nodeType":"ParameterList","parameters":[],"src":"4603:2:111"}},{"id":72529,"nodeType":"ErrorDefinition","src":"4625:27:111","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4631:18:111","parameters":{"id":72528,"nodeType":"ParameterList","parameters":[],"src":"4649:2:111"}},{"id":72531,"nodeType":"ErrorDefinition","src":"4671:27:111","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4677:18:111","parameters":{"id":72530,"nodeType":"ParameterList","parameters":[],"src":"4695:2:111"}},{"id":72533,"nodeType":"ErrorDefinition","src":"4716:28:111","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4722:19:111","parameters":{"id":72532,"nodeType":"ParameterList","parameters":[],"src":"4741:2:111"}},{"id":72535,"nodeType":"ErrorDefinition","src":"4762:29:111","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4768:20:111","parameters":{"id":72534,"nodeType":"ParameterList","parameters":[],"src":"4788:2:111"}},{"id":72543,"nodeType":"ErrorDefinition","src":"4810:72:111","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4816:16:111","parameters":{"id":72542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72537,"mutability":"mutable","name":"_support","nameLocation":"4841:8:111","nodeType":"VariableDeclaration","scope":72543,"src":"4833:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72536,"name":"uint256","nodeType":"ElementaryTypeName","src":"4833:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72539,"mutability":"mutable","name":"_delta","nameLocation":"4858:6:111","nodeType":"VariableDeclaration","scope":72543,"src":"4851:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72538,"name":"int256","nodeType":"ElementaryTypeName","src":"4851:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":72541,"mutability":"mutable","name":"_result","nameLocation":"4873:7:111","nodeType":"VariableDeclaration","scope":72543,"src":"4866:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72540,"name":"int256","nodeType":"ElementaryTypeName","src":"4866:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4832:49:111"}},{"id":72545,"nodeType":"ErrorDefinition","src":"4901:25:111","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4907:16:111","parameters":{"id":72544,"nodeType":"ParameterList","parameters":[],"src":"4923:2:111"}},{"id":72547,"nodeType":"ErrorDefinition","src":"4945:32:111","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4951:23:111","parameters":{"id":72546,"nodeType":"ParameterList","parameters":[],"src":"4974:2:111"}},{"id":72553,"nodeType":"ErrorDefinition","src":"4996:77:111","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"5002:24:111","parameters":{"id":72552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72549,"mutability":"mutable","name":"pointsSupport","nameLocation":"5035:13:111","nodeType":"VariableDeclaration","scope":72553,"src":"5027:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72548,"name":"uint256","nodeType":"ElementaryTypeName","src":"5027:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72551,"mutability":"mutable","name":"pointsBalance","nameLocation":"5058:13:111","nodeType":"VariableDeclaration","scope":72553,"src":"5050:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72550,"name":"uint256","nodeType":"ElementaryTypeName","src":"5050:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5026:46:111"}},{"id":72555,"nodeType":"ErrorDefinition","src":"5093:28:111","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5099:19:111","parameters":{"id":72554,"nodeType":"ParameterList","parameters":[],"src":"5118:2:111"}},{"id":72557,"nodeType":"ErrorDefinition","src":"5139:31:111","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5145:22:111","parameters":{"id":72556,"nodeType":"ParameterList","parameters":[],"src":"5167:2:111"}},{"id":72561,"nodeType":"ErrorDefinition","src":"5188:45:111","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5194:17:111","parameters":{"id":72560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72559,"mutability":"mutable","name":"_proposalId","nameLocation":"5220:11:111","nodeType":"VariableDeclaration","scope":72561,"src":"5212:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72558,"name":"uint256","nodeType":"ElementaryTypeName","src":"5212:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5211:21:111"}},{"id":72565,"nodeType":"ErrorDefinition","src":"5252:45:111","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5258:17:111","parameters":{"id":72564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72563,"mutability":"mutable","name":"_proposalId","nameLocation":"5284:11:111","nodeType":"VariableDeclaration","scope":72565,"src":"5276:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72562,"name":"uint256","nodeType":"ElementaryTypeName","src":"5276:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5275:21:111"}},{"id":72571,"nodeType":"ErrorDefinition","src":"5316:68:111","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5322:25:111","parameters":{"id":72570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72567,"mutability":"mutable","name":"_proposalId","nameLocation":"5356:11:111","nodeType":"VariableDeclaration","scope":72571,"src":"5348:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72566,"name":"uint256","nodeType":"ElementaryTypeName","src":"5348:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72569,"mutability":"mutable","name":"index","nameLocation":"5377:5:111","nodeType":"VariableDeclaration","scope":72571,"src":"5369:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72568,"name":"uint256","nodeType":"ElementaryTypeName","src":"5369:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5347:36:111"}},{"id":72573,"nodeType":"ErrorDefinition","src":"5402:40:111","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5408:31:111","parameters":{"id":72572,"nodeType":"ParameterList","parameters":[],"src":"5439:2:111"}},{"id":72575,"nodeType":"ErrorDefinition","src":"5461:29:111","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5467:20:111","parameters":{"id":72574,"nodeType":"ParameterList","parameters":[],"src":"5487:2:111"}},{"id":72583,"nodeType":"ErrorDefinition","src":"5509:94:111","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5515:19:111","parameters":{"id":72582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72577,"mutability":"mutable","name":"_proposalId","nameLocation":"5543:11:111","nodeType":"VariableDeclaration","scope":72583,"src":"5535:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5535:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72579,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5564:16:111","nodeType":"VariableDeclaration","scope":72583,"src":"5556:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72578,"name":"uint256","nodeType":"ElementaryTypeName","src":"5556:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72581,"mutability":"mutable","name":"_poolAmount","nameLocation":"5590:11:111","nodeType":"VariableDeclaration","scope":72583,"src":"5582:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72580,"name":"uint256","nodeType":"ElementaryTypeName","src":"5582:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5534:68:111"}},{"id":72585,"nodeType":"ErrorDefinition","src":"5621:24:111","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5627:15:111","parameters":{"id":72584,"nodeType":"ParameterList","parameters":[],"src":"5642:2:111"}},{"id":72587,"nodeType":"ErrorDefinition","src":"5650:32:111","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5656:23:111","parameters":{"id":72586,"nodeType":"ParameterList","parameters":[],"src":"5679:2:111"}},{"id":72593,"nodeType":"ErrorDefinition","src":"5687:73:111","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5693:22:111","parameters":{"id":72592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72589,"mutability":"mutable","name":"sentAmount","nameLocation":"5724:10:111","nodeType":"VariableDeclaration","scope":72593,"src":"5716:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72588,"name":"uint256","nodeType":"ElementaryTypeName","src":"5716:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72591,"mutability":"mutable","name":"requiredAmount","nameLocation":"5744:14:111","nodeType":"VariableDeclaration","scope":72593,"src":"5736:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72590,"name":"uint256","nodeType":"ElementaryTypeName","src":"5736:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5715:44:111"}},{"id":72595,"nodeType":"ErrorDefinition","src":"5765:23:111","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5771:14:111","parameters":{"id":72594,"nodeType":"ParameterList","parameters":[],"src":"5785:2:111"}},{"id":72599,"nodeType":"ErrorDefinition","src":"5793:47:111","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5799:19:111","parameters":{"id":72598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72597,"mutability":"mutable","name":"_proposalId","nameLocation":"5827:11:111","nodeType":"VariableDeclaration","scope":72599,"src":"5819:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72596,"name":"uint256","nodeType":"ElementaryTypeName","src":"5819:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5818:21:111"}},{"id":72601,"nodeType":"ErrorDefinition","src":"5845:31:111","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5851:22:111","parameters":{"id":72600,"nodeType":"ParameterList","parameters":[],"src":"5873:2:111"}},{"id":72603,"nodeType":"ErrorDefinition","src":"5962:28:111","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5968:19:111","parameters":{"id":72602,"nodeType":"ParameterList","parameters":[],"src":"5987:2:111"}},{"id":72609,"nodeType":"ErrorDefinition","src":"5995:75:111","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"6001:24:111","parameters":{"id":72608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72605,"mutability":"mutable","name":"_proposalId","nameLocation":"6034:11:111","nodeType":"VariableDeclaration","scope":72609,"src":"6026:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72604,"name":"uint256","nodeType":"ElementaryTypeName","src":"6026:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72607,"mutability":"mutable","name":"_remainingSec","nameLocation":"6055:13:111","nodeType":"VariableDeclaration","scope":72609,"src":"6047:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72606,"name":"uint256","nodeType":"ElementaryTypeName","src":"6047:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6025:44:111"}},{"id":72611,"nodeType":"ErrorDefinition","src":"6075:54:111","nodes":[],"errorSelector":"fcc12b5b","name":"ArbitrationConfigCannotBeChangedDuringDispute","nameLocation":"6081:45:111","parameters":{"id":72610,"nodeType":"ParameterList","parameters":[],"src":"6126:2:111"}},{"id":72618,"nodeType":"EventDefinition","src":"6301:74:111","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6307:13:111","parameters":{"id":72617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72613,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6329:6:111","nodeType":"VariableDeclaration","scope":72618,"src":"6321:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72612,"name":"uint256","nodeType":"ElementaryTypeName","src":"6321:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72616,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6369:4:111","nodeType":"VariableDeclaration","scope":72618,"src":"6337:36:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72615,"nodeType":"UserDefinedTypeName","pathNode":{"id":72614,"name":"StrategyStruct.InitializeParams","nameLocations":["6337:14:111","6352:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"6337:31:111"},"referencedDeclaration":72502,"src":"6337:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6320:54:111"}},{"id":72626,"nodeType":"EventDefinition","src":"6380:75:111","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6386:11:111","parameters":{"id":72625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72620,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6406:10:111","nodeType":"VariableDeclaration","scope":72626,"src":"6398:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72619,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72622,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6426:11:111","nodeType":"VariableDeclaration","scope":72626,"src":"6418:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72621,"name":"address","nodeType":"ElementaryTypeName","src":"6418:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72624,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6447:6:111","nodeType":"VariableDeclaration","scope":72626,"src":"6439:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72623,"name":"uint256","nodeType":"ElementaryTypeName","src":"6439:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:57:111"}},{"id":72632,"nodeType":"EventDefinition","src":"6460:58:111","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6466:15:111","parameters":{"id":72631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72628,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6490:6:111","nodeType":"VariableDeclaration","scope":72632,"src":"6482:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72627,"name":"uint256","nodeType":"ElementaryTypeName","src":"6482:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72630,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6506:10:111","nodeType":"VariableDeclaration","scope":72632,"src":"6498:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72629,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6481:36:111"}},{"id":72636,"nodeType":"EventDefinition","src":"6523:42:111","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6529:19:111","parameters":{"id":72635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72634,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6557:6:111","nodeType":"VariableDeclaration","scope":72636,"src":"6549:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72633,"name":"uint256","nodeType":"ElementaryTypeName","src":"6549:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6548:16:111"}},{"id":72640,"nodeType":"EventDefinition","src":"6570:40:111","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6576:17:111","parameters":{"id":72639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72638,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6602:6:111","nodeType":"VariableDeclaration","scope":72640,"src":"6594:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72637,"name":"address","nodeType":"ElementaryTypeName","src":"6594:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6593:16:111"}},{"id":72648,"nodeType":"EventDefinition","src":"6615:85:111","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6621:14:111","parameters":{"id":72647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72642,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6644:6:111","nodeType":"VariableDeclaration","scope":72648,"src":"6636:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72641,"name":"address","nodeType":"ElementaryTypeName","src":"6636:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72644,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6660:12:111","nodeType":"VariableDeclaration","scope":72648,"src":"6652:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72643,"name":"uint256","nodeType":"ElementaryTypeName","src":"6652:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72646,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6682:16:111","nodeType":"VariableDeclaration","scope":72648,"src":"6674:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72645,"name":"uint256","nodeType":"ElementaryTypeName","src":"6674:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6635:64:111"}},{"id":72656,"nodeType":"EventDefinition","src":"6705:87:111","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6711:14:111","parameters":{"id":72655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72650,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6734:6:111","nodeType":"VariableDeclaration","scope":72656,"src":"6726:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72649,"name":"address","nodeType":"ElementaryTypeName","src":"6726:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72652,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6750:14:111","nodeType":"VariableDeclaration","scope":72656,"src":"6742:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72651,"name":"uint256","nodeType":"ElementaryTypeName","src":"6742:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72654,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6774:16:111","nodeType":"VariableDeclaration","scope":72656,"src":"6766:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72653,"name":"uint256","nodeType":"ElementaryTypeName","src":"6766:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6725:66:111"}},{"id":72668,"nodeType":"EventDefinition","src":"6797:134:111","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6803:12:111","parameters":{"id":72667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72658,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6833:4:111","nodeType":"VariableDeclaration","scope":72668,"src":"6825:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72657,"name":"address","nodeType":"ElementaryTypeName","src":"6825:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72660,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6847:10:111","nodeType":"VariableDeclaration","scope":72668,"src":"6839:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72659,"name":"uint256","nodeType":"ElementaryTypeName","src":"6839:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72662,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6867:6:111","nodeType":"VariableDeclaration","scope":72668,"src":"6859:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72661,"name":"uint256","nodeType":"ElementaryTypeName","src":"6859:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72664,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6883:17:111","nodeType":"VariableDeclaration","scope":72668,"src":"6875:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72663,"name":"uint256","nodeType":"ElementaryTypeName","src":"6875:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72666,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6910:14:111","nodeType":"VariableDeclaration","scope":72668,"src":"6902:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72665,"name":"uint256","nodeType":"ElementaryTypeName","src":"6902:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6815:115:111"}},{"id":72676,"nodeType":"EventDefinition","src":"6936:108:111","nodes":[],"anonymous":false,"eventSelector":"b47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d","name":"PoolParamsUpdated","nameLocation":"6942:17:111","parameters":{"id":72675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72671,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6984:8:111","nodeType":"VariableDeclaration","scope":72676,"src":"6960:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72670,"nodeType":"UserDefinedTypeName","pathNode":{"id":72669,"name":"StrategyStruct.CVParams","nameLocations":["6960:14:111","6975:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"6960:23:111"},"referencedDeclaration":72482,"src":"6960:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72674,"indexed":false,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"7026:16:111","nodeType":"VariableDeclaration","scope":72676,"src":"6994:48:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72673,"nodeType":"UserDefinedTypeName","pathNode":{"id":72672,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["6994:14:111","7009:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"6994:31:111"},"referencedDeclaration":72473,"src":"6994:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"6959:84:111"}},{"id":72680,"nodeType":"EventDefinition","src":"7049:49:111","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"7055:15:111","parameters":{"id":72679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72678,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"7079:17:111","nodeType":"VariableDeclaration","scope":72680,"src":"7071:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72677,"name":"address","nodeType":"ElementaryTypeName","src":"7071:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7070:27:111"}},{"id":72686,"nodeType":"EventDefinition","src":"7103:76:111","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"7109:25:111","parameters":{"id":72685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72682,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7143:6:111","nodeType":"VariableDeclaration","scope":72686,"src":"7135:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72681,"name":"uint256","nodeType":"ElementaryTypeName","src":"7135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72684,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7159:18:111","nodeType":"VariableDeclaration","scope":72686,"src":"7151:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72683,"name":"uint256","nodeType":"ElementaryTypeName","src":"7151:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7134:44:111"}},{"id":72701,"nodeType":"EventDefinition","src":"7184:195:111","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7190:16:111","parameters":{"id":72700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72689,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7228:10:111","nodeType":"VariableDeclaration","scope":72701,"src":"7216:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},"typeName":{"id":72688,"nodeType":"UserDefinedTypeName","pathNode":{"id":72687,"name":"IArbitrator","nameLocations":["7216:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79606,"src":"7216:11:111"},"referencedDeclaration":79606,"src":"7216:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72691,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7256:10:111","nodeType":"VariableDeclaration","scope":72701,"src":"7248:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72690,"name":"uint256","nodeType":"ElementaryTypeName","src":"7248:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72693,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7284:9:111","nodeType":"VariableDeclaration","scope":72701,"src":"7276:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72692,"name":"uint256","nodeType":"ElementaryTypeName","src":"7276:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72695,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7311:10:111","nodeType":"VariableDeclaration","scope":72701,"src":"7303:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72694,"name":"address","nodeType":"ElementaryTypeName","src":"7303:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72697,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7338:7:111","nodeType":"VariableDeclaration","scope":72701,"src":"7331:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72696,"name":"string","nodeType":"ElementaryTypeName","src":"7331:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":72699,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7363:9:111","nodeType":"VariableDeclaration","scope":72701,"src":"7355:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72698,"name":"uint256","nodeType":"ElementaryTypeName","src":"7355:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7206:172:111"}},{"id":72709,"nodeType":"EventDefinition","src":"7384:88:111","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7390:21:111","parameters":{"id":72708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72703,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7420:8:111","nodeType":"VariableDeclaration","scope":72709,"src":"7412:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72702,"name":"address","nodeType":"ElementaryTypeName","src":"7412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72705,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7438:10:111","nodeType":"VariableDeclaration","scope":72709,"src":"7430:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72704,"name":"address","nodeType":"ElementaryTypeName","src":"7430:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72707,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7458:12:111","nodeType":"VariableDeclaration","scope":72709,"src":"7450:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72706,"name":"address","nodeType":"ElementaryTypeName","src":"7450:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7411:60:111"}},{"id":72712,"nodeType":"VariableDeclaration","src":"7846:36:111","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"7870:1:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72710,"name":"uint256","nodeType":"ElementaryTypeName","src":"7846:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":72711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7874:8:111","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":72715,"nodeType":"VariableDeclaration","src":"7896:70:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"7921:7:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72713,"name":"uint256","nodeType":"ElementaryTypeName","src":"7896:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":72714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7931:35:111","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":72718,"nodeType":"VariableDeclaration","src":"7982:69:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8007:7:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72716,"name":"uint256","nodeType":"ElementaryTypeName","src":"7982:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":72717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8017:34:111","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":72721,"nodeType":"VariableDeclaration","src":"8067:53:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8092:6:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72719,"name":"uint256","nodeType":"ElementaryTypeName","src":"8067:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":72720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8101:19:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":72724,"nodeType":"VariableDeclaration","src":"8135:49:111","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8159:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72722,"name":"uint256","nodeType":"ElementaryTypeName","src":"8135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":72723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8182:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":72727,"nodeType":"VariableDeclaration","src":"8270:42:111","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8294:14:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72725,"name":"uint256","nodeType":"ElementaryTypeName","src":"8270:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":72726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8311:1:111","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":72730,"nodeType":"VariableDeclaration","src":"8318:54:111","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8342:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72728,"name":"uint256","nodeType":"ElementaryTypeName","src":"8318:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":72729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8365:7:111","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":72736,"nodeType":"VariableDeclaration","src":"8379:93:111","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8395:23:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72731,"name":"address","nodeType":"ElementaryTypeName","src":"8379:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307833623166624642303444423335383539323062326541644262383833394643393638304645386364","id":72734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8429:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x3b1fbFB04DB3585920b2eAdBb8839FC9680FE8cd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8421:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72732,"name":"address","nodeType":"ElementaryTypeName","src":"8421:7:111","typeDescriptions":{}}},"id":72735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8421:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":72738,"nodeType":"VariableDeclaration","src":"8576:47:111","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8593:30:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72737,"name":"uint256","nodeType":"ElementaryTypeName","src":"8576:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":72740,"nodeType":"VariableDeclaration","src":"8667:25:111","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8682:10:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72739,"name":"uint256","nodeType":"ElementaryTypeName","src":"8667:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72743,"nodeType":"VariableDeclaration","src":"8698:30:111","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8712:12:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72741,"name":"uint64","nodeType":"ElementaryTypeName","src":"8698:6:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"30","id":72742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8727:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72746,"nodeType":"VariableDeclaration","src":"8734:34:111","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8749:15:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72744,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":72745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8767:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72748,"nodeType":"VariableDeclaration","src":"8775:26:111","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8790:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72747,"name":"uint256","nodeType":"ElementaryTypeName","src":"8775:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72750,"nodeType":"VariableDeclaration","src":"8807:35:111","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"8822:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72749,"name":"uint256","nodeType":"ElementaryTypeName","src":"8807:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72753,"nodeType":"VariableDeclaration","src":"8849:39:111","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"8880:8:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72752,"nodeType":"UserDefinedTypeName","pathNode":{"id":72751,"name":"StrategyStruct.CVParams","nameLocations":["8849:14:111","8864:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"8849:23:111"},"referencedDeclaration":72482,"src":"8849:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":72756,"nodeType":"VariableDeclaration","src":"8935:47:111","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"8970:12:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72755,"nodeType":"UserDefinedTypeName","pathNode":{"id":72754,"name":"StrategyStruct.ProposalType","nameLocations":["8935:14:111","8950:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72385,"src":"8935:27:111"},"referencedDeclaration":72385,"src":"8935:27:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":72759,"nodeType":"VariableDeclaration","src":"9041:45:111","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9075:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72758,"nodeType":"UserDefinedTypeName","pathNode":{"id":72757,"name":"StrategyStruct.PointSystem","nameLocations":["9041:14:111","9056:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"9041:26:111"},"referencedDeclaration":72390,"src":"9041:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":72762,"nodeType":"VariableDeclaration","src":"9092:51:111","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9132:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72761,"nodeType":"UserDefinedTypeName","pathNode":{"id":72760,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9092:14:111","9107:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72459,"src":"9092:32:111"},"referencedDeclaration":72459,"src":"9092:32:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":72765,"nodeType":"VariableDeclaration","src":"9149:55:111","nodes":[],"constant":false,"functionSelector":"1073e996","mutability":"mutable","name":"arbitrableConfig","nameLocation":"9188:16:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72764,"nodeType":"UserDefinedTypeName","pathNode":{"id":72763,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9149:14:111","9164:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"9149:31:111"},"referencedDeclaration":72473,"src":"9149:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"public"},{"id":72768,"nodeType":"VariableDeclaration","src":"9237:46:111","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9266:17:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":72767,"nodeType":"UserDefinedTypeName","pathNode":{"id":72766,"name":"RegistryCommunityV0_0","nameLocations":["9237:21:111"],"nodeType":"IdentifierPath","referencedDeclaration":78716,"src":"9237:21:111"},"referencedDeclaration":78716,"src":"9237:21:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":72771,"nodeType":"VariableDeclaration","src":"9290:39:111","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9314:15:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"},"typeName":{"id":72770,"nodeType":"UserDefinedTypeName","pathNode":{"id":72769,"name":"ICollateralVault","nameLocations":["9290:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":79639,"src":"9290:16:111"},"referencedDeclaration":79639,"src":"9290:16:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":72774,"nodeType":"VariableDeclaration","src":"9335:31:111","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9355:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"},"typeName":{"id":72773,"nodeType":"UserDefinedTypeName","pathNode":{"id":72772,"name":"ISybilScorer","nameLocations":["9335:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":76270,"src":"9335:12:111"},"referencedDeclaration":76270,"src":"9335:12:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":72779,"nodeType":"VariableDeclaration","src":"9433:60:111","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9484:9:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":72778,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72775,"name":"uint256","nodeType":"ElementaryTypeName","src":"9441:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9433:43:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72777,"nodeType":"UserDefinedTypeName","pathNode":{"id":72776,"name":"StrategyStruct.Proposal","nameLocations":["9452:14:111","9467:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"9452:23:111"},"referencedDeclaration":72451,"src":"9452:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":72783,"nodeType":"VariableDeclaration","src":"9549:53:111","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9584:18:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72782,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72780,"name":"address","nodeType":"ElementaryTypeName","src":"9557:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9549:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72781,"name":"uint256","nodeType":"ElementaryTypeName","src":"9568:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72788,"nodeType":"VariableDeclaration","src":"9640:57:111","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9677:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":72787,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72784,"name":"address","nodeType":"ElementaryTypeName","src":"9648:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9640:29:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":72785,"name":"uint256","nodeType":"ElementaryTypeName","src":"9659:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72786,"nodeType":"ArrayTypeName","src":"9659:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":72792,"nodeType":"VariableDeclaration","src":"9735:56:111","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9770:21:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":72791,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72789,"name":"uint256","nodeType":"ElementaryTypeName","src":"9743:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9735:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72790,"name":"uint256","nodeType":"ElementaryTypeName","src":"9754:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72816,"nodeType":"FunctionDefinition","src":"10044:226:111","nodes":[],"body":{"id":72815,"nodeType":"Block","src":"10136:134:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72804,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72794,"src":"10157:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":72805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10164:12:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":72801,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10146:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75909_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10152:4:111","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":71758,"src":"10146:10:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":72806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10146:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72807,"nodeType":"ExpressionStatement","src":"10146:31:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72808,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"10187:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10187:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72810,"nodeType":"ExpressionStatement","src":"10187:16:111"},{"expression":{"id":72813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72811,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"10213:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72812,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72796,"src":"10239:24:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10213:50:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72814,"nodeType":"ExpressionStatement","src":"10213:50:111"}]},"functionSelector":"f09a4016","implemented":true,"kind":"function","modifiers":[{"id":72799,"kind":"modifierInvocation","modifierName":{"id":72798,"name":"initializer","nameLocations":["10124:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"10124:11:111"},"nodeType":"ModifierInvocation","src":"10124:11:111"}],"name":"init","nameLocation":"10053:4:111","parameters":{"id":72797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72794,"mutability":"mutable","name":"_allo","nameLocation":"10066:5:111","nodeType":"VariableDeclaration","scope":72816,"src":"10058:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72793,"name":"address","nodeType":"ElementaryTypeName","src":"10058:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72796,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10081:24:111","nodeType":"VariableDeclaration","scope":72816,"src":"10073:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72795,"name":"address","nodeType":"ElementaryTypeName","src":"10073:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10057:49:111"},"returnParameters":{"id":72800,"nodeType":"ParameterList","parameters":[],"src":"10136:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72912,"nodeType":"FunctionDefinition","src":"10276:824:111","nodes":[],"body":{"id":72911,"nodeType":"Block","src":"10359:741:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72826,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72818,"src":"10389:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72825,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71894,"src":"10369:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10369:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72828,"nodeType":"ExpressionStatement","src":"10369:28:111"},{"expression":{"id":72838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72829,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"10408:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":72833,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"10461:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10486:12:111","subExpression":{"id":72834,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72740,"src":"10486:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72831,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10443:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":72832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10449:11:111","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10443:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":72836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10443:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72830,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79639,"src":"10426:16:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$79639_$","typeString":"type(contract ICollateralVault)"}},"id":72837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10426:74:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"src":"10408:92:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":72839,"nodeType":"ExpressionStatement","src":"10408:92:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72840,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"10510:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":72842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10526:10:111","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":79611,"src":"10510:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":72843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10510:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72844,"nodeType":"ExpressionStatement","src":"10510:28:111"},{"assignments":[72849],"declarations":[{"constant":false,"id":72849,"mutability":"mutable","name":"ip","nameLocation":"10588:2:111","nodeType":"VariableDeclaration","scope":72911,"src":"10549:41:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72848,"nodeType":"UserDefinedTypeName","pathNode":{"id":72847,"name":"StrategyStruct.InitializeParams","nameLocations":["10549:14:111","10564:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"10549:31:111"},"referencedDeclaration":72502,"src":"10549:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":72857,"initialValue":{"arguments":[{"id":72852,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72820,"src":"10604:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":72853,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"10612:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":72854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10627:16:111","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"10612:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72502_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":72855,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10611:33:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72502_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72502_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":72850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10593:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10597:6:111","memberName":"decode","nodeType":"MemberAccess","src":"10593:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":72856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10549:96:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72858,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10660:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72859,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10663:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72499,"src":"10660:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10692:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10684:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72860,"name":"address","nodeType":"ElementaryTypeName","src":"10684:7:111","typeDescriptions":{}}},"id":72863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10684:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10660:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72869,"nodeType":"IfStatement","src":"10656:94:111","trueBody":{"id":72868,"nodeType":"Block","src":"10696:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72865,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72535,"src":"10717:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10717:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72867,"nodeType":"RevertStatement","src":"10710:29:111"}]}},{"expression":{"id":72875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72870,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"10760:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72872,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10802:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10805:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72499,"src":"10802:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72871,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"10780:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78716_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":72874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10780:43:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"src":"10760:63:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":72876,"nodeType":"ExpressionStatement","src":"10760:63:111"},{"expression":{"id":72880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72877,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72756,"src":"10834:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72878,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10849:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72879,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10852:12:111","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72488,"src":"10849:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"10834:30:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"id":72881,"nodeType":"ExpressionStatement","src":"10834:30:111"},{"expression":{"id":72885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72882,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"10874:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72883,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10888:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10891:11:111","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"10888:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"10874:28:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"id":72886,"nodeType":"ExpressionStatement","src":"10874:28:111"},{"expression":{"id":72890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72887,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"10912:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72888,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10926:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10929:11:111","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":72494,"src":"10926:14:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"10912:28:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":72891,"nodeType":"ExpressionStatement","src":"10912:28:111"},{"expression":{"id":72897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72892,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"10950:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72894,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10977:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10980:11:111","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":72501,"src":"10977:14:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72893,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"10964:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76270_$","typeString":"type(contract ISybilScorer)"}},"id":72896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10964:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"src":"10950:42:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"id":72898,"nodeType":"ExpressionStatement","src":"10950:42:111"},{"expression":{"arguments":[{"expression":{"id":72900,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"11018:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72901,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11021:16:111","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":72497,"src":"11018:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":72902,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"11039:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11042:8:111","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"11039:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":72899,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75354,"src":"11003:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$_t_struct$_CVParams_$72482_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":72904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11003:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72905,"nodeType":"ExpressionStatement","src":"11003:48:111"},{"eventCall":{"arguments":[{"id":72907,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72818,"src":"11081:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72908,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"11090:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":72906,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72618,"src":"11067:13:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$72502_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":72909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11067:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72910,"nodeType":"EmitStatement","src":"11062:31:111"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":72823,"kind":"modifierInvocation","modifierName":{"id":72822,"name":"onlyAllo","nameLocations":["10350:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":71766,"src":"10350:8:111"},"nodeType":"ModifierInvocation","src":"10350:8:111"}],"name":"initialize","nameLocation":"10285:10:111","parameters":{"id":72821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72818,"mutability":"mutable","name":"_poolId","nameLocation":"10304:7:111","nodeType":"VariableDeclaration","scope":72912,"src":"10296:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72817,"name":"uint256","nodeType":"ElementaryTypeName","src":"10296:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72820,"mutability":"mutable","name":"_data","nameLocation":"10326:5:111","nodeType":"VariableDeclaration","scope":72912,"src":"10313:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":72819,"name":"bytes","nodeType":"ElementaryTypeName","src":"10313:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10295:37:111"},"returnParameters":{"id":72824,"nodeType":"ParameterList","parameters":[],"src":"10359:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72916,"nodeType":"FunctionDefinition","src":"11271:83:111","nodes":[],"body":{"id":72915,"nodeType":"Block","src":"11299:55:111","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72913,"nodeType":"ParameterList","parameters":[],"src":"11279:2:111"},"returnParameters":{"id":72914,"nodeType":"ParameterList","parameters":[],"src":"11299:0:111"},"scope":75909,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72920,"nodeType":"FunctionDefinition","src":"11360:135:111","nodes":[],"body":{"id":72919,"nodeType":"Block","src":"11387:108:111","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72917,"nodeType":"ParameterList","parameters":[],"src":"11367:2:111"},"returnParameters":{"id":72918,"nodeType":"ParameterList","parameters":[],"src":"11387:0:111"},"scope":75909,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72941,"nodeType":"FunctionDefinition","src":"11501:202:111","nodes":[],"body":{"id":72940,"nodeType":"Block","src":"11592:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":72938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":72933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72928,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72922,"src":"11609:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":72930,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"11629:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}],"id":72929,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11624:4:111","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11624:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72381","typeString":"type(contract IPointStrategy)"}},"id":72932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11645:11:111","memberName":"interfaceId","nodeType":"MemberAccess","src":"11624:32:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11609:47:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":72936,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72922,"src":"11684:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72934,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11660:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75909_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11666:17:111","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57805,"src":"11660:23:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":72937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11660:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11609:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72927,"id":72939,"nodeType":"Return","src":"11602:94:111"}]},"baseFunctions":[57805],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11510:17:111","overrides":{"id":72924,"nodeType":"OverrideSpecifier","overrides":[],"src":"11568:8:111"},"parameters":{"id":72923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72922,"mutability":"mutable","name":"interfaceId","nameLocation":"11535:11:111","nodeType":"VariableDeclaration","scope":72941,"src":"11528:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":72921,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11528:6:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11527:20:111"},"returnParameters":{"id":72927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72941,"src":"11586:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72925,"name":"bool","nodeType":"ElementaryTypeName","src":"11586:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11585:6:111"},"scope":75909,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72982,"nodeType":"FunctionDefinition","src":"11874:377:111","nodes":[],"body":{"id":72981,"nodeType":"Block","src":"11933:318:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72946,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72943,"src":"11947:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11966:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11958:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72947,"name":"address","nodeType":"ElementaryTypeName","src":"11958:7:111","typeDescriptions":{}}},"id":72950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11958:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11947:21:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72956,"nodeType":"IfStatement","src":"11943:77:111","trueBody":{"id":72955,"nodeType":"Block","src":"11970:50:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72952,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72515,"src":"11991:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11991:18:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72954,"nodeType":"RevertStatement","src":"11984:25:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":72959,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12041:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":72958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12033:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72957,"name":"address","nodeType":"ElementaryTypeName","src":"12033:7:111","typeDescriptions":{}}},"id":72960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12033:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12071:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12063:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72961,"name":"address","nodeType":"ElementaryTypeName","src":"12063:7:111","typeDescriptions":{}}},"id":72964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12063:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12033:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72970,"nodeType":"IfStatement","src":"12029:100:111","trueBody":{"id":72969,"nodeType":"Block","src":"12075:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72966,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72535,"src":"12096:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12096:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72968,"nodeType":"RevertStatement","src":"12089:29:111"}]}},{"condition":{"id":72975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12142:36:111","subExpression":{"arguments":[{"id":72973,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72943,"src":"12170:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72971,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12143:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":72972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12161:8:111","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":78324,"src":"12143:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":72974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12143:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72980,"nodeType":"IfStatement","src":"12138:93:111","trueBody":{"id":72979,"nodeType":"Block","src":"12180:51:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72976,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72517,"src":"12201:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12201:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72978,"nodeType":"RevertStatement","src":"12194:26:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"11883:19:111","parameters":{"id":72944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72943,"mutability":"mutable","name":"_sender","nameLocation":"11911:7:111","nodeType":"VariableDeclaration","scope":72982,"src":"11903:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72942,"name":"address","nodeType":"ElementaryTypeName","src":"11903:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11902:17:111"},"returnParameters":{"id":72945,"nodeType":"ParameterList","parameters":[],"src":"11933:0:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":72998,"nodeType":"FunctionDefinition","src":"12257:162:111","nodes":[],"body":{"id":72997,"nodeType":"Block","src":"12303:116:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72985,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12317:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12321:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12317:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":72989,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12339:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":72988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12331:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72987,"name":"address","nodeType":"ElementaryTypeName","src":"12331:7:111","typeDescriptions":{}}},"id":72990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12331:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12317:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72996,"nodeType":"IfStatement","src":"12313:100:111","trueBody":{"id":72995,"nodeType":"Block","src":"12359:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72992,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72575,"src":"12380:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12380:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72994,"nodeType":"RevertStatement","src":"12373:29:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12266:21:111","parameters":{"id":72983,"nodeType":"ParameterList","parameters":[],"src":"12287:2:111"},"returnParameters":{"id":72984,"nodeType":"ParameterList","parameters":[],"src":"12303:0:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":73014,"nodeType":"FunctionDefinition","src":"12425:133:111","nodes":[],"body":{"id":73013,"nodeType":"Block","src":"12485:73:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73003,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73000,"src":"12499:8:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12519:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12511:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73004,"name":"address","nodeType":"ElementaryTypeName","src":"12511:7:111","typeDescriptions":{}}},"id":73007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12511:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12499:22:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73012,"nodeType":"IfStatement","src":"12495:56:111","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73009,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72533,"src":"12530:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12530:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73011,"nodeType":"RevertStatement","src":"12523:28:111"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12434:18:111","parameters":{"id":73001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73000,"mutability":"mutable","name":"_address","nameLocation":"12461:8:111","nodeType":"VariableDeclaration","scope":73014,"src":"12453:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72999,"name":"address","nodeType":"ElementaryTypeName","src":"12453:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12452:18:111"},"returnParameters":{"id":73002,"nodeType":"ParameterList","parameters":[],"src":"12485:0:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73032,"nodeType":"FunctionDefinition","src":"12564:166:111","nodes":[],"body":{"id":73031,"nodeType":"Block","src":"12605:125:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73017,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12619:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12623:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12619:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73021,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12641:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12659:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77047,"src":"12641:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79732_$","typeString":"function () view external returns (contract ISafe)"}},"id":73023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12641:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":73020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12633:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73019,"name":"address","nodeType":"ElementaryTypeName","src":"12633:7:111","typeDescriptions":{}}},"id":73024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12633:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12619:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73030,"nodeType":"IfStatement","src":"12615:109:111","trueBody":{"id":73029,"nodeType":"Block","src":"12675:49:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73026,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72585,"src":"12696:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12696:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73028,"nodeType":"RevertStatement","src":"12689:24:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12573:15:111","parameters":{"id":73015,"nodeType":"ParameterList","parameters":[],"src":"12588:2:111"},"returnParameters":{"id":73016,"nodeType":"ParameterList","parameters":[],"src":"12605:0:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73062,"nodeType":"FunctionDefinition","src":"12736:230:111","nodes":[],"body":{"id":73061,"nodeType":"Block","src":"12807:159:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73041,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"12829:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}],"id":73040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12821:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73039,"name":"address","nodeType":"ElementaryTypeName","src":"12821:7:111","typeDescriptions":{}}},"id":73042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12821:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12853:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12845:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73043,"name":"address","nodeType":"ElementaryTypeName","src":"12845:7:111","typeDescriptions":{}}},"id":73046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12845:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12821:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73051,"nodeType":"IfStatement","src":"12817:76:111","trueBody":{"id":73050,"nodeType":"Block","src":"12857:36:111","statements":[{"expression":{"hexValue":"74727565","id":73048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12878:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":73038,"id":73049,"nodeType":"Return","src":"12871:11:111"}]}},{"expression":{"arguments":[{"id":73054,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73034,"src":"12938:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73057,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12953:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12945:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73055,"name":"address","nodeType":"ElementaryTypeName","src":"12945:7:111","typeDescriptions":{}}},"id":73058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12945:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73052,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"12909:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"id":73053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12921:16:111","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76227,"src":"12909:28:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12909:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73038,"id":73060,"nodeType":"Return","src":"12902:57:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12745:17:111","parameters":{"id":73035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73034,"mutability":"mutable","name":"_user","nameLocation":"12771:5:111","nodeType":"VariableDeclaration","scope":73062,"src":"12763:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73033,"name":"address","nodeType":"ElementaryTypeName","src":"12763:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12762:15:111"},"returnParameters":{"id":73038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73062,"src":"12801:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73036,"name":"bool","nodeType":"ElementaryTypeName","src":"12801:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12800:6:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73300,"nodeType":"FunctionDefinition","src":"13292:2658:111","nodes":[],"body":{"id":73299,"nodeType":"Block","src":"13393:2557:111","nodes":[],"statements":[{"condition":{"id":73075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13407:27:111","subExpression":{"arguments":[{"id":73073,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73066,"src":"13426:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73072,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"13408:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13408:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73080,"nodeType":"IfStatement","src":"13403:90:111","trueBody":{"id":73079,"nodeType":"Block","src":"13436:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73076,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"13457:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13457:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73078,"nodeType":"RevertStatement","src":"13450:32:111"}]}},{"expression":{"id":73081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73064,"src":"13547:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73082,"nodeType":"ExpressionStatement","src":"13547:5:111"},{"assignments":[73087],"declarations":[{"constant":false,"id":73087,"mutability":"mutable","name":"proposal","nameLocation":"13599:8:111","nodeType":"VariableDeclaration","scope":73299,"src":"13562:45:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":73086,"nodeType":"UserDefinedTypeName","pathNode":{"id":73085,"name":"StrategyStruct.CreateProposal","nameLocations":["13562:14:111","13577:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72402,"src":"13562:29:111"},"referencedDeclaration":72402,"src":"13562:29:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":73095,"initialValue":{"arguments":[{"id":73090,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73064,"src":"13621:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":73091,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"13629:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13644:14:111","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":72402,"src":"13629:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72402_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":73093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13628:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72402_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72402_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":73088,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13610:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13614:6:111","memberName":"decode","nodeType":"MemberAccess","src":"13610:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13610:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13562:98:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73096,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"13775:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73097,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13784:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72392,"src":"13775:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13794:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13775:20:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73104,"nodeType":"IfStatement","src":"13771:78:111","trueBody":{"id":73103,"nodeType":"Block","src":"13797:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73100,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72531,"src":"13818:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13818:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73102,"nodeType":"RevertStatement","src":"13811:27:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"id":73109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73105,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72756,"src":"13925:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73106,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"13941:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13956:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72385,"src":"13941:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72385_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13969:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72383,"src":"13941:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"13925:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73165,"nodeType":"IfStatement","src":"13921:764:111","trueBody":{"id":73164,"nodeType":"Block","src":"13978:707:111","statements":[{"expression":{"arguments":[{"expression":{"id":73111,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14011:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14020:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72394,"src":"14011:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73110,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73014,"src":"13992:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13992:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73114,"nodeType":"ExpressionStatement","src":"13992:40:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73115,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14098:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14107:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72398,"src":"14098:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14133:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14125:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73117,"name":"address","nodeType":"ElementaryTypeName","src":"14125:7:111","typeDescriptions":{}}},"id":73120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14125:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14098:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73126,"nodeType":"IfStatement","src":"14094:102:111","trueBody":{"id":73125,"nodeType":"Block","src":"14137:59:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73122,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72525,"src":"14162:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14162:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73124,"nodeType":"RevertStatement","src":"14155:26:111"}]}},{"assignments":[73129],"declarations":[{"constant":false,"id":73129,"mutability":"mutable","name":"_allo","nameLocation":"14215:5:111","nodeType":"VariableDeclaration","scope":73164,"src":"14209:11:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":73128,"nodeType":"UserDefinedTypeName","pathNode":{"id":73127,"name":"IAllo","nameLocations":["14209:5:111"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14209:5:111"},"referencedDeclaration":2610,"src":"14209:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":73133,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73130,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14223:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}},"id":73131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14228:7:111","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":71812,"src":"14223:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":73132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14223:14:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14209:28:111"},{"assignments":[73138],"declarations":[{"constant":false,"id":73138,"mutability":"mutable","name":"pool","nameLocation":"14269:4:111","nodeType":"VariableDeclaration","scope":73164,"src":"14251:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73137,"nodeType":"UserDefinedTypeName","pathNode":{"id":73136,"name":"IAllo.Pool","nameLocations":["14251:5:111","14257:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14251:10:111"},"referencedDeclaration":2319,"src":"14251:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":73144,"initialValue":{"arguments":[{"expression":{"id":73141,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14290:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14299:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72392,"src":"14290:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73139,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73129,"src":"14276:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":73140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14282:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14276:13:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":73143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14276:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14251:55:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73145,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14324:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14333:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72398,"src":"14324:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":73147,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73138,"src":"14351:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":73148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14356:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14351:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14324:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73154,"nodeType":"IfStatement","src":"14320:235:111","trueBody":{"id":73153,"nodeType":"Block","src":"14363:192:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73150,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72527,"src":"14523:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73152,"nodeType":"RevertStatement","src":"14516:24:111"}]}},{"condition":{"arguments":[{"expression":{"id":73156,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14588:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14597:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72396,"src":"14588:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73155,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74478,"src":"14572:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":73158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14572:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73163,"nodeType":"IfStatement","src":"14568:107:111","trueBody":{"id":73162,"nodeType":"Block","src":"14615:60:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73159,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72529,"src":"14640:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14640:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73161,"nodeType":"RevertStatement","src":"14633:27:111"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":73168,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"14720:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14737:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"14720:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":73167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14712:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73166,"name":"address","nodeType":"ElementaryTypeName","src":"14712:7:111","typeDescriptions":{}}},"id":73170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14712:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":73173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14760:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14752:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73171,"name":"address","nodeType":"ElementaryTypeName","src":"14752:7:111","typeDescriptions":{}}},"id":73174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14752:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14712:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73176,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14766:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14770:5:111","memberName":"value","nodeType":"MemberAccess","src":"14766:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":73178,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"14778:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14795:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"14778:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14766:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14712:108:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73190,"nodeType":"IfStatement","src":"14695:245:111","trueBody":{"id":73189,"nodeType":"Block","src":"14831:109:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":73183,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14875:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14879:5:111","memberName":"value","nodeType":"MemberAccess","src":"14875:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73185,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"14886:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73186,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14903:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"14886:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73182,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"14852:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":73187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14852:77:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73188,"nodeType":"RevertStatement","src":"14845:84:111"}]}},{"assignments":[73192],"declarations":[{"constant":false,"id":73192,"mutability":"mutable","name":"proposalId","nameLocation":"14958:10:111","nodeType":"VariableDeclaration","scope":73299,"src":"14950:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73191,"name":"uint256","nodeType":"ElementaryTypeName","src":"14950:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73195,"initialValue":{"id":73194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"14971:17:111","subExpression":{"id":73193,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72746,"src":"14973:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14950:38:111"},{"assignments":[73200],"declarations":[{"constant":false,"id":73200,"mutability":"mutable","name":"p","nameLocation":"15030:1:111","nodeType":"VariableDeclaration","scope":73299,"src":"14998:33:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73199,"nodeType":"UserDefinedTypeName","pathNode":{"id":73198,"name":"StrategyStruct.Proposal","nameLocations":["14998:14:111","15013:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"14998:23:111"},"referencedDeclaration":72451,"src":"14998:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73204,"initialValue":{"baseExpression":{"id":73201,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"15034:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73203,"indexExpression":{"id":73202,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15044:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15034:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14998:57:111"},{"expression":{"id":73209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73205,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15066:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15068:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"15066:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73208,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15081:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15066:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73210,"nodeType":"ExpressionStatement","src":"15066:25:111"},{"expression":{"id":73215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73211,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15101:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15103:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"15101:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73214,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73066,"src":"15115:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15101:21:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73216,"nodeType":"ExpressionStatement","src":"15101:21:111"},{"expression":{"id":73222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73217,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15132:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15134:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"15132:13:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73220,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15148:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15157:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72394,"src":"15148:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15132:36:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73223,"nodeType":"ExpressionStatement","src":"15132:36:111"},{"expression":{"id":73229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73224,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15178:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15180:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72433,"src":"15178:16:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73227,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15197:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73228,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15206:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72398,"src":"15197:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15178:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73230,"nodeType":"ExpressionStatement","src":"15178:42:111"},{"expression":{"id":73236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73231,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15230:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15232:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"15230:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73234,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15250:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15259:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72396,"src":"15250:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15230:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73237,"nodeType":"ExpressionStatement","src":"15230:44:111"},{"expression":{"id":73244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73238,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15335:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73240,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15337:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"15335:16:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":73241,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"15354:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15369:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"15354:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":73243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15384:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"15354:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15335:55:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":73245,"nodeType":"ExpressionStatement","src":"15335:55:111"},{"expression":{"id":73251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73246,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15400:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15402:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"15400:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73249,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15414:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":73250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15420:6:111","memberName":"number","nodeType":"MemberAccess","src":"15414:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15400:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73252,"nodeType":"ExpressionStatement","src":"15400:26:111"},{"expression":{"id":73257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73253,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15436:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15438:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"15436:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":73256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15455:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15436:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73258,"nodeType":"ExpressionStatement","src":"15436:20:111"},{"expression":{"id":73264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73259,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15502:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15504:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"15502:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73262,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15515:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15524:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72401,"src":"15515:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"15502:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":73265,"nodeType":"ExpressionStatement","src":"15502:30:111"},{"expression":{"id":73273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73266,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15629:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15631:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"15629:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":73270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15643:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"15629:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73271,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"15670:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73272,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15687:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"15670:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15629:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73274,"nodeType":"ExpressionStatement","src":"15629:83:111"},{"expression":{"arguments":[{"id":73281,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15774:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73282,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15786:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15788:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"15786:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73275,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"15722:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":73277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15738:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79618,"src":"15722:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":73280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":73278,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15763:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15767:5:111","memberName":"value","nodeType":"MemberAccess","src":"15763:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15722:51:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":73284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15722:76:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73285,"nodeType":"ExpressionStatement","src":"15722:76:111"},{"eventCall":{"arguments":[{"id":73287,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71732,"src":"15830:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73288,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15838:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73286,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72632,"src":"15814:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":73289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15814:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73290,"nodeType":"EmitStatement","src":"15809:40:111"},{"expression":{"arguments":[{"arguments":[{"id":73295,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15931:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15923:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":73293,"name":"uint160","nodeType":"ElementaryTypeName","src":"15923:7:111","typeDescriptions":{}}},"id":73296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15923:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":73292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15915:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73291,"name":"address","nodeType":"ElementaryTypeName","src":"15915:7:111","typeDescriptions":{}}},"id":73297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15915:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73071,"id":73298,"nodeType":"Return","src":"15908:35:111"}]},"baseFunctions":[72200],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13301:18:111","overrides":{"id":73068,"nodeType":"OverrideSpecifier","overrides":[],"src":"13366:8:111"},"parameters":{"id":73067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73064,"mutability":"mutable","name":"_data","nameLocation":"13333:5:111","nodeType":"VariableDeclaration","scope":73300,"src":"13320:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73063,"name":"bytes","nodeType":"ElementaryTypeName","src":"13320:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73066,"mutability":"mutable","name":"_sender","nameLocation":"13348:7:111","nodeType":"VariableDeclaration","scope":73300,"src":"13340:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73065,"name":"address","nodeType":"ElementaryTypeName","src":"13340:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13319:37:111"},"returnParameters":{"id":73071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73300,"src":"13384:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73069,"name":"address","nodeType":"ElementaryTypeName","src":"13384:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13383:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73309,"nodeType":"FunctionDefinition","src":"15956:90:111","nodes":[],"body":{"id":73308,"nodeType":"Block","src":"16008:38:111","nodes":[],"statements":[{"expression":{"expression":{"id":73305,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"16025:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":73306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16034:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"16025:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73304,"id":73307,"nodeType":"Return","src":"16018:21:111"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"15965:8:111","parameters":{"id":73301,"nodeType":"ParameterList","parameters":[],"src":"15973:2:111"},"returnParameters":{"id":73304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73303,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73309,"src":"15999:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73302,"name":"uint256","nodeType":"ElementaryTypeName","src":"15999:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15998:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73348,"nodeType":"FunctionDefinition","src":"16052:351:111","nodes":[],"body":{"id":73347,"nodeType":"Block","src":"16087:316:111","nodes":[],"statements":[{"assignments":[73313],"declarations":[{"constant":false,"id":73313,"mutability":"mutable","name":"member","nameLocation":"16105:6:111","nodeType":"VariableDeclaration","scope":73347,"src":"16097:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73312,"name":"address","nodeType":"ElementaryTypeName","src":"16097:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":73316,"initialValue":{"expression":{"id":73314,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16114:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16118:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16114:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16097:27:111"},{"condition":{"id":73320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16138:26:111","subExpression":{"arguments":[{"id":73318,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"16157:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73317,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"16139:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16139:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73325,"nodeType":"IfStatement","src":"16134:89:111","trueBody":{"id":73324,"nodeType":"Block","src":"16166:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73321,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"16187:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16187:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73323,"nodeType":"RevertStatement","src":"16180:32:111"}]}},{"expression":{"arguments":[{"id":73329,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"16275:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73332,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16291:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16283:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73330,"name":"address","nodeType":"ElementaryTypeName","src":"16283:7:111","typeDescriptions":{}}},"id":73333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16283:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73326,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16232:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16250:24:111","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"16232:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16232:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73335,"nodeType":"ExpressionStatement","src":"16232:65:111"},{"expression":{"id":73345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73336,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"16307:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":73339,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"16374:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73342,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16390:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16382:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73340,"name":"address","nodeType":"ElementaryTypeName","src":"16382:7:111","typeDescriptions":{}}},"id":73343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16382:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73337,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16331:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16349:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"16331:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16331:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16307:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73346,"nodeType":"ExpressionStatement","src":"16307:89:111"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16061:14:111","parameters":{"id":73310,"nodeType":"ParameterList","parameters":[],"src":"16075:2:111"},"returnParameters":{"id":73311,"nodeType":"ParameterList","parameters":[],"src":"16087:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73357,"nodeType":"FunctionDefinition","src":"16409:81:111","nodes":[],"body":{"id":73356,"nodeType":"Block","src":"16444:46:111","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":73352,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16472:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16476:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16472:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73351,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73405,"src":"16454:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16454:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73355,"nodeType":"ExpressionStatement","src":"16454:29:111"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16418:16:111","parameters":{"id":73349,"nodeType":"ParameterList","parameters":[],"src":"16434:2:111"},"returnParameters":{"id":73350,"nodeType":"ParameterList","parameters":[],"src":"16444:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73370,"nodeType":"FunctionDefinition","src":"16496:128:111","nodes":[],"body":{"id":73369,"nodeType":"Block","src":"16548:76:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73362,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72998,"src":"16558:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16558:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73364,"nodeType":"ExpressionStatement","src":"16558:23:111"},{"expression":{"arguments":[{"id":73366,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73359,"src":"16609:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73365,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73405,"src":"16591:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73368,"nodeType":"ExpressionStatement","src":"16591:26:111"}]},"baseFunctions":[72356],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16505:16:111","parameters":{"id":73360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73359,"mutability":"mutable","name":"_member","nameLocation":"16530:7:111","nodeType":"VariableDeclaration","scope":73370,"src":"16522:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73358,"name":"address","nodeType":"ElementaryTypeName","src":"16522:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16521:17:111"},"returnParameters":{"id":73361,"nodeType":"ParameterList","parameters":[],"src":"16548:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73405,"nodeType":"FunctionDefinition","src":"16630:351:111","nodes":[],"body":{"id":73404,"nodeType":"Block","src":"16683:298:111","nodes":[],"statements":[{"expression":{"id":73384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73375,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"16693:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":73378,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16760:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73381,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16777:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16769:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73379,"name":"address","nodeType":"ElementaryTypeName","src":"16769:7:111","typeDescriptions":{}}},"id":73382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16769:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73376,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16717:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16735:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"16717:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16717:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16693:90:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73385,"nodeType":"ExpressionStatement","src":"16693:90:111"},{"expression":{"arguments":[{"id":73389,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16838:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73392,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16855:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16847:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73390,"name":"address","nodeType":"ElementaryTypeName","src":"16847:7:111","typeDescriptions":{}}},"id":73393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16847:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73386,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16793:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16811:26:111","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77790,"src":"16793:44:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16793:68:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73395,"nodeType":"ExpressionStatement","src":"16793:68:111"},{"expression":{"arguments":[{"id":73397,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16925:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73396,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"16916:8:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73399,"nodeType":"ExpressionStatement","src":"16916:17:111"},{"eventCall":{"arguments":[{"id":73401,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16966:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73400,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72640,"src":"16948:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16948:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73403,"nodeType":"EmitStatement","src":"16943:31:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"16639:17:111","parameters":{"id":73373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73372,"mutability":"mutable","name":"_member","nameLocation":"16665:7:111","nodeType":"VariableDeclaration","scope":73405,"src":"16657:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73371,"name":"address","nodeType":"ElementaryTypeName","src":"16657:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16656:17:111"},"returnParameters":{"id":73374,"nodeType":"ParameterList","parameters":[],"src":"16683:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73498,"nodeType":"FunctionDefinition","src":"16987:1057:111","nodes":[],"body":{"id":73497,"nodeType":"Block","src":"17078:966:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73414,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72998,"src":"17133:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17133:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73416,"nodeType":"ExpressionStatement","src":"17133:23:111"},{"condition":{"id":73420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17170:27:111","subExpression":{"arguments":[{"id":73418,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17189:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73417,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"17171:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17171:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73425,"nodeType":"IfStatement","src":"17166:90:111","trueBody":{"id":73424,"nodeType":"Block","src":"17199:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73421,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"17220:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17220:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73423,"nodeType":"RevertStatement","src":"17213:32:111"}]}},{"assignments":[73427],"declarations":[{"constant":false,"id":73427,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17273:16:111","nodeType":"VariableDeclaration","scope":73497,"src":"17265:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73426,"name":"uint256","nodeType":"ElementaryTypeName","src":"17265:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73429,"initialValue":{"hexValue":"30","id":73428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17292:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17265:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73430,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"17307:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73431,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"17322:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17337:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"17322:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17349:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72388,"src":"17322:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"17307:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73442,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"17452:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73443,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"17467:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17482:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"17467:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17494:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72387,"src":"17467:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"17452:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73455,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"17600:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73456,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"17615:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17630:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"17615:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17642:9:111","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":72389,"src":"17615:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"17600:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73468,"nodeType":"IfStatement","src":"17596:148:111","trueBody":{"id":73467,"nodeType":"Block","src":"17653:91:111","statements":[{"expression":{"id":73465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73460,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17667:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73462,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17709:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73463,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17718:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73461,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73684,"src":"17686:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17686:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17667:66:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73466,"nodeType":"ExpressionStatement","src":"17667:66:111"}]}},"id":73469,"nodeType":"IfStatement","src":"17448:296:111","trueBody":{"id":73454,"nodeType":"Block","src":"17502:88:111","statements":[{"expression":{"id":73452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73447,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17516:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73449,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17555:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73450,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17564:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73448,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73606,"src":"17535:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17535:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17516:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73453,"nodeType":"ExpressionStatement","src":"17516:63:111"}]}},"id":73470,"nodeType":"IfStatement","src":"17303:441:111","trueBody":{"id":73441,"nodeType":"Block","src":"17360:82:111","statements":[{"expression":{"id":73439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73435,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17374:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73437,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17416:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73436,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73564,"src":"17393:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17393:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17374:57:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73440,"nodeType":"ExpressionStatement","src":"17374:57:111"}]}},{"assignments":[73472],"declarations":[{"constant":false,"id":73472,"mutability":"mutable","name":"isActivated","nameLocation":"17758:11:111","nodeType":"VariableDeclaration","scope":73497,"src":"17753:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73471,"name":"bool","nodeType":"ElementaryTypeName","src":"17753:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73481,"initialValue":{"arguments":[{"id":73475,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17818:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73478,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17835:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17827:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73476,"name":"address","nodeType":"ElementaryTypeName","src":"17827:7:111","typeDescriptions":{}}},"id":73479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17827:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73473,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"17772:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17790:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77088,"src":"17772:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17772:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"17753:88:111"},{"condition":{"id":73482,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73472,"src":"17855:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73488,"nodeType":"IfStatement","src":"17851:82:111","trueBody":{"id":73487,"nodeType":"Block","src":"17868:65:111","statements":[{"expression":{"id":73485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73483,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"17882:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":73484,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17906:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17882:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73486,"nodeType":"ExpressionStatement","src":"17882:40:111"}]}},{"eventCall":{"arguments":[{"id":73490,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17962:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73491,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17971:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73492,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17987:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73489,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72648,"src":"17947:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17947:57:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73494,"nodeType":"EmitStatement","src":"17942:62:111"},{"expression":{"id":73495,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"18021:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73413,"id":73496,"nodeType":"Return","src":"18014:23:111"}]},"baseFunctions":[72365],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"16996:13:111","parameters":{"id":73410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73407,"mutability":"mutable","name":"_member","nameLocation":"17018:7:111","nodeType":"VariableDeclaration","scope":73498,"src":"17010:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73406,"name":"address","nodeType":"ElementaryTypeName","src":"17010:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73409,"mutability":"mutable","name":"_amountToStake","nameLocation":"17035:14:111","nodeType":"VariableDeclaration","scope":73498,"src":"17027:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73408,"name":"uint256","nodeType":"ElementaryTypeName","src":"17027:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17009:41:111"},"returnParameters":{"id":73413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73498,"src":"17069:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73411,"name":"uint256","nodeType":"ElementaryTypeName","src":"17069:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17068:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73554,"nodeType":"FunctionDefinition","src":"18050:681:111","nodes":[],"body":{"id":73553,"nodeType":"Block","src":"18143:588:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73507,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72998,"src":"18153:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18153:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73509,"nodeType":"ExpressionStatement","src":"18153:23:111"},{"assignments":[73511],"declarations":[{"constant":false,"id":73511,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18240:16:111","nodeType":"VariableDeclaration","scope":73553,"src":"18232:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18232:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73513,"initialValue":{"hexValue":"30","id":73512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18259:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18232:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73514,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"18274:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73515,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"18289:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18304:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"18289:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18316:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72388,"src":"18289:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"18274:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73519,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"18329:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73520,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"18344:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18359:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"18344:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18371:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72387,"src":"18344:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"18329:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18274:103:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":73539,"nodeType":"Block","src":"18475:93:111","statements":[{"expression":{"id":73537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73532,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18489:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73534,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"18531:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73535,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"18540:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73533,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73768,"src":"18508:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18508:49:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18489:68:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73538,"nodeType":"ExpressionStatement","src":"18489:68:111"}]},"id":73540,"nodeType":"IfStatement","src":"18270:298:111","trueBody":{"id":73531,"nodeType":"Block","src":"18379:90:111","statements":[{"expression":{"id":73529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73525,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18393:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73527,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"18441:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73526,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73694,"src":"18412:28:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18412:46:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18393:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73530,"nodeType":"ExpressionStatement","src":"18393:65:111"}]}},{"expression":{"id":73543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73541,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"18577:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":73542,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18601:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18577:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73544,"nodeType":"ExpressionStatement","src":"18577:40:111"},{"eventCall":{"arguments":[{"id":73546,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"18647:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73547,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"18656:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73548,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18674:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73545,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72656,"src":"18632:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18632:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73550,"nodeType":"EmitStatement","src":"18627:64:111"},{"expression":{"id":73551,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18708:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73506,"id":73552,"nodeType":"Return","src":"18701:23:111"}]},"baseFunctions":[72374],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18059:13:111","parameters":{"id":73503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73500,"mutability":"mutable","name":"_member","nameLocation":"18081:7:111","nodeType":"VariableDeclaration","scope":73554,"src":"18073:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73499,"name":"address","nodeType":"ElementaryTypeName","src":"18073:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73502,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18098:16:111","nodeType":"VariableDeclaration","scope":73554,"src":"18090:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73501,"name":"uint256","nodeType":"ElementaryTypeName","src":"18090:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18072:43:111"},"returnParameters":{"id":73506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73554,"src":"18134:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73504,"name":"uint256","nodeType":"ElementaryTypeName","src":"18134:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18133:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73564,"nodeType":"FunctionDefinition","src":"18737:126:111","nodes":[],"body":{"id":73563,"nodeType":"Block","src":"18825:38:111","nodes":[],"statements":[{"expression":{"id":73561,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73556,"src":"18842:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73560,"id":73562,"nodeType":"Return","src":"18835:21:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"18746:22:111","parameters":{"id":73557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73556,"mutability":"mutable","name":"_amountToStake","nameLocation":"18777:14:111","nodeType":"VariableDeclaration","scope":73564,"src":"18769:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73555,"name":"uint256","nodeType":"ElementaryTypeName","src":"18769:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18768:24:111"},"returnParameters":{"id":73560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73564,"src":"18816:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73558,"name":"uint256","nodeType":"ElementaryTypeName","src":"18816:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18815:9:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73606,"nodeType":"FunctionDefinition","src":"18869:624:111","nodes":[],"body":{"id":73605,"nodeType":"Block","src":"18971:522:111","nodes":[],"statements":[{"assignments":[73574],"declarations":[{"constant":false,"id":73574,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"18989:16:111","nodeType":"VariableDeclaration","scope":73605,"src":"18981:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73573,"name":"uint256","nodeType":"ElementaryTypeName","src":"18981:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73576,"initialValue":{"id":73575,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73568,"src":"19008:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18981:41:111"},{"assignments":[73578],"declarations":[{"constant":false,"id":73578,"mutability":"mutable","name":"memberPower","nameLocation":"19104:11:111","nodeType":"VariableDeclaration","scope":73605,"src":"19096:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73577,"name":"uint256","nodeType":"ElementaryTypeName","src":"19096:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73587,"initialValue":{"arguments":[{"id":73581,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73566,"src":"19161:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73584,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19178:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19170:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73582,"name":"address","nodeType":"ElementaryTypeName","src":"19170:7:111","typeDescriptions":{}}},"id":73585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19170:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73579,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"19118:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19136:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"19118:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19118:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19096:88:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73588,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73578,"src":"19250:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73589,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73574,"src":"19264:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19250:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":73591,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"19283:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19295:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"19283:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19250:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73602,"nodeType":"IfStatement","src":"19246:139:111","trueBody":{"id":73601,"nodeType":"Block","src":"19306:79:111","statements":[{"expression":{"id":73599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73594,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73574,"src":"19320:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73595,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"19339:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19351:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"19339:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73597,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73578,"src":"19363:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19339:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19320:54:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73600,"nodeType":"ExpressionStatement","src":"19320:54:111"}]}},{"expression":{"id":73603,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73574,"src":"19470:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73572,"id":73604,"nodeType":"Return","src":"19463:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"18878:19:111","parameters":{"id":73569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73566,"mutability":"mutable","name":"_member","nameLocation":"18906:7:111","nodeType":"VariableDeclaration","scope":73606,"src":"18898:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73565,"name":"address","nodeType":"ElementaryTypeName","src":"18898:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73568,"mutability":"mutable","name":"_amountToStake","nameLocation":"18923:14:111","nodeType":"VariableDeclaration","scope":73606,"src":"18915:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73567,"name":"uint256","nodeType":"ElementaryTypeName","src":"18915:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18897:41:111"},"returnParameters":{"id":73572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73606,"src":"18962:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73570,"name":"uint256","nodeType":"ElementaryTypeName","src":"18962:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18961:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73684,"nodeType":"FunctionDefinition","src":"19499:733:111","nodes":[],"body":{"id":73683,"nodeType":"Block","src":"19604:628:111","nodes":[],"statements":[{"assignments":[73616],"declarations":[{"constant":false,"id":73616,"mutability":"mutable","name":"totalStake","nameLocation":"19622:10:111","nodeType":"VariableDeclaration","scope":73683,"src":"19614:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73615,"name":"uint256","nodeType":"ElementaryTypeName","src":"19614:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73623,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73619,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73608,"src":"19675:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73617,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"19635:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19653:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78113,"src":"19635:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19635:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73621,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73610,"src":"19686:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19635:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19614:86:111"},{"assignments":[73625],"declarations":[{"constant":false,"id":73625,"mutability":"mutable","name":"decimal","nameLocation":"19719:7:111","nodeType":"VariableDeclaration","scope":73683,"src":"19711:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73624,"name":"uint256","nodeType":"ElementaryTypeName","src":"19711:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73627,"initialValue":{"hexValue":"3138","id":73626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19729:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"19711:20:111"},{"clauses":[{"block":{"id":73648,"nodeType":"Block","src":"19829:52:111","statements":[{"expression":{"id":73646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73641,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73625,"src":"19843:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73644,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73639,"src":"19861:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19853:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73642,"name":"uint256","nodeType":"ElementaryTypeName","src":"19853:7:111","typeDescriptions":{}}},"id":73645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19853:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19843:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73647,"nodeType":"ExpressionStatement","src":"19843:27:111"}]},"errorName":"","id":73649,"nodeType":"TryCatchClause","parameters":{"id":73640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73639,"mutability":"mutable","name":"_decimal","nameLocation":"19819:8:111","nodeType":"VariableDeclaration","scope":73649,"src":"19813:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73638,"name":"uint8","nodeType":"ElementaryTypeName","src":"19813:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"19812:16:111"},"src":"19804:77:111"},{"block":{"id":73650,"nodeType":"Block","src":"19888:64:111","statements":[]},"errorName":"","id":73651,"nodeType":"TryCatchClause","src":"19882:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73631,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"19759:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19777:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77043,"src":"19759:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19759:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19751:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73629,"name":"address","nodeType":"ElementaryTypeName","src":"19751:7:111","typeDescriptions":{}}},"id":73634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19751:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73628,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"19745:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19745:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19793:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"19745:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19745:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73652,"nodeType":"TryStatement","src":"19741:211:111"},{"assignments":[73654],"declarations":[{"constant":false,"id":73654,"mutability":"mutable","name":"newTotalPoints","nameLocation":"19969:14:111","nodeType":"VariableDeclaration","scope":73683,"src":"19961:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73653,"name":"uint256","nodeType":"ElementaryTypeName","src":"19961:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73663,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73657,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73616,"src":"19996:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20009:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73659,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73625,"src":"20015:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20009:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19996:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73655,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"19986:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19991:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"19986:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19986:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19961:62:111"},{"assignments":[73665],"declarations":[{"constant":false,"id":73665,"mutability":"mutable","name":"currentPoints","nameLocation":"20041:13:111","nodeType":"VariableDeclaration","scope":73683,"src":"20033:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73664,"name":"uint256","nodeType":"ElementaryTypeName","src":"20033:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73674,"initialValue":{"arguments":[{"id":73668,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73608,"src":"20100:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73671,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20117:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20109:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73669,"name":"address","nodeType":"ElementaryTypeName","src":"20109:7:111","typeDescriptions":{}}},"id":73672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20109:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73666,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"20057:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20075:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"20057:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20057:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20033:90:111"},{"assignments":[73676],"declarations":[{"constant":false,"id":73676,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20142:16:111","nodeType":"VariableDeclaration","scope":73683,"src":"20134:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73675,"name":"uint256","nodeType":"ElementaryTypeName","src":"20134:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73680,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73677,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73654,"src":"20161:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73678,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73665,"src":"20178:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20161:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20134:57:111"},{"expression":{"id":73681,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73676,"src":"20209:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73614,"id":73682,"nodeType":"Return","src":"20202:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19508:22:111","parameters":{"id":73611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73608,"mutability":"mutable","name":"_member","nameLocation":"19539:7:111","nodeType":"VariableDeclaration","scope":73684,"src":"19531:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73607,"name":"address","nodeType":"ElementaryTypeName","src":"19531:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73610,"mutability":"mutable","name":"_amountToStake","nameLocation":"19556:14:111","nodeType":"VariableDeclaration","scope":73684,"src":"19548:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73609,"name":"uint256","nodeType":"ElementaryTypeName","src":"19548:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19530:41:111"},"returnParameters":{"id":73614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73684,"src":"19595:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73612,"name":"uint256","nodeType":"ElementaryTypeName","src":"19595:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19594:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73694,"nodeType":"FunctionDefinition","src":"20238:136:111","nodes":[],"body":{"id":73693,"nodeType":"Block","src":"20334:40:111","nodes":[],"statements":[{"expression":{"id":73691,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73686,"src":"20351:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73690,"id":73692,"nodeType":"Return","src":"20344:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20247:28:111","parameters":{"id":73687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73686,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20284:16:111","nodeType":"VariableDeclaration","scope":73694,"src":"20276:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73685,"name":"uint256","nodeType":"ElementaryTypeName","src":"20276:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20275:26:111"},"returnParameters":{"id":73690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73689,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73694,"src":"20325:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73688,"name":"uint256","nodeType":"ElementaryTypeName","src":"20325:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20324:9:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73768,"nodeType":"FunctionDefinition","src":"20380:811:111","nodes":[],"body":{"id":73767,"nodeType":"Block","src":"20487:704:111","nodes":[],"statements":[{"assignments":[73704],"declarations":[{"constant":false,"id":73704,"mutability":"mutable","name":"decimal","nameLocation":"20505:7:111","nodeType":"VariableDeclaration","scope":73767,"src":"20497:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73703,"name":"uint256","nodeType":"ElementaryTypeName","src":"20497:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73706,"initialValue":{"hexValue":"3138","id":73705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20515:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20497:20:111"},{"clauses":[{"block":{"id":73727,"nodeType":"Block","src":"20615:52:111","statements":[{"expression":{"id":73725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73720,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73704,"src":"20629:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73723,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73718,"src":"20647:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20639:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73721,"name":"uint256","nodeType":"ElementaryTypeName","src":"20639:7:111","typeDescriptions":{}}},"id":73724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20639:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20629:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73726,"nodeType":"ExpressionStatement","src":"20629:27:111"}]},"errorName":"","id":73728,"nodeType":"TryCatchClause","parameters":{"id":73719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73718,"mutability":"mutable","name":"_decimal","nameLocation":"20605:8:111","nodeType":"VariableDeclaration","scope":73728,"src":"20599:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73717,"name":"uint8","nodeType":"ElementaryTypeName","src":"20599:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20598:16:111"},"src":"20590:77:111"},{"block":{"id":73729,"nodeType":"Block","src":"20674:64:111","statements":[]},"errorName":"","id":73730,"nodeType":"TryCatchClause","src":"20668:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73710,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"20545:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20563:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77043,"src":"20545:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20545:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20537:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73708,"name":"address","nodeType":"ElementaryTypeName","src":"20537:7:111","typeDescriptions":{}}},"id":73713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20537:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73707,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"20531:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20531:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20579:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"20531:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20531:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73731,"nodeType":"TryStatement","src":"20527:211:111"},{"assignments":[73733],"declarations":[{"constant":false,"id":73733,"mutability":"mutable","name":"newTotalStake","nameLocation":"20817:13:111","nodeType":"VariableDeclaration","scope":73767,"src":"20809:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73732,"name":"uint256","nodeType":"ElementaryTypeName","src":"20809:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73740,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73736,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73696,"src":"20873:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73734,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"20833:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20851:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78113,"src":"20833:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20833:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73738,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73698,"src":"20884:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20833:67:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20809:91:111"},{"assignments":[73742],"declarations":[{"constant":false,"id":73742,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20974:14:111","nodeType":"VariableDeclaration","scope":73767,"src":"20966:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73741,"name":"uint256","nodeType":"ElementaryTypeName","src":"20966:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73751,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73745,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73733,"src":"21001:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21017:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73747,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73704,"src":"21023:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21017:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21001:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73743,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"20991:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20996:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"20991:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20991:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20966:65:111"},{"assignments":[73753],"declarations":[{"constant":false,"id":73753,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21049:16:111","nodeType":"VariableDeclaration","scope":73767,"src":"21041:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73752,"name":"uint256","nodeType":"ElementaryTypeName","src":"21041:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73764,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73756,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73696,"src":"21111:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73759,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21128:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21120:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73757,"name":"address","nodeType":"ElementaryTypeName","src":"21120:7:111","typeDescriptions":{}}},"id":73760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21120:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73754,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"21068:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21086:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"21068:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21068:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73762,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73742,"src":"21137:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21068:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21041:110:111"},{"expression":{"id":73765,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73753,"src":"21168:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73702,"id":73766,"nodeType":"Return","src":"21161:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20389:22:111","parameters":{"id":73699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73696,"mutability":"mutable","name":"_member","nameLocation":"20420:7:111","nodeType":"VariableDeclaration","scope":73768,"src":"20412:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73695,"name":"address","nodeType":"ElementaryTypeName","src":"20412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73698,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20437:16:111","nodeType":"VariableDeclaration","scope":73768,"src":"20429:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73697,"name":"uint256","nodeType":"ElementaryTypeName","src":"20429:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20411:43:111"},"returnParameters":{"id":73702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73701,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73768,"src":"20478:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73700,"name":"uint256","nodeType":"ElementaryTypeName","src":"20478:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20477:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73777,"nodeType":"FunctionDefinition","src":"21197:99:111","nodes":[],"body":{"id":73776,"nodeType":"Block","src":"21251:45:111","nodes":[],"statements":[{"expression":{"expression":{"id":73773,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"21268:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73774,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21280:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"21268:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73772,"id":73775,"nodeType":"Return","src":"21261:28:111"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21206:12:111","parameters":{"id":73769,"nodeType":"ParameterList","parameters":[],"src":"21218:2:111"},"returnParameters":{"id":73772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73777,"src":"21242:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73770,"name":"uint256","nodeType":"ElementaryTypeName","src":"21242:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21241:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73786,"nodeType":"FunctionDefinition","src":"21302:110:111","nodes":[],"body":{"id":73785,"nodeType":"Block","src":"21377:35:111","nodes":[],"statements":[{"expression":{"id":73783,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"21394:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":73782,"id":73784,"nodeType":"Return","src":"21387:18:111"}]},"baseFunctions":[72380],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21311:14:111","parameters":{"id":73778,"nodeType":"ParameterList","parameters":[],"src":"21325:2:111"},"returnParameters":{"id":73782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73786,"src":"21349:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":73780,"nodeType":"UserDefinedTypeName","pathNode":{"id":73779,"name":"StrategyStruct.PointSystem","nameLocations":["21349:14:111","21364:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"21349:26:111"},"referencedDeclaration":72390,"src":"21349:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21348:28:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73797,"nodeType":"FunctionDefinition","src":"21531:226:111","nodes":[],"body":{"id":73796,"nodeType":"Block","src":"21609:148:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73793,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72523,"src":"21674:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21674:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73795,"nodeType":"RevertStatement","src":"21667:23:111"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"21540:15:111","parameters":{"id":73791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73797,"src":"21556:39:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73788,"nodeType":"UserDefinedTypeName","pathNode":{"id":73787,"name":"StrategyStruct.ProposalSupport","nameLocations":["21556:14:111","21571:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"21556:30:111"},"referencedDeclaration":72456,"src":"21556:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73789,"nodeType":"ArrayTypeName","src":"21556:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"21555:41:111"},"returnParameters":{"id":73792,"nodeType":"ParameterList","parameters":[],"src":"21609:0:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":73862,"nodeType":"FunctionDefinition","src":"21903:650:111","nodes":[],"body":{"id":73861,"nodeType":"Block","src":"21977:576:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":73806,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22007:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73805,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72982,"src":"21987:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":73807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73808,"nodeType":"ExpressionStatement","src":"21987:28:111"},{"condition":{"id":73812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22029:27:111","subExpression":{"arguments":[{"id":73810,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22048:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73809,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"22030:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22030:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73817,"nodeType":"IfStatement","src":"22025:90:111","trueBody":{"id":73816,"nodeType":"Block","src":"22058:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73813,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"22079:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22079:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73815,"nodeType":"RevertStatement","src":"22072:32:111"}]}},{"assignments":[73819],"declarations":[{"constant":false,"id":73819,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22175:23:111","nodeType":"VariableDeclaration","scope":73861,"src":"22170:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73818,"name":"bool","nodeType":"ElementaryTypeName","src":"22170:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73828,"initialValue":{"arguments":[{"id":73822,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22247:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73825,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22264:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22256:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73823,"name":"address","nodeType":"ElementaryTypeName","src":"22256:7:111","typeDescriptions":{}}},"id":73826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22256:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73820,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"22201:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22219:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77088,"src":"22201:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22201:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22170:100:111"},{"condition":{"id":73830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22284:24:111","subExpression":{"id":73829,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73819,"src":"22285:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73835,"nodeType":"IfStatement","src":"22280:78:111","trueBody":{"id":73834,"nodeType":"Block","src":"22310:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73831,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72519,"src":"22331:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22331:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73833,"nodeType":"RevertStatement","src":"22324:23:111"}]}},{"assignments":[73841],"declarations":[{"constant":false,"id":73841,"mutability":"mutable","name":"pv","nameLocation":"22407:2:111","nodeType":"VariableDeclaration","scope":73861,"src":"22367:42:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73839,"nodeType":"UserDefinedTypeName","pathNode":{"id":73838,"name":"StrategyStruct.ProposalSupport","nameLocations":["22367:14:111","22382:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"22367:30:111"},"referencedDeclaration":72456,"src":"22367:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73840,"nodeType":"ArrayTypeName","src":"22367:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":73850,"initialValue":{"arguments":[{"id":73844,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73799,"src":"22423:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":73845,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"22431:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22446:15:111","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"22431:30:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$72456_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":73847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22431:32:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":73848,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22430:34:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":73842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22412:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22416:6:111","memberName":"decode","nodeType":"MemberAccess","src":"22412:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22412:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22367:98:111"},{"expression":{"arguments":[{"id":73852,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22500:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73853,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73841,"src":"22509:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73851,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74574,"src":"22475:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22475:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73855,"nodeType":"ExpressionStatement","src":"22475:37:111"},{"expression":{"arguments":[{"id":73857,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22534:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73858,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73841,"src":"22543:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73856,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74861,"src":"22522:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22522:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73860,"nodeType":"ExpressionStatement","src":"22522:24:111"}]},"baseFunctions":[72208],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"21912:9:111","overrides":{"id":73803,"nodeType":"OverrideSpecifier","overrides":[],"src":"21968:8:111"},"parameters":{"id":73802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73799,"mutability":"mutable","name":"_data","nameLocation":"21935:5:111","nodeType":"VariableDeclaration","scope":73862,"src":"21922:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73798,"name":"bytes","nodeType":"ElementaryTypeName","src":"21922:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73801,"mutability":"mutable","name":"_sender","nameLocation":"21950:7:111","nodeType":"VariableDeclaration","scope":73862,"src":"21942:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73800,"name":"address","nodeType":"ElementaryTypeName","src":"21942:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21921:37:111"},"returnParameters":{"id":73804,"nodeType":"ParameterList","parameters":[],"src":"21977:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74029,"nodeType":"FunctionDefinition","src":"22809:1879:111","nodes":[],"body":{"id":74028,"nodeType":"Block","src":"22895:1793:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73873,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73867,"src":"22954:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22960:6:111","memberName":"length","nodeType":"MemberAccess","src":"22954:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":73875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22970:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22954:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73881,"nodeType":"IfStatement","src":"22950:76:111","trueBody":{"id":73880,"nodeType":"Block","src":"22973:53:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73877,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72555,"src":"22994:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22994:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73879,"nodeType":"RevertStatement","src":"22987:28:111"}]}},{"assignments":[73883],"declarations":[{"constant":false,"id":73883,"mutability":"mutable","name":"proposalId","nameLocation":"23044:10:111","nodeType":"VariableDeclaration","scope":74028,"src":"23036:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73882,"name":"uint256","nodeType":"ElementaryTypeName","src":"23036:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73891,"initialValue":{"arguments":[{"id":73886,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73867,"src":"23068:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":73888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23076:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73887,"name":"uint256","nodeType":"ElementaryTypeName","src":"23076:7:111","typeDescriptions":{}}}],"id":73889,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23075:9:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":73884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23057:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23061:6:111","memberName":"decode","nodeType":"MemberAccess","src":"23057:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23057:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23036:49:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73892,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23100:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23114:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23100:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73899,"nodeType":"IfStatement","src":"23096:77:111","trueBody":{"id":73898,"nodeType":"Block","src":"23117:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73895,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72557,"src":"23138:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23138:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73897,"nodeType":"RevertStatement","src":"23131:31:111"}]}},{"assignments":[73904],"declarations":[{"constant":false,"id":73904,"mutability":"mutable","name":"proposal","nameLocation":"23214:8:111","nodeType":"VariableDeclaration","scope":74028,"src":"23182:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73903,"nodeType":"UserDefinedTypeName","pathNode":{"id":73902,"name":"StrategyStruct.Proposal","nameLocations":["23182:14:111","23197:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"23182:23:111"},"referencedDeclaration":72451,"src":"23182:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73908,"initialValue":{"baseExpression":{"id":73905,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"23225:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73907,"indexExpression":{"id":73906,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23235:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23225:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23182:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"id":73913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73909,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72756,"src":"23261:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73910,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"23277:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23292:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72385,"src":"23277:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72385_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23305:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72383,"src":"23277:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"23261:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74027,"nodeType":"IfStatement","src":"23257:1365:111","trueBody":{"id":74026,"nodeType":"Block","src":"23314:1308:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73914,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23332:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23341:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"23332:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":73916,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23355:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23332:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73923,"nodeType":"IfStatement","src":"23328:108:111","trueBody":{"id":73922,"nodeType":"Block","src":"23367:69:111","statements":[{"errorCall":{"arguments":[{"id":73919,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23410:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73918,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"23392:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":73920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23392:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73921,"nodeType":"RevertStatement","src":"23385:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73924,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23454:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23463:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23454:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":73926,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"23481:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23454:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73936,"nodeType":"IfStatement","src":"23450:152:111","trueBody":{"id":73935,"nodeType":"Block","src":"23493:109:111","statements":[{"errorCall":{"arguments":[{"id":73929,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23538:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73930,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23550:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23559:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23550:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73932,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"23576:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73928,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72583,"src":"23518:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":73933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23518:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73934,"nodeType":"RevertStatement","src":"23511:76:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"id":73942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73937,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23620:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23629:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"23620:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":73939,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"23647:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23662:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"23647:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":73941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23677:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"23647:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"23620:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73948,"nodeType":"IfStatement","src":"23616:138:111","trueBody":{"id":73947,"nodeType":"Block","src":"23685:69:111","statements":[{"errorCall":{"arguments":[{"id":73944,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23728:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73943,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72561,"src":"23710:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":73945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23710:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73946,"nodeType":"RevertStatement","src":"23703:36:111"}]}},{"assignments":[73950],"declarations":[{"constant":false,"id":73950,"mutability":"mutable","name":"convictionLast","nameLocation":"23776:14:111","nodeType":"VariableDeclaration","scope":74026,"src":"23768:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73949,"name":"uint256","nodeType":"ElementaryTypeName","src":"23768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73954,"initialValue":{"arguments":[{"id":73952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23818:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73951,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"23793:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":73953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23793:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23768:61:111"},{"assignments":[73956],"declarations":[{"constant":false,"id":73956,"mutability":"mutable","name":"threshold","nameLocation":"23851:9:111","nodeType":"VariableDeclaration","scope":74026,"src":"23843:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73955,"name":"uint256","nodeType":"ElementaryTypeName","src":"23843:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73961,"initialValue":{"arguments":[{"expression":{"id":73958,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23882:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23891:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23882:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73957,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75047,"src":"23863:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":73960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23863:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23843:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73962,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73950,"src":"23926:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":73963,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73956,"src":"23943:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23926:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73965,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23956:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23965:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23956:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":73967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23983:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23956:28:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23926:58:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73974,"nodeType":"IfStatement","src":"23922:137:111","trueBody":{"id":73973,"nodeType":"Block","src":"23986:73:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73970,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72573,"src":"24011:31:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24011:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73972,"nodeType":"RevertStatement","src":"24004:40:111"}]}},{"assignments":[73979],"declarations":[{"constant":false,"id":73979,"mutability":"mutable","name":"pool","nameLocation":"24091:4:111","nodeType":"VariableDeclaration","scope":74026,"src":"24073:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73978,"nodeType":"UserDefinedTypeName","pathNode":{"id":73977,"name":"IAllo.Pool","nameLocations":["24073:5:111","24079:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24073:10:111"},"referencedDeclaration":2319,"src":"24073:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":73984,"initialValue":{"arguments":[{"id":73982,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71732,"src":"24111:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73980,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71726,"src":"24098:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":73981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24103:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24098:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":73983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24098:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24073:45:111"},{"expression":{"id":73988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73985,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"24133:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":73986,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24147:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73987,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24156:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"24147:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24133:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73989,"nodeType":"ExpressionStatement","src":"24133:38:111"},{"expression":{"arguments":[{"expression":{"id":73991,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73979,"src":"24209:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":73992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24214:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24209:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24221:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24230:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"24221:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73995,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24243:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73996,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24252:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"24243:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73990,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24193:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":73997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24193:75:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73998,"nodeType":"ExpressionStatement","src":"24193:75:111"},{"expression":{"id":74005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73999,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24299:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24308:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"24299:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":74002,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"24325:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":74003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24340:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"24325:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":74004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24355:8:111","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":72407,"src":"24325:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24299:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":74006,"nodeType":"ExpressionStatement","src":"24299:64:111"},{"expression":{"arguments":[{"id":74010,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"24429:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74011,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24441:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24450:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"24441:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":74013,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24461:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24470:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"24461:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":74015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24482:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"24461:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74007,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"24377:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":74009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24393:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"24377:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":74016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24377:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74017,"nodeType":"ExpressionStatement","src":"24377:143:111"},{"eventCall":{"arguments":[{"id":74019,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"24552:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74020,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24564:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24573:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"24564:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74022,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24586:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74023,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24595:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"24586:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74018,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[72626,2858],"referencedDeclaration":72626,"src":"24540:11:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":74024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24540:71:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74025,"nodeType":"EmitStatement","src":"24535:76:111"}]}}]},"baseFunctions":[72219],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"22818:11:111","overrides":{"id":73871,"nodeType":"OverrideSpecifier","overrides":[],"src":"22886:8:111"},"parameters":{"id":73870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74029,"src":"22830:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73863,"name":"address","nodeType":"ElementaryTypeName","src":"22830:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73864,"nodeType":"ArrayTypeName","src":"22830:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":73867,"mutability":"mutable","name":"_data","nameLocation":"22861:5:111","nodeType":"VariableDeclaration","scope":74029,"src":"22848:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73866,"name":"bytes","nodeType":"ElementaryTypeName","src":"22848:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74029,"src":"22868:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73868,"name":"address","nodeType":"ElementaryTypeName","src":"22868:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22829:47:111"},"returnParameters":{"id":73872,"nodeType":"ParameterList","parameters":[],"src":"22895:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74083,"nodeType":"FunctionDefinition","src":"24694:735:111","nodes":[],"body":{"id":74082,"nodeType":"Block","src":"24783:646:111","nodes":[],"statements":[{"assignments":[74040],"declarations":[{"constant":false,"id":74040,"mutability":"mutable","name":"proposal","nameLocation":"24825:8:111","nodeType":"VariableDeclaration","scope":74082,"src":"24793:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74039,"nodeType":"UserDefinedTypeName","pathNode":{"id":74038,"name":"StrategyStruct.Proposal","nameLocations":["24793:14:111","24808:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"24793:23:111"},"referencedDeclaration":72451,"src":"24793:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74044,"initialValue":{"baseExpression":{"id":74041,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"24836:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74043,"indexExpression":{"id":74042,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74031,"src":"24846:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24836:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24793:64:111"},{"assignments":[74046,74048],"declarations":[{"constant":false,"id":74046,"mutability":"mutable","name":"convictionLast","nameLocation":"24951:14:111","nodeType":"VariableDeclaration","scope":74082,"src":"24943:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74045,"name":"uint256","nodeType":"ElementaryTypeName","src":"24943:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74048,"mutability":"mutable","name":"blockNumber","nameLocation":"24975:11:111","nodeType":"VariableDeclaration","scope":74082,"src":"24967:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74047,"name":"uint256","nodeType":"ElementaryTypeName","src":"24967:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74054,"initialValue":{"arguments":[{"id":74050,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25036:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":74051,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25046:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25055:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"25046:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74049,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75243,"src":"25002:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":74053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25002:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24942:126:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74055,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"25083:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25101:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25083:19:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74058,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74048,"src":"25106:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25121:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25106:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25083:39:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74068,"nodeType":"IfStatement","src":"25079:110:111","trueBody":{"id":74067,"nodeType":"Block","src":"25124:65:111","statements":[{"expression":{"id":74065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74062,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"25138:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74063,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25155:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25164:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"25155:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25138:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74066,"nodeType":"ExpressionStatement","src":"25138:40:111"}]}},{"assignments":[74070],"declarations":[{"constant":false,"id":74070,"mutability":"mutable","name":"threshold","nameLocation":"25206:9:111","nodeType":"VariableDeclaration","scope":74082,"src":"25198:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74069,"name":"uint256","nodeType":"ElementaryTypeName","src":"25198:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74075,"initialValue":{"arguments":[{"expression":{"id":74072,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25237:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25246:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"25237:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74071,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75047,"src":"25218:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25218:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25198:64:111"},{"expression":{"id":74080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74076,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74034,"src":"25379:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74077,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"25395:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":74078,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74070,"src":"25413:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25395:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25379:43:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74081,"nodeType":"ExpressionStatement","src":"25379:43:111"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"24703:18:111","parameters":{"id":74032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74031,"mutability":"mutable","name":"proposalId","nameLocation":"24730:10:111","nodeType":"VariableDeclaration","scope":74083,"src":"24722:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74030,"name":"uint256","nodeType":"ElementaryTypeName","src":"24722:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24721:20:111"},"returnParameters":{"id":74035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74034,"mutability":"mutable","name":"canBeExecuted","nameLocation":"24768:13:111","nodeType":"VariableDeclaration","scope":74083,"src":"24763:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74033,"name":"bool","nodeType":"ElementaryTypeName","src":"24763:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24762:20:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74105,"nodeType":"FunctionDefinition","src":"25719:220:111","nodes":[],"body":{"id":74104,"nodeType":"Block","src":"25810:129:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74092,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74085,"src":"25870:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25894:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25886:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74093,"name":"address","nodeType":"ElementaryTypeName","src":"25886:7:111","typeDescriptions":{}}},"id":74096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25886:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25870:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":74100,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25917:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25924:8:111","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"25917:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":74102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25870:62:111","trueExpression":{"expression":{"id":74098,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25899:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25906:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"25899:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":74091,"id":74103,"nodeType":"Return","src":"25863:69:111"}]},"baseFunctions":[72239],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"25728:19:111","overrides":{"id":74087,"nodeType":"OverrideSpecifier","overrides":[],"src":"25784:8:111"},"parameters":{"id":74086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74085,"mutability":"mutable","name":"_recipientId","nameLocation":"25756:12:111","nodeType":"VariableDeclaration","scope":74105,"src":"25748:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74084,"name":"address","nodeType":"ElementaryTypeName","src":"25748:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25747:22:111"},"returnParameters":{"id":74091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74105,"src":"25802:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":74089,"nodeType":"UserDefinedTypeName","pathNode":{"id":74088,"name":"Status","nameLocations":["25802:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"25802:6:111"},"referencedDeclaration":2815,"src":"25802:6:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"25801:8:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74124,"nodeType":"FunctionDefinition","src":"26068:288:111","nodes":[],"body":{"id":74123,"nodeType":"Block","src":"26178:178:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74120,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72523,"src":"26238:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26238:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74122,"nodeType":"RevertStatement","src":"26231:23:111"}]},"baseFunctions":[72078],"documentation":{"id":74106,"nodeType":"StructuredDocumentation","src":"25945:118:111","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26077:10:111","overrides":{"id":74114,"nodeType":"OverrideSpecifier","overrides":[],"src":"26136:8:111"},"parameters":{"id":74113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74124,"src":"26088:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74107,"name":"address","nodeType":"ElementaryTypeName","src":"26088:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74108,"nodeType":"ArrayTypeName","src":"26088:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74124,"src":"26106:14:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":74110,"name":"bytes","nodeType":"ElementaryTypeName","src":"26106:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":74111,"nodeType":"ArrayTypeName","src":"26106:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26087:34:111"},"returnParameters":{"id":74119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74118,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74124,"src":"26154:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":74116,"nodeType":"UserDefinedTypeName","pathNode":{"id":74115,"name":"PayoutSummary","nameLocations":["26154:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26154:13:111"},"referencedDeclaration":2820,"src":"26154:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":74117,"nodeType":"ArrayTypeName","src":"26154:15:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26153:24:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":74143,"nodeType":"FunctionDefinition","src":"26362:264:111","nodes":[],"body":{"id":74142,"nodeType":"Block","src":"26514:112:111","nodes":[],"statements":[{"expression":{"id":74135,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74128,"src":"26567:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":74136,"nodeType":"ExpressionStatement","src":"26567:5:111"},{"expression":{"arguments":[{"id":74138,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74126,"src":"26603:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":74139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26617:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74137,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"26589:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":74140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26589:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":74134,"id":74141,"nodeType":"Return","src":"26582:37:111"}]},"baseFunctions":[72230],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26371:10:111","overrides":{"id":74130,"nodeType":"OverrideSpecifier","overrides":[],"src":"26462:8:111"},"parameters":{"id":74129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74126,"mutability":"mutable","name":"_recipientId","nameLocation":"26390:12:111","nodeType":"VariableDeclaration","scope":74143,"src":"26382:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74125,"name":"address","nodeType":"ElementaryTypeName","src":"26382:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74128,"mutability":"mutable","name":"_data","nameLocation":"26417:5:111","nodeType":"VariableDeclaration","scope":74143,"src":"26404:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74127,"name":"bytes","nodeType":"ElementaryTypeName","src":"26404:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26381:42:111"},"returnParameters":{"id":74134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74143,"src":"26488:20:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":74132,"nodeType":"UserDefinedTypeName","pathNode":{"id":74131,"name":"PayoutSummary","nameLocations":["26488:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26488:13:111"},"referencedDeclaration":2820,"src":"26488:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"26487:22:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74154,"nodeType":"FunctionDefinition","src":"26632:127:111","nodes":[],"body":{"id":74153,"nodeType":"Block","src":"26709:50:111","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":74150,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74145,"src":"26744:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74149,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72636,"src":"26724:19:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":74151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26724:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74152,"nodeType":"EmitStatement","src":"26719:33:111"}]},"baseFunctions":[72253],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"26641:24:111","overrides":{"id":74147,"nodeType":"OverrideSpecifier","overrides":[],"src":"26700:8:111"},"parameters":{"id":74146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74145,"mutability":"mutable","name":"_amount","nameLocation":"26674:7:111","nodeType":"VariableDeclaration","scope":74154,"src":"26666:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74144,"name":"uint256","nodeType":"ElementaryTypeName","src":"26666:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26665:17:111"},"returnParameters":{"id":74148,"nodeType":"ParameterList","parameters":[],"src":"26709:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":74173,"nodeType":"FunctionDefinition","src":"26854:191:111","nodes":[],"body":{"id":74172,"nodeType":"Block","src":"26939:106:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74162,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74156,"src":"26999:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27021:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27013:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74163,"name":"address","nodeType":"ElementaryTypeName","src":"27013:7:111","typeDescriptions":{}}},"id":74166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27013:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26999:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":74169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27034:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":74170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26999:39:111","trueExpression":{"hexValue":"66616c7365","id":74168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27026:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74161,"id":74171,"nodeType":"Return","src":"26992:46:111"}]},"baseFunctions":[72190],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"26863:17:111","overrides":{"id":74158,"nodeType":"OverrideSpecifier","overrides":[],"src":"26915:8:111"},"parameters":{"id":74157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74156,"mutability":"mutable","name":"_allocator","nameLocation":"26889:10:111","nodeType":"VariableDeclaration","scope":74173,"src":"26881:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74155,"name":"address","nodeType":"ElementaryTypeName","src":"26881:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26880:20:111"},"returnParameters":{"id":74161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74173,"src":"26933:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74159,"name":"bool","nodeType":"ElementaryTypeName","src":"26933:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26932:6:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74183,"nodeType":"FunctionDefinition","src":"27051:86:111","nodes":[],"body":{"id":74182,"nodeType":"Block","src":"27097:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74179,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74175,"src":"27122:7:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74178,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72173,"src":"27107:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":74180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27107:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74181,"nodeType":"ExpressionStatement","src":"27107:23:111"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27060:13:111","parameters":{"id":74176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74175,"mutability":"mutable","name":"_active","nameLocation":"27079:7:111","nodeType":"VariableDeclaration","scope":74183,"src":"27074:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74174,"name":"bool","nodeType":"ElementaryTypeName","src":"27074:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27073:14:111"},"returnParameters":{"id":74177,"nodeType":"ParameterList","parameters":[],"src":"27097:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74271,"nodeType":"FunctionDefinition","src":"27143:836:111","nodes":[],"body":{"id":74270,"nodeType":"Block","src":"27187:792:111","nodes":[],"statements":[{"assignments":[74192],"declarations":[{"constant":false,"id":74192,"mutability":"mutable","name":"proposalsIds","nameLocation":"27262:12:111","nodeType":"VariableDeclaration","scope":74270,"src":"27245:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74190,"name":"uint256","nodeType":"ElementaryTypeName","src":"27245:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74191,"nodeType":"ArrayTypeName","src":"27245:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74196,"initialValue":{"baseExpression":{"id":74193,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"27277:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74195,"indexExpression":{"id":74194,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27298:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27277:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27245:61:111"},{"body":{"id":74268,"nodeType":"Block","src":"27366:607:111","statements":[{"assignments":[74209],"declarations":[{"constant":false,"id":74209,"mutability":"mutable","name":"proposalId","nameLocation":"27388:10:111","nodeType":"VariableDeclaration","scope":74268,"src":"27380:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74208,"name":"uint256","nodeType":"ElementaryTypeName","src":"27380:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74213,"initialValue":{"baseExpression":{"id":74210,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74192,"src":"27401:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74212,"indexExpression":{"id":74211,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74198,"src":"27414:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27401:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27380:36:111"},{"assignments":[74218],"declarations":[{"constant":false,"id":74218,"mutability":"mutable","name":"proposal","nameLocation":"27462:8:111","nodeType":"VariableDeclaration","scope":74268,"src":"27430:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74217,"nodeType":"UserDefinedTypeName","pathNode":{"id":74216,"name":"StrategyStruct.Proposal","nameLocations":["27430:14:111","27445:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"27430:23:111"},"referencedDeclaration":72451,"src":"27430:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74222,"initialValue":{"baseExpression":{"id":74219,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"27473:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74221,"indexExpression":{"id":74220,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74209,"src":"27483:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27473:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27430:64:111"},{"condition":{"arguments":[{"id":74224,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74209,"src":"27527:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74223,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74459,"src":"27512:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27512:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74267,"nodeType":"IfStatement","src":"27508:455:111","trueBody":{"id":74266,"nodeType":"Block","src":"27540:423:111","statements":[{"assignments":[74227],"declarations":[{"constant":false,"id":74227,"mutability":"mutable","name":"stakedPoints","nameLocation":"27566:12:111","nodeType":"VariableDeclaration","scope":74266,"src":"27558:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74226,"name":"uint256","nodeType":"ElementaryTypeName","src":"27558:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74232,"initialValue":{"baseExpression":{"expression":{"id":74228,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27581:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27590:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"27581:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74231,"indexExpression":{"id":74230,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27608:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27581:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27558:58:111"},{"expression":{"id":74239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74233,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27634:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27643:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"27634:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74237,"indexExpression":{"id":74235,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27661:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27634:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":74238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27672:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27634:39:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74240,"nodeType":"ExpressionStatement","src":"27634:39:111"},{"expression":{"id":74245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74241,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27691:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"27700:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"27691:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74244,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74227,"src":"27716:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27691:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74246,"nodeType":"ExpressionStatement","src":"27691:37:111"},{"expression":{"id":74249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74247,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72748,"src":"27746:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74248,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74227,"src":"27761:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27746:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74250,"nodeType":"ExpressionStatement","src":"27746:27:111"},{"expression":{"arguments":[{"id":74252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27818:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74253,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74227,"src":"27828:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74251,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75196,"src":"27791:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27791:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74255,"nodeType":"ExpressionStatement","src":"27791:50:111"},{"eventCall":{"arguments":[{"id":74257,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27877:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74258,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74209,"src":"27886:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":74259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27898:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":74260,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27901:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27910:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"27901:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74262,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27924:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27933:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"27924:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74256,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72668,"src":"27864:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27864:84:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74265,"nodeType":"EmitStatement","src":"27859:89:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74201,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74198,"src":"27336:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74202,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74192,"src":"27340:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27353:6:111","memberName":"length","nodeType":"MemberAccess","src":"27340:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27336:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74269,"initializationExpression":{"assignments":[74198],"declarations":[{"constant":false,"id":74198,"mutability":"mutable","name":"i","nameLocation":"27329:1:111","nodeType":"VariableDeclaration","scope":74269,"src":"27321:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74197,"name":"uint256","nodeType":"ElementaryTypeName","src":"27321:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74200,"initialValue":{"hexValue":"30","id":74199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27333:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27321:13:111"},"loopExpression":{"expression":{"id":74206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27361:3:111","subExpression":{"id":74205,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74198,"src":"27361:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74207,"nodeType":"ExpressionStatement","src":"27361:3:111"},"nodeType":"ForStatement","src":"27316:657:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27152:8:111","parameters":{"id":74186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74185,"mutability":"mutable","name":"_member","nameLocation":"27169:7:111","nodeType":"VariableDeclaration","scope":74271,"src":"27161:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74184,"name":"address","nodeType":"ElementaryTypeName","src":"27161:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27160:17:111"},"returnParameters":{"id":74187,"nodeType":"ParameterList","parameters":[],"src":"27187:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74345,"nodeType":"FunctionDefinition","src":"28541:1038:111","nodes":[],"body":{"id":74344,"nodeType":"Block","src":"29010:569:111","nodes":[],"statements":[{"assignments":[74302],"declarations":[{"constant":false,"id":74302,"mutability":"mutable","name":"proposal","nameLocation":"29052:8:111","nodeType":"VariableDeclaration","scope":74344,"src":"29020:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74301,"nodeType":"UserDefinedTypeName","pathNode":{"id":74300,"name":"StrategyStruct.Proposal","nameLocations":["29020:14:111","29035:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"29020:23:111"},"referencedDeclaration":72451,"src":"29020:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74306,"initialValue":{"baseExpression":{"id":74303,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"29063:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74305,"indexExpression":{"id":74304,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74274,"src":"29073:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29063:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29020:65:111"},{"expression":{"id":74318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74307,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74294,"src":"29096:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74308,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29108:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74309,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29117:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"29108:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29136:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29108:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":74314,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29163:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29172:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"29163:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74313,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75047,"src":"29144:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29144:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29108:80:111","trueExpression":{"hexValue":"30","id":74312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29140:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29096:92:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74319,"nodeType":"ExpressionStatement","src":"29096:92:111"},{"expression":{"components":[{"expression":{"id":74320,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29219:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29228:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"29219:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74322,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29251:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29260:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"29251:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74324,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29285:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29294:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72433,"src":"29285:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74326,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29322:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74327,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29331:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"29322:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74328,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29360:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29369:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"29360:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74330,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29395:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29404:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"29395:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":74332,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29432:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29441:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"29432:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74334,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29464:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29473:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"29464:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74336,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74294,"src":"29501:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":74337,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29524:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29533:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"29524:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74341,"indexExpression":{"expression":{"id":74339,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"29551:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29555:6:111","memberName":"sender","nodeType":"MemberAccess","src":"29551:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29524:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74342,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29205:367:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$72410_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":74297,"id":74343,"nodeType":"Return","src":"29198:374:111"}]},"documentation":{"id":74272,"nodeType":"StructuredDocumentation","src":"27985:551:111","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"28550:11:111","parameters":{"id":74275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74274,"mutability":"mutable","name":"_proposalId","nameLocation":"28570:11:111","nodeType":"VariableDeclaration","scope":74345,"src":"28562:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74273,"name":"uint256","nodeType":"ElementaryTypeName","src":"28562:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28561:21:111"},"returnParameters":{"id":74297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74277,"mutability":"mutable","name":"submitter","nameLocation":"28651:9:111","nodeType":"VariableDeclaration","scope":74345,"src":"28643:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74276,"name":"address","nodeType":"ElementaryTypeName","src":"28643:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74279,"mutability":"mutable","name":"beneficiary","nameLocation":"28682:11:111","nodeType":"VariableDeclaration","scope":74345,"src":"28674:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74278,"name":"address","nodeType":"ElementaryTypeName","src":"28674:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74281,"mutability":"mutable","name":"requestedToken","nameLocation":"28715:14:111","nodeType":"VariableDeclaration","scope":74345,"src":"28707:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74280,"name":"address","nodeType":"ElementaryTypeName","src":"28707:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74283,"mutability":"mutable","name":"requestedAmount","nameLocation":"28751:15:111","nodeType":"VariableDeclaration","scope":74345,"src":"28743:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74282,"name":"uint256","nodeType":"ElementaryTypeName","src":"28743:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74285,"mutability":"mutable","name":"stakedAmount","nameLocation":"28788:12:111","nodeType":"VariableDeclaration","scope":74345,"src":"28780:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74284,"name":"uint256","nodeType":"ElementaryTypeName","src":"28780:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74288,"mutability":"mutable","name":"proposalStatus","nameLocation":"28844:14:111","nodeType":"VariableDeclaration","scope":74345,"src":"28814:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":74287,"nodeType":"UserDefinedTypeName","pathNode":{"id":74286,"name":"StrategyStruct.ProposalStatus","nameLocations":["28814:14:111","28829:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72410,"src":"28814:29:111"},"referencedDeclaration":72410,"src":"28814:29:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":74290,"mutability":"mutable","name":"blockLast","nameLocation":"28880:9:111","nodeType":"VariableDeclaration","scope":74345,"src":"28872:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74289,"name":"uint256","nodeType":"ElementaryTypeName","src":"28872:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74292,"mutability":"mutable","name":"convictionLast","nameLocation":"28911:14:111","nodeType":"VariableDeclaration","scope":74345,"src":"28903:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74291,"name":"uint256","nodeType":"ElementaryTypeName","src":"28903:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74294,"mutability":"mutable","name":"threshold","nameLocation":"28947:9:111","nodeType":"VariableDeclaration","scope":74345,"src":"28939:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74293,"name":"uint256","nodeType":"ElementaryTypeName","src":"28939:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74296,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"28978:17:111","nodeType":"VariableDeclaration","scope":74345,"src":"28970:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74295,"name":"uint256","nodeType":"ElementaryTypeName","src":"28970:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28629:376:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74366,"nodeType":"FunctionDefinition","src":"29585:198:111","nodes":[],"body":{"id":74365,"nodeType":"Block","src":"29667:116:111","nodes":[],"statements":[{"assignments":[74357],"declarations":[{"constant":false,"id":74357,"mutability":"mutable","name":"proposal","nameLocation":"29709:8:111","nodeType":"VariableDeclaration","scope":74365,"src":"29677:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74356,"nodeType":"UserDefinedTypeName","pathNode":{"id":74355,"name":"StrategyStruct.Proposal","nameLocations":["29677:14:111","29692:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"29677:23:111"},"referencedDeclaration":72451,"src":"29677:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74361,"initialValue":{"baseExpression":{"id":74358,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"29720:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74360,"indexExpression":{"id":74359,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74347,"src":"29730:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29720:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29677:65:111"},{"expression":{"expression":{"id":74362,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74357,"src":"29759:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29768:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"29759:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":74352,"id":74364,"nodeType":"Return","src":"29752:24:111"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"29594:11:111","parameters":{"id":74348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74347,"mutability":"mutable","name":"_proposalId","nameLocation":"29614:11:111","nodeType":"VariableDeclaration","scope":74366,"src":"29606:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74346,"name":"uint256","nodeType":"ElementaryTypeName","src":"29606:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29605:21:111"},"returnParameters":{"id":74352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74366,"src":"29650:15:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":74350,"nodeType":"UserDefinedTypeName","pathNode":{"id":74349,"name":"Metadata","nameLocations":["29650:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"29650:8:111"},"referencedDeclaration":3098,"src":"29650:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"29649:17:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74382,"nodeType":"FunctionDefinition","src":"29984:176:111","nodes":[],"body":{"id":74381,"nodeType":"Block","src":"30084:76:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74377,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74369,"src":"30133:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74378,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74371,"src":"30146:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74376,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74424,"src":"30101:31:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":74379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30101:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74375,"id":74380,"nodeType":"Return","src":"30094:59:111"}]},"documentation":{"id":74367,"nodeType":"StructuredDocumentation","src":"29789:190:111","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"29993:21:111","parameters":{"id":74372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74369,"mutability":"mutable","name":"_proposalId","nameLocation":"30023:11:111","nodeType":"VariableDeclaration","scope":74382,"src":"30015:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74368,"name":"uint256","nodeType":"ElementaryTypeName","src":"30015:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74371,"mutability":"mutable","name":"_voter","nameLocation":"30044:6:111","nodeType":"VariableDeclaration","scope":74382,"src":"30036:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74370,"name":"address","nodeType":"ElementaryTypeName","src":"30036:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30014:37:111"},"returnParameters":{"id":74375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74374,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74382,"src":"30075:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74373,"name":"uint256","nodeType":"ElementaryTypeName","src":"30075:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30074:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74395,"nodeType":"FunctionDefinition","src":"30166:145:111","nodes":[],"body":{"id":74394,"nodeType":"Block","src":"30252:59:111","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":74389,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30269:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74391,"indexExpression":{"id":74390,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74384,"src":"30279:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30269:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30292:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"30269:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74388,"id":74393,"nodeType":"Return","src":"30262:42:111"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"30175:23:111","parameters":{"id":74385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74384,"mutability":"mutable","name":"_proposalId","nameLocation":"30207:11:111","nodeType":"VariableDeclaration","scope":74395,"src":"30199:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74383,"name":"uint256","nodeType":"ElementaryTypeName","src":"30199:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30198:21:111"},"returnParameters":{"id":74388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74387,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74395,"src":"30243:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74386,"name":"uint256","nodeType":"ElementaryTypeName","src":"30243:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30242:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74407,"nodeType":"FunctionDefinition","src":"30379:127:111","nodes":[],"body":{"id":74406,"nodeType":"Block","src":"30456:50:111","nodes":[],"statements":[{"expression":{"baseExpression":{"id":74402,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72783,"src":"30473:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74404,"indexExpression":{"id":74403,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74397,"src":"30492:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30473:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74401,"id":74405,"nodeType":"Return","src":"30466:33:111"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"30388:21:111","parameters":{"id":74398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74397,"mutability":"mutable","name":"_voter","nameLocation":"30418:6:111","nodeType":"VariableDeclaration","scope":74407,"src":"30410:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74396,"name":"address","nodeType":"ElementaryTypeName","src":"30410:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30409:16:111"},"returnParameters":{"id":74401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74400,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74407,"src":"30447:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74399,"name":"uint256","nodeType":"ElementaryTypeName","src":"30447:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30446:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74424,"nodeType":"FunctionDefinition","src":"30512:182:111","nodes":[],"body":{"id":74423,"nodeType":"Block","src":"30622:72:111","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":74416,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30639:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74418,"indexExpression":{"id":74417,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74409,"src":"30649:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30639:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30662:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"30639:40:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74421,"indexExpression":{"id":74420,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74411,"src":"30680:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30639:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74415,"id":74422,"nodeType":"Return","src":"30632:55:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"30521:31:111","parameters":{"id":74412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74409,"mutability":"mutable","name":"_proposalId","nameLocation":"30561:11:111","nodeType":"VariableDeclaration","scope":74424,"src":"30553:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74408,"name":"uint256","nodeType":"ElementaryTypeName","src":"30553:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74411,"mutability":"mutable","name":"_voter","nameLocation":"30582:6:111","nodeType":"VariableDeclaration","scope":74424,"src":"30574:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74410,"name":"address","nodeType":"ElementaryTypeName","src":"30574:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30552:37:111"},"returnParameters":{"id":74415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74424,"src":"30613:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74413,"name":"uint256","nodeType":"ElementaryTypeName","src":"30613:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30612:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74434,"nodeType":"FunctionDefinition","src":"30700:145:111","nodes":[],"body":{"id":74433,"nodeType":"Block","src":"30764:81:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74429,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"30781:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":74430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30799:20:111","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78500,"src":"30781:38:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30781:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74428,"id":74432,"nodeType":"Return","src":"30774:47:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"30709:20:111","parameters":{"id":74425,"nodeType":"ParameterList","parameters":[],"src":"30729:2:111"},"returnParameters":{"id":74428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74434,"src":"30755:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74426,"name":"uint256","nodeType":"ElementaryTypeName","src":"30755:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30754:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74459,"nodeType":"FunctionDefinition","src":"30851:185:111","nodes":[],"body":{"id":74458,"nodeType":"Block","src":"30925:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74441,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30942:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74443,"indexExpression":{"id":74442,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74436,"src":"30952:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30942:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30965:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"30942:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30978:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30942:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74447,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30983:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74449,"indexExpression":{"id":74448,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74436,"src":"30993:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30983:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31006:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"30983:32:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":74453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31027:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31019:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74451,"name":"address","nodeType":"ElementaryTypeName","src":"31019:7:111","typeDescriptions":{}}},"id":74454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31019:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30983:46:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30942:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74440,"id":74457,"nodeType":"Return","src":"30935:94:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"30860:14:111","parameters":{"id":74437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74436,"mutability":"mutable","name":"_proposalID","nameLocation":"30883:11:111","nodeType":"VariableDeclaration","scope":74459,"src":"30875:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74435,"name":"uint256","nodeType":"ElementaryTypeName","src":"30875:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30874:21:111"},"returnParameters":{"id":74440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74459,"src":"30919:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74438,"name":"bool","nodeType":"ElementaryTypeName","src":"30919:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30918:6:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74478,"nodeType":"FunctionDefinition","src":"31042:183:111","nodes":[],"body":{"id":74477,"nodeType":"Block","src":"31137:88:111","nodes":[],"statements":[{"expression":{"id":74475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74466,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74464,"src":"31147:14:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74467,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"31164:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31173:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72475,"src":"31164:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74469,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"31184:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31164:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74471,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74461,"src":"31198:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74472,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"31217:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31198:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31164:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"31147:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74476,"nodeType":"ExpressionStatement","src":"31147:71:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"31051:15:111","parameters":{"id":74462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74461,"mutability":"mutable","name":"_requestedAmount","nameLocation":"31075:16:111","nodeType":"VariableDeclaration","scope":74478,"src":"31067:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74460,"name":"uint256","nodeType":"ElementaryTypeName","src":"31067:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31066:26:111"},"returnParameters":{"id":74465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74464,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"31121:14:111","nodeType":"VariableDeclaration","scope":74478,"src":"31116:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74463,"name":"bool","nodeType":"ElementaryTypeName","src":"31116:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31115:21:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74574,"nodeType":"FunctionDefinition","src":"31231:1548:111","nodes":[],"body":{"id":74573,"nodeType":"Block","src":"31361:1418:111","nodes":[],"statements":[{"assignments":[74488],"declarations":[{"constant":false,"id":74488,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"31378:15:111","nodeType":"VariableDeclaration","scope":74573,"src":"31371:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74487,"name":"int256","nodeType":"ElementaryTypeName","src":"31371:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74490,"initialValue":{"hexValue":"30","id":74489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31396:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31371:26:111"},{"body":{"id":74535,"nodeType":"Block","src":"31461:576:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74502,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31534:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74504,"indexExpression":{"id":74503,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31551:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31534:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31554:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72453,"src":"31534:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31568:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31534:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74510,"nodeType":"IfStatement","src":"31530:187:111","trueBody":{"id":74509,"nodeType":"Block","src":"31571:146:111","statements":[{"id":74508,"nodeType":"Continue","src":"31694:8:111"}]}},{"assignments":[74512],"declarations":[{"constant":false,"id":74512,"mutability":"mutable","name":"proposalId","nameLocation":"31738:10:111","nodeType":"VariableDeclaration","scope":74535,"src":"31730:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74511,"name":"uint256","nodeType":"ElementaryTypeName","src":"31730:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74517,"initialValue":{"expression":{"baseExpression":{"id":74513,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31751:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74515,"indexExpression":{"id":74514,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31768:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31751:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31771:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72453,"src":"31751:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31730:51:111"},{"condition":{"id":74521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31799:27:111","subExpression":{"arguments":[{"id":74519,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74512,"src":"31815:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74518,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74459,"src":"31800:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31800:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74527,"nodeType":"IfStatement","src":"31795:167:111","trueBody":{"id":74526,"nodeType":"Block","src":"31828:134:111","statements":[{"errorCall":{"arguments":[{"id":74523,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74512,"src":"31871:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74522,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"31853:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":74524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31853:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74525,"nodeType":"RevertStatement","src":"31846:36:111"}]}},{"expression":{"id":74533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74528,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74488,"src":"31975:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":74529,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31994:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74531,"indexExpression":{"id":74530,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"32011:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31994:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32014:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72455,"src":"31994:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31975:51:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":74534,"nodeType":"ExpressionStatement","src":"31975:51:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74495,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31427:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74496,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31431:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31448:6:111","memberName":"length","nodeType":"MemberAccess","src":"31431:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31427:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74536,"initializationExpression":{"assignments":[74492],"declarations":[{"constant":false,"id":74492,"mutability":"mutable","name":"i","nameLocation":"31420:1:111","nodeType":"VariableDeclaration","scope":74536,"src":"31412:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74491,"name":"uint256","nodeType":"ElementaryTypeName","src":"31412:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74494,"initialValue":{"hexValue":"30","id":74493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31424:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31412:13:111"},"loopExpression":{"expression":{"id":74500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"31456:3:111","subExpression":{"id":74499,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31456:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74501,"nodeType":"ExpressionStatement","src":"31456:3:111"},"nodeType":"ForStatement","src":"31407:630:111"},{"assignments":[74538],"declarations":[{"constant":false,"id":74538,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"32141:21:111","nodeType":"VariableDeclaration","scope":74573,"src":"32133:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74537,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74545,"initialValue":{"arguments":[{"arguments":[{"id":74541,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74480,"src":"32199:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74540,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74407,"src":"32177:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":74542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32177:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74543,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74488,"src":"32209:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74539,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74896,"src":"32165:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32165:60:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32133:92:111"},{"assignments":[74547],"declarations":[{"constant":false,"id":74547,"mutability":"mutable","name":"participantBalance","nameLocation":"32315:18:111","nodeType":"VariableDeclaration","scope":74573,"src":"32307:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74546,"name":"uint256","nodeType":"ElementaryTypeName","src":"32307:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74556,"initialValue":{"arguments":[{"id":74550,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74480,"src":"32379:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":74553,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"32396:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":74552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32388:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74551,"name":"address","nodeType":"ElementaryTypeName","src":"32388:7:111","typeDescriptions":{}}},"id":74554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32388:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":74548,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"32336:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":74549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32354:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"32336:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":74555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32336:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32307:95:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74557,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"32568:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":74558,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74547,"src":"32592:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32568:42:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74566,"nodeType":"IfStatement","src":"32564:147:111","trueBody":{"id":74565,"nodeType":"Block","src":"32612:99:111","statements":[{"errorCall":{"arguments":[{"id":74561,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"32658:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74562,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74547,"src":"32681:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74560,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72553,"src":"32633:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32633:67:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74564,"nodeType":"RevertStatement","src":"32626:74:111"}]}},{"expression":{"id":74571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74567,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72783,"src":"32721:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74569,"indexExpression":{"id":74568,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74480,"src":"32740:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32721:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74570,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"32751:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32721:51:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74572,"nodeType":"ExpressionStatement","src":"32721:51:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"31240:24:111","parameters":{"id":74485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74480,"mutability":"mutable","name":"_sender","nameLocation":"31273:7:111","nodeType":"VariableDeclaration","scope":74574,"src":"31265:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74479,"name":"address","nodeType":"ElementaryTypeName","src":"31265:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74484,"mutability":"mutable","name":"_proposalSupport","nameLocation":"31322:16:111","nodeType":"VariableDeclaration","scope":74574,"src":"31282:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74482,"nodeType":"UserDefinedTypeName","pathNode":{"id":74481,"name":"StrategyStruct.ProposalSupport","nameLocations":["31282:14:111","31297:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"31282:30:111"},"referencedDeclaration":72456,"src":"31282:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74483,"nodeType":"ArrayTypeName","src":"31282:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"31264:75:111"},"returnParameters":{"id":74486,"nodeType":"ParameterList","parameters":[],"src":"31361:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74861,"nodeType":"FunctionDefinition","src":"32785:3479:111","nodes":[],"body":{"id":74860,"nodeType":"Block","src":"32890:3374:111","nodes":[],"statements":[{"assignments":[74587],"declarations":[{"constant":false,"id":74587,"mutability":"mutable","name":"proposalsIds","nameLocation":"32917:12:111","nodeType":"VariableDeclaration","scope":74860,"src":"32900:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74585,"name":"uint256","nodeType":"ElementaryTypeName","src":"32900:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74586,"nodeType":"ArrayTypeName","src":"32900:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74588,"nodeType":"VariableDeclarationStatement","src":"32900:29:111"},{"body":{"id":74858,"nodeType":"Block","src":"32993:3265:111","statements":[{"assignments":[74601],"declarations":[{"constant":false,"id":74601,"mutability":"mutable","name":"proposalId","nameLocation":"33015:10:111","nodeType":"VariableDeclaration","scope":74858,"src":"33007:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74600,"name":"uint256","nodeType":"ElementaryTypeName","src":"33007:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74606,"initialValue":{"expression":{"baseExpression":{"id":74602,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74580,"src":"33028:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74604,"indexExpression":{"id":74603,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"33045:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33028:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33048:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72453,"src":"33028:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33007:51:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74607,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33131:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33144:6:111","memberName":"length","nodeType":"MemberAccess","src":"33131:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33154:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33131:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74709,"nodeType":"Block","src":"33283:764:111","statements":[{"assignments":[74627],"declarations":[{"constant":false,"id":74627,"mutability":"mutable","name":"exist","nameLocation":"33306:5:111","nodeType":"VariableDeclaration","scope":74709,"src":"33301:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74626,"name":"bool","nodeType":"ElementaryTypeName","src":"33301:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74629,"initialValue":{"hexValue":"66616c7365","id":74628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33314:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"33301:18:111"},{"body":{"id":74657,"nodeType":"Block","src":"33387:268:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74641,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33438:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74643,"indexExpression":{"id":74642,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33451:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33438:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":74644,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33457:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33438:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74656,"nodeType":"IfStatement","src":"33434:203:111","trueBody":{"id":74655,"nodeType":"Block","src":"33469:168:111","statements":[{"expression":{"id":74648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74646,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74627,"src":"33495:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33503:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"33495:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74649,"nodeType":"ExpressionStatement","src":"33495:12:111"},{"errorCall":{"arguments":[{"id":74651,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33566:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74652,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33578:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74650,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72571,"src":"33540:25:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33540:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74654,"nodeType":"RevertStatement","src":"33533:47:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74634,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33357:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74635,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33361:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33374:6:111","memberName":"length","nodeType":"MemberAccess","src":"33361:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33357:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74658,"initializationExpression":{"assignments":[74631],"declarations":[{"constant":false,"id":74631,"mutability":"mutable","name":"j","nameLocation":"33350:1:111","nodeType":"VariableDeclaration","scope":74658,"src":"33342:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74630,"name":"uint256","nodeType":"ElementaryTypeName","src":"33342:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74633,"initialValue":{"hexValue":"30","id":74632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33354:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33342:13:111"},"loopExpression":{"expression":{"id":74639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33382:3:111","subExpression":{"id":74638,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33382:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74640,"nodeType":"ExpressionStatement","src":"33382:3:111"},"nodeType":"ForStatement","src":"33337:318:111"},{"condition":{"id":74660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33676:6:111","subExpression":{"id":74659,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74627,"src":"33677:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74708,"nodeType":"IfStatement","src":"33672:361:111","trueBody":{"id":74707,"nodeType":"Block","src":"33684:349:111","statements":[{"assignments":[74665],"declarations":[{"constant":false,"id":74665,"mutability":"mutable","name":"temp","nameLocation":"33723:4:111","nodeType":"VariableDeclaration","scope":74707,"src":"33706:21:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74663,"name":"uint256","nodeType":"ElementaryTypeName","src":"33706:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74664,"nodeType":"ArrayTypeName","src":"33706:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74674,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74669,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33744:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33757:6:111","memberName":"length","nodeType":"MemberAccess","src":"33744:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":74671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33766:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"33744:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33730:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74666,"name":"uint256","nodeType":"ElementaryTypeName","src":"33734:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74667,"nodeType":"ArrayTypeName","src":"33734:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33730:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"33706:62:111"},{"body":{"id":74694,"nodeType":"Block","src":"33840:74:111","statements":[{"expression":{"id":74692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74686,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74665,"src":"33866:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74688,"indexExpression":{"id":74687,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33871:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33866:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":74689,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33876:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74691,"indexExpression":{"id":74690,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33889:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33876:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33866:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74693,"nodeType":"ExpressionStatement","src":"33866:25:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74679,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33810:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74680,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33814:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33827:6:111","memberName":"length","nodeType":"MemberAccess","src":"33814:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33810:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74695,"initializationExpression":{"assignments":[74676],"declarations":[{"constant":false,"id":74676,"mutability":"mutable","name":"j","nameLocation":"33803:1:111","nodeType":"VariableDeclaration","scope":74695,"src":"33795:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74675,"name":"uint256","nodeType":"ElementaryTypeName","src":"33795:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74678,"initialValue":{"hexValue":"30","id":74677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33807:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33795:13:111"},"loopExpression":{"expression":{"id":74684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33835:3:111","subExpression":{"id":74683,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33835:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74685,"nodeType":"ExpressionStatement","src":"33835:3:111"},"nodeType":"ForStatement","src":"33790:124:111"},{"expression":{"id":74701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74696,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74665,"src":"33935:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74699,"indexExpression":{"expression":{"id":74697,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33940:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33953:6:111","memberName":"length","nodeType":"MemberAccess","src":"33940:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33935:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74700,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33963:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33935:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74702,"nodeType":"ExpressionStatement","src":"33935:38:111"},{"expression":{"id":74705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74703,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33995:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74704,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74665,"src":"34010:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33995:19:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74706,"nodeType":"ExpressionStatement","src":"33995:19:111"}]}}]},"id":74710,"nodeType":"IfStatement","src":"33127:920:111","trueBody":{"id":74625,"nodeType":"Block","src":"33157:120:111","statements":[{"expression":{"id":74617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74611,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33175:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":74615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33204:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":74614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33190:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74612,"name":"uint256","nodeType":"ElementaryTypeName","src":"33194:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74613,"nodeType":"ArrayTypeName","src":"33194:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33190:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33175:31:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74618,"nodeType":"ExpressionStatement","src":"33175:31:111"},{"expression":{"id":74623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74619,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33224:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74621,"indexExpression":{"hexValue":"30","id":74620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33237:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33224:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74622,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33242:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33224:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74624,"nodeType":"ExpressionStatement","src":"33224:28:111"}]}},{"assignments":[74712],"declarations":[{"constant":false,"id":74712,"mutability":"mutable","name":"delta","nameLocation":"34067:5:111","nodeType":"VariableDeclaration","scope":74858,"src":"34060:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74711,"name":"int256","nodeType":"ElementaryTypeName","src":"34060:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74717,"initialValue":{"expression":{"baseExpression":{"id":74713,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74580,"src":"34075:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74715,"indexExpression":{"id":74714,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"34092:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34075:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34095:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72455,"src":"34075:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"34060:47:111"},{"assignments":[74722],"declarations":[{"constant":false,"id":74722,"mutability":"mutable","name":"proposal","nameLocation":"34154:8:111","nodeType":"VariableDeclaration","scope":74858,"src":"34122:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74721,"nodeType":"UserDefinedTypeName","pathNode":{"id":74720,"name":"StrategyStruct.Proposal","nameLocations":["34122:14:111","34137:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"34122:23:111"},"referencedDeclaration":72451,"src":"34122:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74726,"initialValue":{"baseExpression":{"id":74723,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"34165:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74725,"indexExpression":{"id":74724,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"34175:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34165:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"34122:64:111"},{"assignments":[74728],"declarations":[{"constant":false,"id":74728,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"34296:20:111","nodeType":"VariableDeclaration","scope":74858,"src":"34288:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74727,"name":"uint256","nodeType":"ElementaryTypeName","src":"34288:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74733,"initialValue":{"baseExpression":{"expression":{"id":74729,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"34319:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34328:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"34319:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74732,"indexExpression":{"id":74731,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"34346:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34319:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34288:66:111"},{"assignments":[74735],"declarations":[{"constant":false,"id":74735,"mutability":"mutable","name":"stakedPoints","nameLocation":"34527:12:111","nodeType":"VariableDeclaration","scope":74858,"src":"34519:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74734,"name":"uint256","nodeType":"ElementaryTypeName","src":"34519:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74740,"initialValue":{"arguments":[{"id":74737,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"34554:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74738,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74712,"src":"34576:5:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74736,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74896,"src":"34542:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34542:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34519:63:111"},{"expression":{"id":74747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74741,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"34717:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34726:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"34717:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74745,"indexExpression":{"id":74743,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"34744:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34717:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74746,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"34755:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34717:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74748,"nodeType":"ExpressionStatement","src":"34717:50:111"},{"assignments":[74750],"declarations":[{"constant":false,"id":74750,"mutability":"mutable","name":"hasProposal","nameLocation":"35006:11:111","nodeType":"VariableDeclaration","scope":74858,"src":"35001:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74749,"name":"bool","nodeType":"ElementaryTypeName","src":"35001:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74752,"initialValue":{"hexValue":"66616c7365","id":74751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35020:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35001:24:111"},{"body":{"id":74781,"nodeType":"Block","src":"35106:179:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":74766,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"35128:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74768,"indexExpression":{"id":74767,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"35149:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35128:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74770,"indexExpression":{"id":74769,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74754,"src":"35158:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35128:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":74771,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35164:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35173:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"35164:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35128:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74780,"nodeType":"IfStatement","src":"35124:147:111","trueBody":{"id":74779,"nodeType":"Block","src":"35185:86:111","statements":[{"expression":{"id":74776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74774,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74750,"src":"35207:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35221:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35207:18:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74777,"nodeType":"ExpressionStatement","src":"35207:18:111"},{"id":74778,"nodeType":"Break","src":"35247:5:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74757,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74754,"src":"35059:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":74758,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"35063:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74760,"indexExpression":{"id":74759,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"35084:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35063:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35093:6:111","memberName":"length","nodeType":"MemberAccess","src":"35063:36:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35059:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74782,"initializationExpression":{"assignments":[74754],"declarations":[{"constant":false,"id":74754,"mutability":"mutable","name":"k","nameLocation":"35052:1:111","nodeType":"VariableDeclaration","scope":74782,"src":"35044:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74753,"name":"uint256","nodeType":"ElementaryTypeName","src":"35044:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74756,"initialValue":{"hexValue":"30","id":74755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35056:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35044:13:111"},"loopExpression":{"expression":{"id":74764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35101:3:111","subExpression":{"id":74763,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74754,"src":"35101:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74765,"nodeType":"ExpressionStatement","src":"35101:3:111"},"nodeType":"ForStatement","src":"35039:246:111"},{"condition":{"id":74784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35302:12:111","subExpression":{"id":74783,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74750,"src":"35303:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74794,"nodeType":"IfStatement","src":"35298:106:111","trueBody":{"id":74793,"nodeType":"Block","src":"35316:88:111","statements":[{"expression":{"arguments":[{"expression":{"id":74789,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35369:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35378:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"35369:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":74785,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"35334:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74787,"indexExpression":{"id":74786,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"35355:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35334:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35364:4:111","memberName":"push","nodeType":"MemberAccess","src":"35334:34:111","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":74791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35334:55:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74792,"nodeType":"ExpressionStatement","src":"35334:55:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74795,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35559:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":74796,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35583:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35559:36:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74827,"nodeType":"Block","src":"35764:161:111","statements":[{"expression":{"id":74817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74813,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72748,"src":"35782:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74814,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35797:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74815,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35820:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35797:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35782:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74818,"nodeType":"ExpressionStatement","src":"35782:50:111"},{"expression":{"id":74825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74819,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35850:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35859:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"35850:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74822,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35875:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74823,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35898:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35875:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35850:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74826,"nodeType":"ExpressionStatement","src":"35850:60:111"}]},"id":74828,"nodeType":"IfStatement","src":"35555:370:111","trueBody":{"id":74812,"nodeType":"Block","src":"35597:161:111","statements":[{"expression":{"id":74802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74798,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72748,"src":"35615:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74799,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35630:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74800,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35645:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35630:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35615:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74803,"nodeType":"ExpressionStatement","src":"35615:50:111"},{"expression":{"id":74810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74804,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35683:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35692:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"35683:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74807,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35708:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74808,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35723:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35708:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35683:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74811,"nodeType":"ExpressionStatement","src":"35683:60:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74829,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35942:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35951:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"35942:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35964:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35942:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74856,"nodeType":"Block","src":"36039:209:111","statements":[{"expression":{"arguments":[{"id":74842,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"36084:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74843,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"36094:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74841,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75196,"src":"36057:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36057:58:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74845,"nodeType":"ExpressionStatement","src":"36057:58:111"},{"eventCall":{"arguments":[{"id":74847,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"36151:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74848,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"36160:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74849,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"36172:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74850,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"36186:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36195:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"36186:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74852,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"36209:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36218:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"36209:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74846,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72668,"src":"36138:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36138:95:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74855,"nodeType":"EmitStatement","src":"36133:100:111"}]},"id":74857,"nodeType":"IfStatement","src":"35938:310:111","trueBody":{"id":74840,"nodeType":"Block","src":"35967:66:111","statements":[{"expression":{"id":74838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74833,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35985:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35994:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"35985:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74836,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"36006:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":74837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36012:6:111","memberName":"number","nodeType":"MemberAccess","src":"36006:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35985:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74839,"nodeType":"ExpressionStatement","src":"35985:33:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74593,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"32959:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74594,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74580,"src":"32963:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32980:6:111","memberName":"length","nodeType":"MemberAccess","src":"32963:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32959:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74859,"initializationExpression":{"assignments":[74590],"declarations":[{"constant":false,"id":74590,"mutability":"mutable","name":"i","nameLocation":"32952:1:111","nodeType":"VariableDeclaration","scope":74859,"src":"32944:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74589,"name":"uint256","nodeType":"ElementaryTypeName","src":"32944:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74592,"initialValue":{"hexValue":"30","id":74591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32956:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32944:13:111"},"loopExpression":{"expression":{"id":74598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32988:3:111","subExpression":{"id":74597,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"32988:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74599,"nodeType":"ExpressionStatement","src":"32988:3:111"},"nodeType":"ForStatement","src":"32939:3319:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"32794:11:111","parameters":{"id":74581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74576,"mutability":"mutable","name":"_sender","nameLocation":"32814:7:111","nodeType":"VariableDeclaration","scope":74861,"src":"32806:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74575,"name":"address","nodeType":"ElementaryTypeName","src":"32806:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74580,"mutability":"mutable","name":"_proposalSupport","nameLocation":"32863:16:111","nodeType":"VariableDeclaration","scope":74861,"src":"32823:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74578,"nodeType":"UserDefinedTypeName","pathNode":{"id":74577,"name":"StrategyStruct.ProposalSupport","nameLocations":["32823:14:111","32838:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"32823:30:111"},"referencedDeclaration":72456,"src":"32823:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74579,"nodeType":"ArrayTypeName","src":"32823:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"32805:75:111"},"returnParameters":{"id":74582,"nodeType":"ParameterList","parameters":[],"src":"32890:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74896,"nodeType":"FunctionDefinition","src":"36270:276:111","nodes":[],"body":{"id":74895,"nodeType":"Block","src":"36356:190:111","nodes":[],"statements":[{"assignments":[74871],"declarations":[{"constant":false,"id":74871,"mutability":"mutable","name":"result","nameLocation":"36373:6:111","nodeType":"VariableDeclaration","scope":74895,"src":"36366:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74870,"name":"int256","nodeType":"ElementaryTypeName","src":"36366:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74878,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":74874,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74863,"src":"36389:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36382:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":74872,"name":"int256","nodeType":"ElementaryTypeName","src":"36382:6:111","typeDescriptions":{}}},"id":74875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36382:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74876,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74865,"src":"36401:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"36382:25:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"36366:41:111"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74879,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74871,"src":"36422:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":74880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36431:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"36422:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74889,"nodeType":"IfStatement","src":"36418:90:111","trueBody":{"id":74888,"nodeType":"Block","src":"36434:74:111","statements":[{"errorCall":{"arguments":[{"id":74883,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74863,"src":"36472:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74884,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74865,"src":"36482:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":74885,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74871,"src":"36490:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74882,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72543,"src":"36455:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":74886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36455:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74887,"nodeType":"RevertStatement","src":"36448:49:111"}]}},{"expression":{"arguments":[{"id":74892,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74871,"src":"36532:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36524:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":74890,"name":"uint256","nodeType":"ElementaryTypeName","src":"36524:7:111","typeDescriptions":{}}},"id":74893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36524:15:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74869,"id":74894,"nodeType":"Return","src":"36517:22:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"36279:11:111","parameters":{"id":74866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74863,"mutability":"mutable","name":"_support","nameLocation":"36299:8:111","nodeType":"VariableDeclaration","scope":74896,"src":"36291:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74862,"name":"uint256","nodeType":"ElementaryTypeName","src":"36291:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74865,"mutability":"mutable","name":"_delta","nameLocation":"36316:6:111","nodeType":"VariableDeclaration","scope":74896,"src":"36309:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74864,"name":"int256","nodeType":"ElementaryTypeName","src":"36309:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"36290:33:111"},"returnParameters":{"id":74869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74868,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74896,"src":"36347:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74867,"name":"uint256","nodeType":"ElementaryTypeName","src":"36347:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36346:9:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74954,"nodeType":"FunctionDefinition","src":"36963:1175:111","nodes":[],"body":{"id":74953,"nodeType":"Block","src":"37110:1028:111","nodes":[],"statements":[{"assignments":[74909],"declarations":[{"constant":false,"id":74909,"mutability":"mutable","name":"t","nameLocation":"37128:1:111","nodeType":"VariableDeclaration","scope":74953,"src":"37120:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74908,"name":"uint256","nodeType":"ElementaryTypeName","src":"37120:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74911,"initialValue":{"id":74910,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74899,"src":"37132:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37120:23:111"},{"assignments":[74913],"declarations":[{"constant":false,"id":74913,"mutability":"mutable","name":"atTWO_128","nameLocation":"37466:9:111","nodeType":"VariableDeclaration","scope":74953,"src":"37458:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74912,"name":"uint256","nodeType":"ElementaryTypeName","src":"37458:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74924,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74915,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"37484:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74916,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37493:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"37484:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":74917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37502:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37484:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74919,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37483:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74920,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"37509:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37483:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74922,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74909,"src":"37512:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74914,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"37478:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":74923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37478:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37458:56:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74925,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74913,"src":"38010:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74926,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74901,"src":"38022:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38010:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74928,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38009:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74929,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74903,"src":"38037:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74930,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"38050:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38037:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74932,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"38055:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74933,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74913,"src":"38065:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38055:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74935,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38054:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38037:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74937,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38036:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74938,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"38080:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":74939,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"38084:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38093:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"38084:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38080:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74942,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38079:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38036:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74944,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38035:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38009:91:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74946,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38008:93:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74947,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72718,"src":"38104:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38008:103:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38007:105:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":74950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38128:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38007:124:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74907,"id":74952,"nodeType":"Return","src":"38000:131:111"}]},"documentation":{"id":74897,"nodeType":"StructuredDocumentation","src":"36552:406:111","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"36972:19:111","parameters":{"id":74904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74899,"mutability":"mutable","name":"_timePassed","nameLocation":"37000:11:111","nodeType":"VariableDeclaration","scope":74954,"src":"36992:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74898,"name":"uint256","nodeType":"ElementaryTypeName","src":"36992:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74901,"mutability":"mutable","name":"_lastConv","nameLocation":"37021:9:111","nodeType":"VariableDeclaration","scope":74954,"src":"37013:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74900,"name":"uint256","nodeType":"ElementaryTypeName","src":"37013:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74903,"mutability":"mutable","name":"_oldAmount","nameLocation":"37040:10:111","nodeType":"VariableDeclaration","scope":74954,"src":"37032:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74902,"name":"uint256","nodeType":"ElementaryTypeName","src":"37032:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36991:60:111"},"returnParameters":{"id":74907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74954,"src":"37097:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74905,"name":"uint256","nodeType":"ElementaryTypeName","src":"37097:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37096:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75047,"nodeType":"FunctionDefinition","src":"38719:1541:111","nodes":[],"body":{"id":75046,"nodeType":"Block","src":"38814:1446:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74962,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"38948:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":74963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38962:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38948:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74969,"nodeType":"IfStatement","src":"38944:66:111","trueBody":{"id":74968,"nodeType":"Block","src":"38965:45:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74965,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72521,"src":"38986:11:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38986:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74967,"nodeType":"RevertStatement","src":"38979:20:111"}]}},{"condition":{"arguments":[{"id":74971,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74957,"src":"39466:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74970,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74478,"src":"39450:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39450:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74977,"nodeType":"IfStatement","src":"39446:91:111","trueBody":{"id":74976,"nodeType":"Block","src":"39485:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74973,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72529,"src":"39506:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39506:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74975,"nodeType":"RevertStatement","src":"39499:27:111"}]}},{"assignments":[74979],"declarations":[{"constant":false,"id":74979,"mutability":"mutable","name":"denom","nameLocation":"39693:5:111","nodeType":"VariableDeclaration","scope":75046,"src":"39685:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74978,"name":"uint256","nodeType":"ElementaryTypeName","src":"39685:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74998,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74980,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"39702:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39711:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72475,"src":"39702:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":74984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":74982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39722:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":74983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39727:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39722:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39702:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74986,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39701:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74987,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39733:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39701:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74989,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74957,"src":"39738:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":74992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":74990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39757:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":74991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39762:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39757:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39738:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74994,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39737:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74995,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"39768:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39737:41:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39701:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39685:93:111"},{"expression":{"id":75033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74999,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"39788:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75000,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"39820:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39829:6:111","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":72477,"src":"39820:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":75002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39839:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39820:22:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75004,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39819:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75005,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39846:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39819:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75007,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39818:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75008,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74979,"src":"39853:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75009,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74979,"src":"39861:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39853:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75011,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39852:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39871:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39852:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75014,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39851:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39818:56:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75016,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39817:58:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75017,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39878:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39817:62:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75019,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39816:64:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75020,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39884:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75021,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"39888:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39897:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"39888:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39884:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75024,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39883:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39816:87:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75026,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39815:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":75027,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75155,"src":"39923:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":75028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39923:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39815:136:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75030,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39801:160:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39965:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39801:166:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39788:179:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75034,"nodeType":"ExpressionStatement","src":"39788:179:111"},{"expression":{"id":75044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75035,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"40157:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75036,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"40170:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75037,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"40183:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40192:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"40183:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40170:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":75041,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"40226:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40235:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"40226:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"40170:83:111","trueExpression":{"id":75040,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"40213:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40157:96:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75045,"nodeType":"ExpressionStatement","src":"40157:96:111"}]},"documentation":{"id":74955,"nodeType":"StructuredDocumentation","src":"38144:570:111","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"38728:18:111","parameters":{"id":74958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74957,"mutability":"mutable","name":"_requestedAmount","nameLocation":"38755:16:111","nodeType":"VariableDeclaration","scope":75047,"src":"38747:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74956,"name":"uint256","nodeType":"ElementaryTypeName","src":"38747:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38746:26:111"},"returnParameters":{"id":74961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74960,"mutability":"mutable","name":"_threshold","nameLocation":"38802:10:111","nodeType":"VariableDeclaration","scope":75047,"src":"38794:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74959,"name":"uint256","nodeType":"ElementaryTypeName","src":"38794:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38793:20:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75082,"nodeType":"FunctionDefinition","src":"40521:269:111","nodes":[],"body":{"id":75081,"nodeType":"Block","src":"40599:191:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75058,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75050,"src":"40617:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75059,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"40623:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40617:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":75061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40632:42:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":75057,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40609:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40609:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75063,"nodeType":"ExpressionStatement","src":"40609:66:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75065,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75052,"src":"40693:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75066,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"40698:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40693:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":75068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40707:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":75064,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40685:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40685:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75070,"nodeType":"ExpressionStatement","src":"40685:53:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75071,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75050,"src":"40757:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75072,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75052,"src":"40762:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40757:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75074,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40756:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75075,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72718,"src":"40768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40756:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40755:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40780:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40755:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75056,"id":75080,"nodeType":"Return","src":"40748:35:111"}]},"documentation":{"id":75048,"nodeType":"StructuredDocumentation","src":"40266:250:111","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"40530:4:111","parameters":{"id":75053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75050,"mutability":"mutable","name":"_a","nameLocation":"40543:2:111","nodeType":"VariableDeclaration","scope":75082,"src":"40535:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75049,"name":"uint256","nodeType":"ElementaryTypeName","src":"40535:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75052,"mutability":"mutable","name":"_b","nameLocation":"40555:2:111","nodeType":"VariableDeclaration","scope":75082,"src":"40547:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75051,"name":"uint256","nodeType":"ElementaryTypeName","src":"40547:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40534:24:111"},"returnParameters":{"id":75056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75055,"mutability":"mutable","name":"_result","nameLocation":"40590:7:111","nodeType":"VariableDeclaration","scope":75082,"src":"40582:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75054,"name":"uint256","nodeType":"ElementaryTypeName","src":"40582:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40581:17:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75147,"nodeType":"FunctionDefinition","src":"41012:447:111","nodes":[],"body":{"id":75146,"nodeType":"Block","src":"41090:369:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75093,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75085,"src":"41108:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75094,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"41113:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41108:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":75096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41122:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":75092,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41100:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41100:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75098,"nodeType":"ExpressionStatement","src":"41100:53:111"},{"assignments":[75100],"declarations":[{"constant":false,"id":75100,"mutability":"mutable","name":"a","nameLocation":"41171:1:111","nodeType":"VariableDeclaration","scope":75146,"src":"41163:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75099,"name":"uint256","nodeType":"ElementaryTypeName","src":"41163:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75102,"initialValue":{"id":75101,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75085,"src":"41175:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41163:14:111"},{"assignments":[75104],"declarations":[{"constant":false,"id":75104,"mutability":"mutable","name":"b","nameLocation":"41195:1:111","nodeType":"VariableDeclaration","scope":75146,"src":"41187:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75103,"name":"uint256","nodeType":"ElementaryTypeName","src":"41187:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75106,"initialValue":{"id":75105,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75087,"src":"41199:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41187:14:111"},{"expression":{"id":75109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75107,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75090,"src":"41211:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75108,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"41221:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41211:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75110,"nodeType":"ExpressionStatement","src":"41211:17:111"},{"body":{"id":75144,"nodeType":"Block","src":"41252:201:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75114,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41270:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":75115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41274:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41270:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41279:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41270:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75142,"nodeType":"Block","src":"41360:83:111","statements":[{"expression":{"id":75136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75131,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75090,"src":"41378:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75133,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75090,"src":"41393:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75134,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41402:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75132,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75082,"src":"41388:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41388:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41378:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75137,"nodeType":"ExpressionStatement","src":"41378:26:111"},{"expression":{"id":75140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75138,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41422:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":75139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41427:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41422:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75141,"nodeType":"ExpressionStatement","src":"41422:6:111"}]},"id":75143,"nodeType":"IfStatement","src":"41266:177:111","trueBody":{"id":75130,"nodeType":"Block","src":"41282:72:111","statements":[{"expression":{"id":75124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75119,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41300:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75121,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41309:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75122,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41312:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75120,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75082,"src":"41304:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41304:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41300:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75125,"nodeType":"ExpressionStatement","src":"41300:14:111"},{"expression":{"id":75128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75126,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41332:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":75127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41338:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41332:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75129,"nodeType":"ExpressionStatement","src":"41332:7:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75111,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41245:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41249:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41245:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75145,"nodeType":"WhileStatement","src":"41238:215:111"}]},"documentation":{"id":75083,"nodeType":"StructuredDocumentation","src":"40796:211:111","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"41021:4:111","parameters":{"id":75088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75085,"mutability":"mutable","name":"_a","nameLocation":"41034:2:111","nodeType":"VariableDeclaration","scope":75147,"src":"41026:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75084,"name":"uint256","nodeType":"ElementaryTypeName","src":"41026:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75087,"mutability":"mutable","name":"_b","nameLocation":"41046:2:111","nodeType":"VariableDeclaration","scope":75147,"src":"41038:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75086,"name":"uint256","nodeType":"ElementaryTypeName","src":"41038:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41025:24:111"},"returnParameters":{"id":75091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75090,"mutability":"mutable","name":"_result","nameLocation":"41081:7:111","nodeType":"VariableDeclaration","scope":75147,"src":"41073:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75089,"name":"uint256","nodeType":"ElementaryTypeName","src":"41073:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41072:17:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75155,"nodeType":"FunctionDefinition","src":"41465:112:111","nodes":[],"body":{"id":75154,"nodeType":"Block","src":"41533:44:111","nodes":[],"statements":[{"expression":{"id":75152,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"41550:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75151,"id":75153,"nodeType":"Return","src":"41543:27:111"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"41474:26:111","parameters":{"id":75148,"nodeType":"ParameterList","parameters":[],"src":"41500:2:111"},"returnParameters":{"id":75151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75155,"src":"41524:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75149,"name":"uint256","nodeType":"ElementaryTypeName","src":"41524:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41523:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75196,"nodeType":"FunctionDefinition","src":"41767:396:111","nodes":[],"body":{"id":75195,"nodeType":"Block","src":"41875:288:111","nodes":[],"statements":[{"assignments":[75165,75167],"declarations":[{"constant":false,"id":75165,"mutability":"mutable","name":"conviction","nameLocation":"41894:10:111","nodeType":"VariableDeclaration","scope":75195,"src":"41886:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75164,"name":"uint256","nodeType":"ElementaryTypeName","src":"41886:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75167,"mutability":"mutable","name":"blockNumber","nameLocation":"41914:11:111","nodeType":"VariableDeclaration","scope":75195,"src":"41906:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75166,"name":"uint256","nodeType":"ElementaryTypeName","src":"41906:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75172,"initialValue":{"arguments":[{"id":75169,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75159,"src":"41963:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":75170,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75161,"src":"41974:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75168,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75243,"src":"41929:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":75171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41929:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"41885:100:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75173,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75165,"src":"41999:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42013:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41999:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75176,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75167,"src":"42018:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42033:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42018:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"41999:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75182,"nodeType":"IfStatement","src":"41995:72:111","trueBody":{"id":75181,"nodeType":"Block","src":"42036:31:111","statements":[{"functionReturnParameters":75163,"id":75180,"nodeType":"Return","src":"42050:7:111"}]}},{"expression":{"id":75187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75183,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75159,"src":"42076:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42086:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42076:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75186,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75167,"src":"42098:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42076:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75188,"nodeType":"ExpressionStatement","src":"42076:33:111"},{"expression":{"id":75193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75189,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75159,"src":"42119:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42129:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"42119:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75192,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75165,"src":"42146:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42119:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75194,"nodeType":"ExpressionStatement","src":"42119:37:111"}]},"documentation":{"id":75156,"nodeType":"StructuredDocumentation","src":"41583:179:111","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"41776:26:111","parameters":{"id":75162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75159,"mutability":"mutable","name":"_proposal","nameLocation":"41835:9:111","nodeType":"VariableDeclaration","scope":75196,"src":"41803:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75158,"nodeType":"UserDefinedTypeName","pathNode":{"id":75157,"name":"StrategyStruct.Proposal","nameLocations":["41803:14:111","41818:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"41803:23:111"},"referencedDeclaration":72451,"src":"41803:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75161,"mutability":"mutable","name":"_oldStaked","nameLocation":"41854:10:111","nodeType":"VariableDeclaration","scope":75196,"src":"41846:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75160,"name":"uint256","nodeType":"ElementaryTypeName","src":"41846:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41802:63:111"},"returnParameters":{"id":75163,"nodeType":"ParameterList","parameters":[],"src":"41875:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75243,"nodeType":"FunctionDefinition","src":"42169:719:111","nodes":[],"body":{"id":75242,"nodeType":"Block","src":"42367:521:111","nodes":[],"statements":[{"expression":{"id":75211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75208,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42377:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75209,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"42391:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42397:6:111","memberName":"number","nodeType":"MemberAccess","src":"42391:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42377:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75212,"nodeType":"ExpressionStatement","src":"42377:26:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75214,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42420:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42430:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42420:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75216,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42443:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42420:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75213,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"42413:6:111","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":75218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42413:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75219,"nodeType":"ExpressionStatement","src":"42413:42:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75220,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42469:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42479:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42469:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75222,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42492:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42469:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75229,"nodeType":"IfStatement","src":"42465:173:111","trueBody":{"id":75228,"nodeType":"Block","src":"42505:133:111","statements":[{"expression":{"components":[{"hexValue":"30","id":75224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42593:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42596:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":75226,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"42592:6:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":75207,"id":75227,"nodeType":"Return","src":"42585:13:111"}]}},{"expression":{"id":75240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75230,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75204,"src":"42691:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75232,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42737:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75233,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42751:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42761:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42751:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42737:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75236,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42823:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75237,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42833:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"42823:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75238,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"42861:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75231,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74954,"src":"42704:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":75239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42704:177:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42691:190:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75241,"nodeType":"ExpressionStatement","src":"42691:190:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"42178:33:111","parameters":{"id":75202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75199,"mutability":"mutable","name":"_proposal","nameLocation":"42244:9:111","nodeType":"VariableDeclaration","scope":75243,"src":"42212:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75198,"nodeType":"UserDefinedTypeName","pathNode":{"id":75197,"name":"StrategyStruct.Proposal","nameLocations":["42212:14:111","42227:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"42212:23:111"},"referencedDeclaration":72451,"src":"42212:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75201,"mutability":"mutable","name":"_oldStaked","nameLocation":"42263:10:111","nodeType":"VariableDeclaration","scope":75243,"src":"42255:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75200,"name":"uint256","nodeType":"ElementaryTypeName","src":"42255:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42211:63:111"},"returnParameters":{"id":75207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75204,"mutability":"mutable","name":"conviction","nameLocation":"42330:10:111","nodeType":"VariableDeclaration","scope":75243,"src":"42322:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75203,"name":"uint256","nodeType":"ElementaryTypeName","src":"42322:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75206,"mutability":"mutable","name":"blockNumber","nameLocation":"42350:11:111","nodeType":"VariableDeclaration","scope":75243,"src":"42342:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75205,"name":"uint256","nodeType":"ElementaryTypeName","src":"42342:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42321:41:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75354,"nodeType":"FunctionDefinition","src":"42894:1432:111","nodes":[],"body":{"id":75353,"nodeType":"Block","src":"43049:1277:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75252,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43076:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43094:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43076:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43118:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43110:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75254,"name":"address","nodeType":"ElementaryTypeName","src":"43110:7:111","typeDescriptions":{}}},"id":75257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43110:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43076:44:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75261,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43132:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43150:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43132:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43124:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75259,"name":"address","nodeType":"ElementaryTypeName","src":"43124:7:111","typeDescriptions":{}}},"id":75263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43124:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43173:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43165:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75264,"name":"address","nodeType":"ElementaryTypeName","src":"43165:7:111","typeDescriptions":{}}},"id":75267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43165:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43124:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43076:99:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75270,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43217:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75271,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43235:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43217:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75272,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43251:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43268:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43251:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43217:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},"id":75279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75275,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43300:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43318:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43300:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75277,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43332:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43349:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43332:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"src":"43300:59:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:142:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75281,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43379:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43397:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"43379:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75283,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43426:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43443:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"43426:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43379:89:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:251:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75287,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43488:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43506:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"43488:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75289,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43536:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43553:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"43536:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43488:91:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:362:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75293,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43599:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43617:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"43599:31:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75295,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43634:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43651:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"43634:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43599:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:447:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75299,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43684:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43702:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"43684:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75301,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43726:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75302,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43743:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"43726:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43684:79:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:546:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":75305,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43203:574:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43076:701:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75343,"nodeType":"IfStatement","src":"43059:1168:111","trueBody":{"id":75342,"nodeType":"Block","src":"43788:439:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":75309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75307,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72743,"src":"43806:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43822:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43806:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75314,"nodeType":"IfStatement","src":"43802:110:111","trueBody":{"id":75313,"nodeType":"Block","src":"43825:87:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75310,"name":"ArbitrationConfigCannotBeChangedDuringDispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72611,"src":"43850:45:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43850:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75312,"nodeType":"RevertStatement","src":"43843:54:111"}]}},{"expression":{"arguments":[{"expression":{"id":75320,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43980:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43998:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43980:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":75315,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43938:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43956:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43938:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"id":75319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43967:12:111","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":79605,"src":"43938:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":75322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43938:73:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75323,"nodeType":"ExpressionStatement","src":"43938:73:111"},{"eventCall":{"arguments":[{"arguments":[{"id":75327,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"44077:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":75326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44069:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75325,"name":"address","nodeType":"ElementaryTypeName","src":"44069:7:111","typeDescriptions":{}}},"id":75328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44069:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":75331,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"44092:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44109:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"44092:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44084:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75329,"name":"address","nodeType":"ElementaryTypeName","src":"44084:7:111","typeDescriptions":{}}},"id":75333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44084:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75334,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"44122:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44139:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"44122:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":75324,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72709,"src":"44030:21:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":75336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44030:135:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75337,"nodeType":"EmitStatement","src":"44025:140:111"},{"expression":{"id":75340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75338,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"44180:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75339,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"44199:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"44180:36:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75341,"nodeType":"ExpressionStatement","src":"44180:36:111"}]}},{"expression":{"id":75346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75344,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"44237:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75345,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75249,"src":"44248:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"44237:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75347,"nodeType":"ExpressionStatement","src":"44237:20:111"},{"eventCall":{"arguments":[{"id":75349,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75249,"src":"44290:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"id":75350,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"44301:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":75348,"name":"PoolParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72676,"src":"44272:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$72482_memory_ptr_$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory,struct StrategyStruct.ArbitrableConfig memory)"}},"id":75351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44272:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75352,"nodeType":"EmitStatement","src":"44267:52:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"42903:14:111","parameters":{"id":75250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75246,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"42966:17:111","nodeType":"VariableDeclaration","scope":75354,"src":"42927:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75245,"nodeType":"UserDefinedTypeName","pathNode":{"id":75244,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["42927:14:111","42942:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"42927:31:111"},"referencedDeclaration":72473,"src":"42927:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75249,"mutability":"mutable","name":"_cvParams","nameLocation":"43024:9:111","nodeType":"VariableDeclaration","scope":75354,"src":"42993:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75248,"nodeType":"UserDefinedTypeName","pathNode":{"id":75247,"name":"StrategyStruct.CVParams","nameLocations":["42993:14:111","43008:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"42993:23:111"},"referencedDeclaration":72482,"src":"42993:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"42917:122:111"},"returnParameters":{"id":75251,"nodeType":"ParameterList","parameters":[],"src":"43049:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75390,"nodeType":"FunctionDefinition","src":"44332:630:111","nodes":[],"body":{"id":75389,"nodeType":"Block","src":"44411:551:111","nodes":[],"statements":[{"assignments":[75365],"declarations":[{"constant":false,"id":75365,"mutability":"mutable","name":"proposal","nameLocation":"44453:8:111","nodeType":"VariableDeclaration","scope":75389,"src":"44421:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75364,"nodeType":"UserDefinedTypeName","pathNode":{"id":75363,"name":"StrategyStruct.Proposal","nameLocations":["44421:14:111","44436:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"44421:23:111"},"referencedDeclaration":72451,"src":"44421:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75369,"initialValue":{"baseExpression":{"id":75366,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"44464:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75368,"indexExpression":{"id":75367,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75356,"src":"44474:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44464:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"44421:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75370,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44500:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75371,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44509:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"44500:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75372,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75356,"src":"44523:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44500:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75379,"nodeType":"IfStatement","src":"44496:100:111","trueBody":{"id":75378,"nodeType":"Block","src":"44535:61:111","statements":[{"errorCall":{"arguments":[{"id":75375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75356,"src":"44574:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75374,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"44556:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44556:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75377,"nodeType":"RevertStatement","src":"44549:36:111"}]}},{"expression":{"arguments":[{"id":75381,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44883:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":75382,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44893:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44902:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"44893:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75380,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75196,"src":"44856:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":75384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44856:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75385,"nodeType":"ExpressionStatement","src":"44856:59:111"},{"expression":{"expression":{"id":75386,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44932:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44941:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"44932:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75360,"id":75388,"nodeType":"Return","src":"44925:30:111"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"44341:24:111","parameters":{"id":75357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75356,"mutability":"mutable","name":"proposalId","nameLocation":"44374:10:111","nodeType":"VariableDeclaration","scope":75390,"src":"44366:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75355,"name":"uint256","nodeType":"ElementaryTypeName","src":"44366:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44365:20:111"},"returnParameters":{"id":75360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75390,"src":"44402:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75358,"name":"uint256","nodeType":"ElementaryTypeName","src":"44402:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44401:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75410,"nodeType":"FunctionDefinition","src":"44968:133:111","nodes":[],"body":{"id":75409,"nodeType":"Block","src":"45040:61:111","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75397,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75392,"src":"45059:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75398,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"45068:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45059:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75400,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45058:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75401,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"45074:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75402,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"45078:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45087:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"45078:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45074:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75405,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45073:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45058:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75407,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45057:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75396,"id":75408,"nodeType":"Return","src":"45050:44:111"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"44977:16:111","parameters":{"id":75393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75392,"mutability":"mutable","name":"amount","nameLocation":"45002:6:111","nodeType":"VariableDeclaration","scope":75410,"src":"44994:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75391,"name":"uint256","nodeType":"ElementaryTypeName","src":"44994:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44993:16:111"},"returnParameters":{"id":75396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75410,"src":"45031:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75394,"name":"uint256","nodeType":"ElementaryTypeName","src":"45031:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45030:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75430,"nodeType":"FunctionDefinition","src":"45107:223:111","nodes":[],"body":{"id":75429,"nodeType":"Block","src":"45202:128:111","nodes":[],"statements":[{"expression":{"id":75423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75419,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"45212:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75421,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75412,"src":"45254:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75420,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"45232:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78716_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":75422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45232:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"src":"45212:61:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":75424,"nodeType":"ExpressionStatement","src":"45212:61:111"},{"eventCall":{"arguments":[{"id":75426,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75412,"src":"45304:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75425,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72680,"src":"45288:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45288:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75428,"nodeType":"EmitStatement","src":"45283:40:111"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":75415,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"45190:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45194:6:111","memberName":"sender","nodeType":"MemberAccess","src":"45190:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":75417,"kind":"modifierInvocation","modifierName":{"id":75414,"name":"onlyPoolManager","nameLocations":["45174:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":71777,"src":"45174:15:111"},"nodeType":"ModifierInvocation","src":"45174:27:111"}],"name":"setRegistryCommunity","nameLocation":"45116:20:111","parameters":{"id":75413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75412,"mutability":"mutable","name":"_registryCommunity","nameLocation":"45145:18:111","nodeType":"VariableDeclaration","scope":75430,"src":"45137:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75411,"name":"address","nodeType":"ElementaryTypeName","src":"45137:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45136:28:111"},"returnParameters":{"id":75418,"nodeType":"ParameterList","parameters":[],"src":"45202:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75449,"nodeType":"FunctionDefinition","src":"45336:181:111","nodes":[],"body":{"id":75448,"nodeType":"Block","src":"45391:126:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75435,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"45401:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45401:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75437,"nodeType":"ExpressionStatement","src":"45401:17:111"},{"expression":{"arguments":[{"id":75439,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75432,"src":"45447:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75438,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73014,"src":"45428:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":75440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45428:32:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75441,"nodeType":"ExpressionStatement","src":"45428:32:111"},{"expression":{"id":75446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75442,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"45470:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75444,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75432,"src":"45497:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75443,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"45484:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76270_$","typeString":"type(contract ISybilScorer)"}},"id":75445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45484:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"src":"45470:40:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"id":75447,"nodeType":"ExpressionStatement","src":"45470:40:111"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"45345:14:111","parameters":{"id":75433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75432,"mutability":"mutable","name":"_sybilScorer","nameLocation":"45368:12:111","nodeType":"VariableDeclaration","scope":75449,"src":"45360:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75431,"name":"address","nodeType":"ElementaryTypeName","src":"45360:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45359:22:111"},"returnParameters":{"id":75434,"nodeType":"ParameterList","parameters":[],"src":"45391:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75467,"nodeType":"FunctionDefinition","src":"45523:242:111","nodes":[],"body":{"id":75466,"nodeType":"Block","src":"45677:88:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75458,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"45687:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45687:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75460,"nodeType":"ExpressionStatement","src":"45687:17:111"},{"expression":{"arguments":[{"id":75462,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"45729:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":75463,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75455,"src":"45748:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":75461,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75354,"src":"45714:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$_t_struct$_CVParams_$72482_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":75464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45714:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75465,"nodeType":"ExpressionStatement","src":"45714:44:111"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"45532:13:111","parameters":{"id":75456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75452,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"45594:17:111","nodeType":"VariableDeclaration","scope":75467,"src":"45555:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75451,"nodeType":"UserDefinedTypeName","pathNode":{"id":75450,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["45555:14:111","45570:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"45555:31:111"},"referencedDeclaration":72473,"src":"45555:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75455,"mutability":"mutable","name":"_cvParams","nameLocation":"45652:9:111","nodeType":"VariableDeclaration","scope":75467,"src":"45621:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75454,"nodeType":"UserDefinedTypeName","pathNode":{"id":75453,"name":"StrategyStruct.CVParams","nameLocations":["45621:14:111","45636:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"45621:23:111"},"referencedDeclaration":72482,"src":"45621:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"45545:122:111"},"returnParameters":{"id":75457,"nodeType":"ParameterList","parameters":[],"src":"45677:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75650,"nodeType":"FunctionDefinition","src":"45771:2270:111","nodes":[],"body":{"id":75649,"nodeType":"Block","src":"45941:2100:111","nodes":[],"statements":[{"assignments":[75482],"declarations":[{"constant":false,"id":75482,"mutability":"mutable","name":"proposal","nameLocation":"45983:8:111","nodeType":"VariableDeclaration","scope":75649,"src":"45951:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75481,"nodeType":"UserDefinedTypeName","pathNode":{"id":75480,"name":"StrategyStruct.Proposal","nameLocations":["45951:14:111","45966:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"45951:23:111"},"referencedDeclaration":72451,"src":"45951:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75486,"initialValue":{"baseExpression":{"id":75483,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"45994:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75485,"indexExpression":{"id":75484,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46004:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45994:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"45951:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75489,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"46038:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46055:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"46038:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46030:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75487,"name":"address","nodeType":"ElementaryTypeName","src":"46030:7:111","typeDescriptions":{}}},"id":75491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46030:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46078:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46070:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75492,"name":"address","nodeType":"ElementaryTypeName","src":"46070:7:111","typeDescriptions":{}}},"id":75495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46070:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46030:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75501,"nodeType":"IfStatement","src":"46026:112:111","trueBody":{"id":75500,"nodeType":"Block","src":"46082:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75497,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72601,"src":"46103:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46103:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75499,"nodeType":"RevertStatement","src":"46096:31:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75502,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46315:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46324:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"46315:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75504,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46338:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46315:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75511,"nodeType":"IfStatement","src":"46311:100:111","trueBody":{"id":75510,"nodeType":"Block","src":"46350:61:111","statements":[{"errorCall":{"arguments":[{"id":75507,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46389:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75506,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"46371:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46371:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75509,"nodeType":"RevertStatement","src":"46364:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"id":75517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75512,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46424:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46433:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"46424:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75514,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"46451:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46466:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"46451:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46481:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"46451:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"46424:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75523,"nodeType":"IfStatement","src":"46420:130:111","trueBody":{"id":75522,"nodeType":"Block","src":"46489:61:111","statements":[{"errorCall":{"arguments":[{"id":75519,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46528:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75518,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72561,"src":"46510:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46510:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75521,"nodeType":"RevertStatement","src":"46503:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75524,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46563:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46567:5:111","memberName":"value","nodeType":"MemberAccess","src":"46563:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75526,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"46575:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46592:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"46575:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46563:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75537,"nodeType":"IfStatement","src":"46559:171:111","trueBody":{"id":75536,"nodeType":"Block","src":"46620:110:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":75530,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46664:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46668:5:111","memberName":"value","nodeType":"MemberAccess","src":"46664:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75532,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"46675:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46692:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"46675:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75529,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"46641:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46641:78:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75535,"nodeType":"RevertStatement","src":"46634:85:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75538,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46849:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46858:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"46849:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46883:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"46849:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75542,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46904:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46913:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"46904:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75544,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"46937:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46904:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75546,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"46960:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46966:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"46960:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46904:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46849:126:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75562,"nodeType":"IfStatement","src":"46832:325:111","trueBody":{"id":75561,"nodeType":"Block","src":"46986:171:111","statements":[{"errorCall":{"arguments":[{"id":75551,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47049:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75552,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47061:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47070:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"47061:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75554,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"47094:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47061:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75556,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47117:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47123:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47117:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47061:71:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75550,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72609,"src":"47007:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47007:139:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75560,"nodeType":"RevertStatement","src":"47000:146:111"}]}},{"assignments":[75564],"declarations":[{"constant":false,"id":75564,"mutability":"mutable","name":"arbitrationFee","nameLocation":"47175:14:111","nodeType":"VariableDeclaration","scope":75649,"src":"47167:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75563,"name":"uint256","nodeType":"ElementaryTypeName","src":"47167:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75570,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75565,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47192:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47196:5:111","memberName":"value","nodeType":"MemberAccess","src":"47192:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75567,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47204:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47221:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"47204:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47192:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47167:80:111"},{"expression":{"arguments":[{"id":75577,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47344:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75578,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47356:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47360:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47356:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75571,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"47258:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47274:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79618,"src":"47258:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":75574,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47299:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47316:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"47299:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47258:85:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":75580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47258:109:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75581,"nodeType":"ExpressionStatement","src":"47258:109:111"},{"expression":{"id":75591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75582,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47378:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75588,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72727,"src":"47455:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75589,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75473,"src":"47471:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":75583,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47390:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47407:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"47390:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"id":75585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47418:13:111","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":79553,"src":"47390:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":75586,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75564,"src":"47439:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47390:64:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47390:92:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47378:104:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75592,"nodeType":"ExpressionStatement","src":"47378:104:111"},{"expression":{"id":75599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75593,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47493:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47502:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"47493:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75596,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"47519:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47534:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"47519:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47549:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72408,"src":"47519:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"47493:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75600,"nodeType":"ExpressionStatement","src":"47493:64:111"},{"expression":{"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75601,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47567:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47576:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47567:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47588:9:111","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":72412,"src":"47567:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75606,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47600:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47567:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75608,"nodeType":"ExpressionStatement","src":"47567:42:111"},{"expression":{"id":75616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75609,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47619:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47628:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47619:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47640:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72414,"src":"47619:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75614,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47659:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47665:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47659:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47619:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75617,"nodeType":"ExpressionStatement","src":"47619:55:111"},{"expression":{"id":75625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75618,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47684:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47693:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47684:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47705:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"47684:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75623,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47718:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47722:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47718:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"47684:44:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75626,"nodeType":"ExpressionStatement","src":"47684:44:111"},{"expression":{"id":75631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75627,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72792,"src":"47738:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75629,"indexExpression":{"id":75628,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47760:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"47738:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75630,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47773:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47738:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75632,"nodeType":"ExpressionStatement","src":"47738:45:111"},{"expression":{"id":75634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"47794:14:111","subExpression":{"id":75633,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72743,"src":"47794:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75635,"nodeType":"ExpressionStatement","src":"47794:14:111"},{"eventCall":{"arguments":[{"expression":{"id":75637,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47854:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47871:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"47854:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},{"id":75639,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47895:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75640,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47919:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75641,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47942:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47946:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47942:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75643,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75471,"src":"47966:7:111","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":75644,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47987:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47996:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47987:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48008:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72414,"src":"47987:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75636,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72701,"src":"47824:16:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79606_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":75647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47824:210:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75648,"nodeType":"EmitStatement","src":"47819:215:111"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"45780:15:111","parameters":{"id":75474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75469,"mutability":"mutable","name":"proposalId","nameLocation":"45804:10:111","nodeType":"VariableDeclaration","scope":75650,"src":"45796:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75468,"name":"uint256","nodeType":"ElementaryTypeName","src":"45796:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75471,"mutability":"mutable","name":"context","nameLocation":"45832:7:111","nodeType":"VariableDeclaration","scope":75650,"src":"45816:23:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":75470,"name":"string","nodeType":"ElementaryTypeName","src":"45816:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":75473,"mutability":"mutable","name":"_extraData","nameLocation":"45856:10:111","nodeType":"VariableDeclaration","scope":75650,"src":"45841:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":75472,"name":"bytes","nodeType":"ElementaryTypeName","src":"45841:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45795:72:111"},"returnParameters":{"id":75477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75476,"mutability":"mutable","name":"disputeId","nameLocation":"45926:9:111","nodeType":"VariableDeclaration","scope":75650,"src":"45918:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75475,"name":"uint256","nodeType":"ElementaryTypeName","src":"45918:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45917:19:111"},"scope":75909,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75895,"nodeType":"FunctionDefinition","src":"48047:2798:111","nodes":[],"body":{"id":75894,"nodeType":"Block","src":"48116:2729:111","nodes":[],"statements":[{"assignments":[75659],"declarations":[{"constant":false,"id":75659,"mutability":"mutable","name":"proposalId","nameLocation":"48134:10:111","nodeType":"VariableDeclaration","scope":75894,"src":"48126:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75658,"name":"uint256","nodeType":"ElementaryTypeName","src":"48126:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75663,"initialValue":{"baseExpression":{"id":75660,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72792,"src":"48147:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75662,"indexExpression":{"id":75661,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75652,"src":"48169:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48147:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"48126:54:111"},{"assignments":[75668],"declarations":[{"constant":false,"id":75668,"mutability":"mutable","name":"proposal","nameLocation":"48222:8:111","nodeType":"VariableDeclaration","scope":75894,"src":"48190:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75667,"nodeType":"UserDefinedTypeName","pathNode":{"id":75666,"name":"StrategyStruct.Proposal","nameLocations":["48190:14:111","48205:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"48190:23:111"},"referencedDeclaration":72451,"src":"48190:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75672,"initialValue":{"baseExpression":{"id":75669,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"48233:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75671,"indexExpression":{"id":75670,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48243:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48233:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48190:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48269:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48283:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48269:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75681,"nodeType":"IfStatement","src":"48265:82:111","trueBody":{"id":75680,"nodeType":"Block","src":"48286:61:111","statements":[{"errorCall":{"arguments":[{"id":75677,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48325:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75676,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"48307:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48307:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75679,"nodeType":"RevertStatement","src":"48300:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"id":75687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75682,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"48360:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48369:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"48360:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75684,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"48387:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48402:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"48387:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48417:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72408,"src":"48387:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"48360:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75693,"nodeType":"IfStatement","src":"48356:134:111","trueBody":{"id":75692,"nodeType":"Block","src":"48427:63:111","statements":[{"errorCall":{"arguments":[{"id":75689,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48468:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75688,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72599,"src":"48448:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48448:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75691,"nodeType":"RevertStatement","src":"48441:38:111"}]}},{"assignments":[75695],"declarations":[{"constant":false,"id":75695,"mutability":"mutable","name":"isTimeOut","nameLocation":"48505:9:111","nodeType":"VariableDeclaration","scope":75894,"src":"48500:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75694,"name":"bool","nodeType":"ElementaryTypeName","src":"48500:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75705,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75696,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"48517:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48523:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"48517:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75698,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"48535:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75699,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48544:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"48535:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48556:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72414,"src":"48535:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":75701,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48575:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48592:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"48575:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48535:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48517:95:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"48500:112:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"48627:10:111","subExpression":{"id":75706,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75695,"src":"48628:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75708,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48641:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48645:6:111","memberName":"sender","nodeType":"MemberAccess","src":"48641:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":75712,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48663:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75713,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48680:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"48663:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48655:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75710,"name":"address","nodeType":"ElementaryTypeName","src":"48655:7:111","typeDescriptions":{}}},"id":75714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48655:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"48641:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48627:64:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75721,"nodeType":"IfStatement","src":"48623:118:111","trueBody":{"id":75720,"nodeType":"Block","src":"48693:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75717,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"48714:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48714:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75719,"nodeType":"RevertStatement","src":"48707:23:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75722,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75695,"src":"48755:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75723,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"48768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48779:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48768:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48755:25:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75787,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"49543:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49554:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"49543:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75816,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"49915:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49926:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49915:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75874,"nodeType":"IfStatement","src":"49911:774:111","trueBody":{"id":75873,"nodeType":"Block","src":"49929:756:111","statements":[{"expression":{"id":75825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75819,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49943:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49952:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"49943:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75822,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"49969:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49984:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"49969:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49999:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72409,"src":"49969:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49943:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75826,"nodeType":"ExpressionStatement","src":"49943:64:111"},{"expression":{"arguments":[{"id":75830,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"50073:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75831,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50085:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50094:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50085:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75833,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50106:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"50085:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75834,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"50118:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50135:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"50118:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75827,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"50021:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50037:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"50021:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50021:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75837,"nodeType":"ExpressionStatement","src":"50021:154:111"},{"expression":{"arguments":[{"id":75841,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"50244:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75842,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50272:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50281:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"50272:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75846,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"50316:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":75847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50334:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77047,"src":"50316:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79732_$","typeString":"function () view external returns (contract ISafe)"}},"id":75848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50316:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":75845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50308:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75844,"name":"address","nodeType":"ElementaryTypeName","src":"50308:7:111","typeDescriptions":{}}},"id":75849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50308:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75850,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50366:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50375:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50366:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50387:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"50366:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50414:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50366:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75838,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"50189:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50205:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79638,"src":"50189:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50189:240:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75856,"nodeType":"ExpressionStatement","src":"50189:240:111"},{"expression":{"arguments":[{"id":75860,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"50498:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75861,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50526:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50535:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"50526:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75863,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50562:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50571:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50562:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50583:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"50562:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75866,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50611:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75867,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50620:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50611:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50632:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"50611:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50659:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50611:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75857,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"50443:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50459:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79638,"src":"50443:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50443:231:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75872,"nodeType":"ExpressionStatement","src":"50443:231:111"}]}},"id":75875,"nodeType":"IfStatement","src":"49539:1146:111","trueBody":{"id":75815,"nodeType":"Block","src":"49557:348:111","statements":[{"expression":{"id":75796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75790,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49571:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49580:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"49571:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75793,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"49597:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49612:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"49597:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49627:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"49597:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49571:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75797,"nodeType":"ExpressionStatement","src":"49571:62:111"},{"expression":{"arguments":[{"id":75801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"49702:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75802,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49730:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75803,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49739:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"49730:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49751:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"49730:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75807,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"49787:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":75808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49805:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77047,"src":"49787:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79732_$","typeString":"function () view external returns (contract ISafe)"}},"id":75809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49787:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":75806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49779:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75805,"name":"address","nodeType":"ElementaryTypeName","src":"49779:7:111","typeDescriptions":{}}},"id":75810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49779:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75811,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"49837:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49854:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"49837:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75798,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"49647:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49663:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79638,"src":"49647:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49647:247:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75814,"nodeType":"ExpressionStatement","src":"49647:247:111"}]}},"id":75876,"nodeType":"IfStatement","src":"48751:1934:111","trueBody":{"id":75786,"nodeType":"Block","src":"48782:751:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75727,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48800:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48817:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"48800:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48834:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48800:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75735,"nodeType":"IfStatement","src":"48796:102:111","trueBody":{"id":75734,"nodeType":"Block","src":"48837:61:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75731,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72603,"src":"48862:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48862:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75733,"nodeType":"RevertStatement","src":"48855:28:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75736,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48915:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48932:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"48915:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48949:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"48915:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75749,"nodeType":"IfStatement","src":"48911:136:111","trueBody":{"id":75748,"nodeType":"Block","src":"48952:95:111","statements":[{"expression":{"id":75746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75740,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"48970:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"48979:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"48970:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75743,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"48996:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49011:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"48996:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49026:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"48996:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"48970:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75747,"nodeType":"ExpressionStatement","src":"48970:62:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75750,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"49064:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49081:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49064:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49098:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49064:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75763,"nodeType":"IfStatement","src":"49060:138:111","trueBody":{"id":75762,"nodeType":"Block","src":"49101:97:111","statements":[{"expression":{"id":75760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75754,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49119:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49128:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"49119:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75757,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"49145:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49160:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"49145:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49175:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72409,"src":"49145:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49119:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75761,"nodeType":"ExpressionStatement","src":"49119:64:111"}]}},{"expression":{"arguments":[{"id":75767,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"49263:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75768,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49275:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49284:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"49275:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49296:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"49275:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75771,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"49308:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49325:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"49308:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75764,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"49211:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49227:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"49211:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49211:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75774,"nodeType":"ExpressionStatement","src":"49211:154:111"},{"expression":{"arguments":[{"id":75778,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"49431:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75779,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49443:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49452:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"49443:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75781,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49463:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75782,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49472:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"49463:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75783,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49484:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"49463:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75775,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"49379:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49395:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"49379:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49379:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75785,"nodeType":"ExpressionStatement","src":"49379:143:111"}]}},{"expression":{"id":75878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"50695:14:111","subExpression":{"id":75877,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72743,"src":"50695:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75879,"nodeType":"ExpressionStatement","src":"50695:14:111"},{"expression":{"id":75885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75880,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50719:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50728:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"50719:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75883,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50752:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50758:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"50752:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50719:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75886,"nodeType":"ExpressionStatement","src":"50719:48:111"},{"eventCall":{"arguments":[{"expression":{"id":75888,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"50789:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50806:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"50789:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},{"id":75890,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75652,"src":"50818:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75891,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"50830:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75887,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79493,"src":"50782:6:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79606_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":75892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50782:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75893,"nodeType":"EmitStatement","src":"50777:61:111"}]},"baseFunctions":[79501],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"48056:4:111","overrides":{"id":75656,"nodeType":"OverrideSpecifier","overrides":[],"src":"48107:8:111"},"parameters":{"id":75655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75652,"mutability":"mutable","name":"_disputeID","nameLocation":"48069:10:111","nodeType":"VariableDeclaration","scope":75895,"src":"48061:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75651,"name":"uint256","nodeType":"ElementaryTypeName","src":"48061:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75654,"mutability":"mutable","name":"_ruling","nameLocation":"48089:7:111","nodeType":"VariableDeclaration","scope":75895,"src":"48081:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75653,"name":"uint256","nodeType":"ElementaryTypeName","src":"48081:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48060:37:111"},"returnParameters":{"id":75657,"nodeType":"ParameterList","parameters":[],"src":"48116:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75904,"nodeType":"FunctionDefinition","src":"50851:66:111","nodes":[],"body":{"id":75903,"nodeType":"Block","src":"50915:2:111","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":75901,"kind":"modifierInvocation","modifierName":{"id":75900,"name":"onlyOwner","nameLocations":["50905:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"50905:9:111"},"nodeType":"ModifierInvocation","src":"50905:9:111"}],"name":"_authorizeUpgrade","nameLocation":"50860:17:111","overrides":{"id":75899,"nodeType":"OverrideSpecifier","overrides":[],"src":"50896:8:111"},"parameters":{"id":75898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75904,"src":"50878:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75896,"name":"address","nodeType":"ElementaryTypeName","src":"50878:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50877:9:111"},"returnParameters":{"id":75902,"nodeType":"ParameterList","parameters":[],"src":"50915:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75908,"nodeType":"VariableDeclaration","src":"50923:25:111","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"50943:5:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":75905,"name":"uint256","nodeType":"ElementaryTypeName","src":"50923:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75907,"length":{"hexValue":"3530","id":75906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50931:2:111","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"50923:11:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":72504,"name":"OwnableUpgradeable","nameLocations":["4075:18:111"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"4075:18:111"},"id":72505,"nodeType":"InheritanceSpecifier","src":"4075:18:111"},{"baseName":{"id":72506,"name":"BaseStrategyUpgradeable","nameLocations":["4095:23:111"],"nodeType":"IdentifierPath","referencedDeclaration":72314,"src":"4095:23:111"},"id":72507,"nodeType":"InheritanceSpecifier","src":"4095:23:111"},{"baseName":{"id":72508,"name":"IArbitrable","nameLocations":["4120:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79502,"src":"4120:11:111"},"id":72509,"nodeType":"InheritanceSpecifier","src":"4120:11:111"},{"baseName":{"id":72510,"name":"IPointStrategy","nameLocations":["4133:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72381,"src":"4133:14:111"},"id":72511,"nodeType":"InheritanceSpecifier","src":"4133:14:111"},{"baseName":{"id":72512,"name":"ERC165","nameLocations":["4149:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":57806,"src":"4149:6:111"},"id":72513,"nodeType":"InheritanceSpecifier","src":"4149:6:111"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[75909,57806,58012,72381,79502,72314,3089,3317,3106,2969,55753,55406,55055,55065,52984,53777,53233],"name":"CVStrategyV0_0","nameLocation":"4057:14:111","scope":75910,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,72515,72517,72519,72521,72523,72525,72527,72529,72531,72533,72535,72543,72545,72547,72553,72555,72557,72561,72565,72571,72573,72575,72583,72585,72587,72593,72595,72599,72601,72603,72609,72611]}],"license":"AGPL-3.0-only"},"id":111}
\ No newline at end of file
+{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"DISPUTE_COOLDOWN_SEC","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"RULING_OPTIONS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"arbitrableConfig","inputs":[],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICollateralVault"}],"stateMutability":"view"},{"type":"function","name":"cvParams","inputs":[],"outputs":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputeCount","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"disputeIdToProposalId","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"context","type":"string","internalType":"string"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getDecay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"disputeInfo","type":"tuple","internalType":"struct StrategyStruct.ProposalDisputeInfo","components":[{"name":"disputeId","type":"uint256","internalType":"uint256"},{"name":"disputeTimestamp","type":"uint256","internalType":"uint256"},{"name":"challenger","type":"address","internalType":"address"},{"name":"submitterCollateralVault","type":"uint256","internalType":"uint256"}]},{"name":"lastDisputeCompletion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"registryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rule","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunity","inputs":[{"name":"_registryCommunity","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportProposal","inputs":[{"name":"","type":"tuple[]","internalType":"struct StrategyStruct.ProposalSupport[]","components":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"deltaSupport","type":"int256","internalType":"int256"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeRequest","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_arbitrableDisputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_externalDisputeID","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolParamsUpdated","inputs":[{"name":"cvParams","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalDisputed","inputs":[{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"disputeId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challenger","type":"address","indexed":false,"internalType":"address"},{"name":"context","type":"string","indexed":false,"internalType":"string"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TribunaSafeRegistered","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"address"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"ArbitrationConfigCannotBeChangedDuringDispute","inputs":[]},{"type":"error","name":"ArbitratorCannotBeZero","inputs":[]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"DefaultRulingNotSet","inputs":[]},{"type":"error","name":"DisputeCooldownNotPassed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_remainingSec","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"InsufficientCollateral","inputs":[{"name":"sentAmount","type":"uint256","internalType":"uint256"},{"name":"requiredAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyArbitrator","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotDisputed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a0806040523461006c5730608052606a80546001600160a01b031916733b1fbfb04db3585920b2eadbb8839fc9680fe8cd179055606d80546001600160401b03191690556000606e556152e0908161007282396080518181816121760152818161226001526125600152f35b600080fdfe60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613ae257806301ffc9a714613a8b578063058aca44146139b5578063062f9ece146139045780630a6f0ee9146135b55780630ba95909146119ee5780630bece79c1461358c5780630c0512e91461356e5780630f529ba2146135505780631073e996146134fd57806315cc481e146134d45780631aa91a9e146134b55780631ddf1e231461349b5780632506b87014613464578063255ffb381461343a5780632bbe0cae14612f785780632dbd6fdd146114185780632ed04b2b14612d06578063311a6c56146127ec57806333960459146127ce578063346db8cb146127a9578063351d9f96146127835780633659cfe61461253b57806338fff2d01461251d578063406244d81461250157806342fda9c7146124e35780634ab4ba42146124c55780634d31d087146124865780634f1ef2861461222257806352d1902d1461216357806359a5db8b146121445780635db64b99146114435780636003e4141461211b578063626c47e8146120ff5780636453d9c4146120d5578063715018a614612089578063782aadff14611ccf578063814516ad14611bd7578063817b1cd214611bb9578063824ea8ed14611b4c578063868c57b814611af65780638da5cb5b14611acd578063950559d714611a825780639a1c157c14611a64578063a0cf0aea14611a35578063a28889e114611a0c578063a47ff7e5146119ee578063a574cea414611994578063aba9ffee1461132d578063ac1ed7b914611946578063b2b878d014611883578063b41596ec14611501578063b5f620ce146114a5578063b6c61f311461147c578063bcc5b93b14611443578063c329217114611418578063c7f758a81461134b578063d1e362321461132d578063dc96ff2d14611300578063df868ed3146112dd578063e0dd2c3814611293578063e33add93146111e4578063eb11af931461119a578063edd146cc14610d11578063ef2920fc14610617578063f09a401614610487578063f2fde38b146103f9578063f321b3051461039e578063f5b0dfb7146103455763f5be3f7c14610326575061000e565b346103425780600319360112610342576020604051611c208152f35b80fd5b5034610342576020366003190112610342577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103856142f2565b610391816069546142cf565b606955604051908152a180f35b5034610342576040366003190112610342576103b8613e56565b602435906001600160401b0382116103f557366023830112156103f5576103ec6103f2923690602481600401359101613f22565b90614284565b80f35b8280fd5b503461034257602036600319011261034257610413613e56565b61041b61402a565b6001600160a01b03811615610433576103f290614082565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610342576040366003190112610342576104a1613e56565b6104a9613e6c565b825460ff8160081c16159283809461060a575b80156105f3575b156105975760ff19821660011785556105069184610586575b50604051906104ea82613ca8565b600a8252694356537472617465677960b01b6020830152614284565b61051f60ff845460081c1661051a81614322565b614322565b61052833614082565b606a80546001600160a01b0319166001600160a01b039290921691909117905561054f5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff1916610101178555386104dc565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156104c35750600160ff8316146104c3565b50600160ff8316106104bc565b5061062136613f74565b9061062a6142f2565b610632614306565b6001600160a01b0382811691908215610cff57607d5416938415610ced5760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610ca1578391610cd0575b5015610cbe5761068f86614587565b15610cac5760405163011de97360e61b81528581806106b2308b6004840161456d565b03818b5afa908115610ca1578391610c74575b5015610c62578351840193858501908681870312610c5a5780870151906001600160401b038211610c5e57019481603f87011215610c5a57868601519061070b82613e82565b966107196040519889613cde565b82885260408989019360061b820101938411610c5657604001915b838310610c245750505050819682975b85518910156107c1576107578987614a4b565b5151156107b7576107688987614a4b565b515161077381614a5f565b156107a0575061079461079a918861078b8c8a614a4b565b51015190614ab7565b98614382565b97610744565b85906040519063c1d17bef60e01b82526004820152fd5b9761079a90614382565b958093976107e06107fe93949698878b526081845260408b2054614ad3565b936040518080958194637817ee4f60e01b835230906004840161456d565b03915afa908115610c19578791610be7575b50808211610bca575082869594939652608182526040852055606094859185945b8451861015610bc6576108448686614a4b565b515193805115600014610aa157506040519461085f86613ca8565b600186528286019883368b37865115610a8c5785899a529590955b836108858989614a4b565b51015196868a528960809485875260408220946009860193896000528489526108b46040600020549c8d614ad3565b948a60005289528460406000205583918460408954965b8d815260828d52208054821015610a77576108e7828892613fcf565b90549060031b1c1461090a57908f9291610902604091614382565b9192936108cb565b509a949391509b96919c60019b96959b5b15610a0d575b5061098696959493929190508185116109d45761093e8583614624565b61094b606f9182546142cf565b90556109578583614624565b610966600286019182546142cf565b90555b600784019384541560001461098f57505050509050439055614382565b94939695610831565b60a094506109ac6000805160206151ab8339815191529682614da7565b6003600282015491015492604051948b86528a86015260408501528b840152820152a1614382565b6109de8286614624565b6109eb606f918254614624565b90556109f78286614624565b610a0660028601918254614624565b9055610969565b8981526082895260409020805490600160401b821015610a635781610a419160016109869b9a999897969594018155613fcf565b819291549060031b91821b91600019901b19161790559091929394958d610921565b50634e487b7160e01b8f5260416004528d8ffd5b50509a9493919d909c97929d9b96959b61091b565b82634e487b7160e01b60005260326004526000fd5b9497918794979693919698855b8751811015610af35789610ac2828a614a4b565b5114610ad657610ad190614382565b610aae565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b50989794979691939692909215610b0e575b9487989561087a565b949788516001998a8201809211610bb357899a610b2a83613e82565b92610b386040519485613cde565b808452610b47601f1991613e82565b0136878501378a815b610b6d575b5050610b6387915183614a4b565b5295909850610b05565b90919293949a8351821015610ba9575080610b8b610b9c9285614a4b565b51610b968287614a4b565b52614382565b908b9a9493929181610b50565b9a94939291610b55565b634e487b7160e01b8a526011600452838afd5b8680f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610c12575b610bfe8183613cde565b81010312610c0d575187610810565b600080fd5b503d610bf4565b6040513d89823e3d90fd5b6040898484030112610c5657886040918251610c3f81613ca8565b855181528286015183820152815201920191610734565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610c949150863d8811610c9a575b610c8c8183613cde565b810190614555565b386106c5565b503d610c82565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610ce79150863d8811610c9a57610c8c8183613cde565b38610680565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610342576040366003190112610342576004356001600160401b03602435818111610c5a57610d46903690600401613f59565b610d4e6142f2565b610d566142f2565b6068546111885782156111765782606855606a546e5af43d82803e903d91602b57fd5bf3606c54610d8681614382565b606c5560405160208101913360601b8352603482015260348152610da981613cc3565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017875260789290921b6001600160781b031916176020526001600160a01b03906037600987f516801561113757607e80546001600160a01b031981168317909155859190821617803b156111335781809160046040518094819363204a7f0760e21b83525af1801561112857611114575b5050808051810103916101e08312610c5e576040519260e08401848110838211176110fa57806040526080821261111057610e7981613c5f565b60208401518152604084015161010086015260608401516101208601526080840151610140860152845260a0830151600381101561111057602085015260c08301516004811015611110576040850152602060bf19820112610c565760405160208101928311818410176110fa5760c09260405260e08401518152606085015260df190112610c5a57604051610f0e81613c7a565b6101008201516001600160a01b0381168103610c56578152610f336101208301614391565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610f896101e0610f7c6101c08401614391565b928360a086015201614391565b60c08301526001600160a01b031615610ced5760a0810151607d80546001600160a01b0319166001600160a01b0392909216919091179055602081015160038110156110e657607554604083015160048110156110d25791610200939160ff61ff007fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b979560081b1692169061ffff1916171760755560608101515160765560018060a01b0360c08201511660018060a01b0319607f541617607f556110556080820151825190614e2c565b6040519182526110696020830182516143a5565b61107b602082015160a0840190613fc2565b61108d604082015160c0840190613fb5565b60608101515160e08301526110ab60808201516101008401906143c8565b60a08101516001600160a01b039081166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b86526021600452602486fd5b634e487b7160e01b84526021600452602484fd5b634e487b7160e01b600052604160045260246000fd5b8680fd5b61111d90613c95565b610c5a578338610e3f565b6040513d84823e3d90fd5b5080fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b5034610342576020366003190112610342576001600160a01b036111bc613e56565b16151590506111db57602060035b604051906111d781613dce565b8152f35b602060026111ca565b50346103425760208060031936011261113357600435906001600160401b0382116103f557366023830112156103f557816004013560248261122583613e82565b6112326040519182613cde565b838152019160061b84010192368411610c5e57602401905b8382106112635760405163d623472560e01b8152600490fd5b604082360312610c5e5782604091825161127c81613ca8565b84358152828501358382015281520191019061124a565b503461034257604036600319011261034257600960406112b1613e6c565b926004358152608060205220019060018060a01b03166000526020526020604060002054604051908152f35b5034610342578060031936011261034257602060ff606754166040519015158152f35b50346103425760203660031901126103425760026040602092600435815260808452200154604051908152f35b50346103425780600319360112610342576020607054604051908152f35b5034610342576020366003190112610342576101409060043581526080602052604081206001810154918215600014611409575b60018060a01b03918260058201541693836004830154169360068301541690600283015460ff600885015416916007850154936009600387015496336000520160205260406000205497604051998a5260208a01526040890152606088015260808701526113ec81613dce565b60a086015260c085015260e0840152610100830152610120820152f35b5061141382614c1c565b61137f565b5034610342578060031936011261034257602060ff60755460081c166114416040518092613fb5565bf35b5034610342576020366003190112610342576020906040906001600160a01b0361146b613e56565b168152608183522054604051908152f35b5034610342578060031936011261034257607f546040516001600160a01b039091168152602090f35b5034610342576020366003190112610342576004358015158091036111335760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610342576024356001600160401b0381116111335761152d903690600401613ffd565b906044356001600160401b038111610c5a5761154d903690600401613ffd565b600435855260806020526040852060775490939291906001600160a01b0316156118715760043584540361185857600160ff60088601541661158e81613dce565b0361183f57607a5490813410611820576010850154801515806117f8575b6117c257506115bb8234614624565b918760018060a01b03607e541691823b15611133576040519283809263240ff7c560e11b8252816115f2336004356004840161451a565b03925af180156117b7576117a3575b509160209161164396979360018060a01b03607754169160405180998195829463c13517e160e01b8452600360048501526040602485015260448401916150e1565b03925af1938415611796578194611762575b5060088301805460ff19166005179055600c830184905542600d8401908155600e90930180546001600160a01b031916331790558381526083602052604081206004359055606d54906001600160401b038083169190821461174e57506001600160401b031990911660019091016001600160401b031617606d556077549154604080516001600160a01b0394909416845260043560208581019190915290840185905233606085015260c06080850181905290957f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d949384939261173d92908501916150e1565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9093506020813d60201161178e575b8161177e60209383613cde565b81010312610c0d57519238611655565b3d9150611771565b50604051903d90823e3d90fd5b6117ad8891613c95565b6111105738611601565b6040513d8a823e3d90fd5b87611c20820180921161174e5760446117db4284614624565b60405190638d2f6c3160e01b825260043560048301526024820152fd5b50611c20810180821161180c5742106115ac565b634e487b7160e01b89526011600452602489fd5b604051632c1f8ef160e21b815234600482015260248101839052604490fd5b60246040516344980d8f60e01b81526004356004820152fd5b602460405163c1d17bef60e01b81526004356004820152fd5b604051636c291fd360e01b8152600490fd5b5034610342576040366003190112610342576001600160401b0390600435828111611133576118b6903690600401613e99565b50602480358381116103f557366023820112156103f5578060040135916118dc83613e82565b946118ea6040519687613cde565b8386528160208097019460051b8401019436861161034257828401945b8686106119205760405163d623472560e01b8152600490fd5b85358381116103f557889161193b83928736918a0101613f59565b815201950194611907565b503461034257602036600319011261034257611960613e56565b611968615071565b61197181614533565b607f80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610342576020366003190112610342576119d6600a60406119ea936060602083516119c081613ca8565b8381520152600435815260806020522001613d01565b604051918291602083526020830190613e36565b0390f35b50346103425780600319360112610342576020607654604051908152f35b5034610342578060031936011261034257606d546040516001600160401b039091168152602090f35b5034610342578060031936011261034257602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103425780600319360112610342576020607354604051908152f35b50346103425760203660031901126103425760043562989680918282029180830484149015171561174e57607354830392831161174e576020611ac584846148c7565b604051908152f35b50346103425780600319360112610342576033546040516001600160a01b039091168152602090f35b503461034257604036600319011261034257611b10613e56565b6001600160a01b0316815260826020526040812080546024359290831015610342576020611b3e8484613fcf565b90546040519160031b1c8152f35b503461034257602036600319011261034257604060209160043581526080835220611b7b600282015482614dd9565b81929192159081611bb0575b50611ba4575b6001611b9a910154614c1c565b1115604051908152f35b60038101549150611b8d565b90501538611b87565b50346103425780600319360112610342576020606f54604051908152f35b5034610342578060031936011261034257611bf133614587565b15610cac57607d546001600160a01b039082908216803b1561113357816040518092630d4a8b4960e01b8252818381611c2e30336004840161456d565b03925af1801561112857611cbb575b5050607d541660206040518092637817ee4f60e01b82528180611c6430336004840161456d565b03915afa8015611128578290611c88575b611c8291506070546142cf565b60705580f35b506020813d8211611cb3575b81611ca160209383613cde565b81010312610c0d57611c829051611c75565b3d9150611c94565b611cc490613c95565b611133578138611c3d565b503461034257604036600319011261034257611ce9613e56565b602435611cf46145fe565b611cfd82614587565b15610cac578260ff60755460081c1660048110156120755760028103611de757505080915b607d5460405163011de97360e61b81529060209082906001600160a01b03168180611d5130886004840161456d565b03915afa908115611ddc57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611dbf575b50611dab575b611da08460405193849384614850565b0390a1604051908152f35b611db7846070546142cf565b607055611d90565b611dd69150863d8111610c9a57610c8c8183613cde565b38611d8a565b6040513d87823e3d90fd5b60018103611e93575050607d54604051637817ee4f60e01b8152829160209082906001600160a01b03168180611e21308a6004840161456d565b03915afa908115611ddc578591611e62575b50611e3e83826142cf565b607654809111611e51575b505091611d22565b611e5b9250614624565b3880611e49565b90506020813d8211611e8b575b81611e7c60209383613cde565b81010312610c0d575138611e33565b3d9150611e6f565b90929060021901611d2257607d546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610c195785908890612044575b611ee992506142cf565b6040516336d8759760e21b81529060128483600481895afa90811561203957611f529486611f4793611f4d968d9161200c575b5060046040518094819363313ce56760e01b8352165afa8b9181611fdd575b50611fd2575b506148a6565b906148b4565b6148e7565b816040518094637817ee4f60e01b82528180611f72308b6004840161456d565b03915afa918215611fc7578692611f95575b50611f8f9250614624565b91611d22565b90915082813d8311611fc0575b611fac8183613cde565b81010312610c0d57611f8f91519038611f84565b503d611fa2565b6040513d88823e3d90fd5b60ff91501638611f41565b611ffe919250883d8a11612005575b611ff68183613cde565b81019061488d565b9038611f3b565b503d611fec565b61202c9150823d8411612032575b6120248183613cde565b81019061486e565b38611f1c565b503d61201a565b6040513d8b823e3d90fd5b50508281813d831161206e575b61205b8183613cde565b81010312610c0d5784611ee99151611edf565b503d612051565b634e487b7160e01b85526021600452602485fd5b50346103425780600319360112610342576120a261402a565b603380546001600160a01b031981169091556000906001600160a01b03166000805160206151cb8339815191528280a380f35b5034610342576020366003190112610342576103f26120f2613e56565b6120fa6145fe565b614631565b5034610342578060031936011261034257602060405160038152f35b5034610342578060031936011261034257607d546040516001600160a01b039091168152602090f35b5034610342576020366003190112610342576020611ac5600435614c1c565b50346103425780600319360112610342577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036121bc57602060405160008051602061518b8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261034257612237613e56565b6024356001600160401b0381116103f557612256903690600401613f59565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190612290308514156140b9565b6122ad60008051602061518b833981519152948286541614614108565b6122b561402a565b60008051602061512b8339815191525460ff16156122d95750506103f29150614157565b8216604051936352d1902d60e01b85526020948581600481865afa60009181612457575b5061234c5760405162461bcd60e51b815260048101879052602e602482015260008051602061526b83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94929394036124125761235e84614157565b6000805160206151eb833981519152600080a281511580159061240a575b612387575b50505080f35b6123f8926000806040519461239b86613cc3565b6027865260008051602061524b83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612401573d6123db81613f07565b906123e96040519283613cde565b8152600081943d92013e6141e7565b50388080612381565b606092506141e7565b50600161237c565b60405162461bcd60e51b8152600481018390526029602482015260008051602061522b8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d831161247f575b61246e8183613cde565b8101031261034257505190386122fd565b503d612464565b5034610342576020366003190112610342576001600160a01b036124a8613e56565b166124bb576020905b6040519015158152f35b50602060016124b1565b50346103425780600319360112610342576020606954604051908152f35b50346103425780600319360112610342576020606654604051908152f35b50346103425780600319360112610342576020604051600a8152f35b50346103425780600319360112610342576020606854604051908152f35b50346103425760208060031936011261113357612556613e56565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661258d308214156140b9565b6125aa60008051602061518b833981519152918383541614614108565b6125b261402a565b604051848101929091906001600160401b038411838510176110fa578360405286835260ff60008051602061512b83398151915254166000146125fd57505050506103f29150614157565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612754575b506126705760405162461bcd60e51b815260048101889052602e602482015260008051602061526b83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b959394950361270f5761268282614157565b6000805160206151eb833981519152600080a2825115801590612707575b6126ac575b5050505080f35b6000806126fd95604051956126c087613cc3565b6027875260008051602061524b83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612401573d6123db81613f07565b50388080806126a5565b5060006126a0565b60405162461bcd60e51b8152600481018490526029602482015260008051602061522b8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d831161277c575b61276b8183613cde565b810103126103425750519038612621565b503d612761565b5034610342578060031936011261034257602060ff607554166114416040518092613fc2565b5034610342576060366003190112610342576020611ac5604435602435600435614b0e565b50346103425780600319360112610342576020606c54604051908152f35b5034610342576040366003190112610342576004359060243591808252602092608384526040832054938484526080815260408420948015612cee57600886018054600560ff821661283d81613dce565b03612cd557612853600d890154607c54906142cf565b42118015908180612cc0575b612cae5790612ca6575b15612a135750607b548015612a01576001146129f1575b6002607b54146129e0575b50607e54600e870154607a546001600160a01b039182169392821690813b156129c8576128d48992839260405194858094819363099ea56b60e41b9b8c84528b60048501614a2a565b03925af180156117b7579088916129cc575b505080607e54169060058901541691600f89015493823b156129c85790888094939261292060405197889687958694855260048501614a2a565b03925af18015611ddc579085916129b4575b50505b606d546001600160401b0380821696919087156129a0577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769495969760001901169060018060401b03191617606d5560104291015560018060a01b036077541692604051908152a380f35b634e487b7160e01b87526011600452602487fd5b6129bd90613c95565b610c5a578338612932565b8880fd5b6129d590613c95565b6111105786386128e6565b805460ff191660061790553861288b565b805460ff19166001178155612880565b604051630dd466dd60e41b8152600490fd5b60018503612aec5750805460ff19166001179055607e54600e870154607d54604051633629edcd60e11b81526001600160a01b03928316938316929186908290600490829086165afa908115612039578991612acf575b50607a54833b15612acb578994939291612a9e869260405198899788968795638969ab5360e01b8752169160048601615102565b03925af18015611ddc57908591612ab7575b5050612935565b612ac090613c95565b610c5a578338612ab0565b8980fd5b612ae69150863d8811612032576120248183613cde565b38612a6a565b60028514612afd575b505050612935565b60ff19166006179055607e54600e87018054607a5491926001600160a01b039291908316908316813b15612acb57918991612b50938360405180968195829463099ea56b60e41b84528c60048501614a2a565b03925af180156117b757908891612c92575b505080607e541692600460058a0192808454168782607d541660405194858092633629edcd60e11b82525afa928315612c64578b93612c73575b50600f8c0196875460011c91813b15612c6f57918c91612bd993836040518096819582948a638969ab5360e01b9c8d865216908d60048601615102565b03925af18015612c6457908b91612c50575b50508080607e5416945416945416945460011c833b15612acb578994939291612c24869260405198899788968795865260048601615102565b03925af18015611ddc57908591612c3c575b80612af5565b612c4590613c95565b610c5a578338612c36565b612c5990613c95565b612acb578938612beb565b6040513d8d823e3d90fd5b8c80fd5b612c8b919350883d8a11612032576120248183613cde565b9138612b9c565b612c9b90613c95565b611110578638612b62565b508415612869565b604051631777988560e11b8152600490fd5b506077546001600160a01b031633141561285f565b604051634b011ca960e11b815260048101849052602490fd5b6024906040519063c1d17bef60e01b82526004820152fd5b503461034257604036600319011261034257612d20613e56565b60243591612d2c6145fe565b60ff60755460081c166004811015612f645760028114908115612f59575b5015612d85575060008051602061514b83398151915282602093925b612d7284607054614624565b607055611da08460405193849384614850565b607d546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611ddc57829187918791612f3c575b5060046040518094819363313ce56760e01b8352165afa859181612f1d575b50612f12575b506040516316308e2560e11b815290861660048201528481602481865afa908115612f07579087918591612ed4575b5091611f47612e2c611f4d93612e3295614624565b916148a6565b92806040518093637817ee4f60e01b82528180612e53308b6004840161456d565b03915afa928315612ec85792612e88575b505092612e8260008051602061514b83398151915292602095614624565b92612d66565b9080959250813d8311612ec1575b612ea08183613cde565b81010312610c0d579251612e8260008051602061514b833981519152612e64565b503d612e96565b604051903d90823e3d90fd5b809250868092503d8311612f00575b612eed8183613cde565b81010312610c0d57518690611f47612e17565b503d612ee3565b6040513d86823e3d90fd5b60ff16915038612de8565b612f35919250873d891161200557611ff68183613cde565b9038612de2565b612f539150823d8411612032576120248183613cde565b38612dc3565b600191501438612d4a565b634e487b7160e01b82526021600452602482fd5b50612f8236613f74565b9091612f8c6142f2565b612f94614306565b612f9d82614587565b15610cac578251830190602093848184031261113357808501516001600160401b0391828211610c5a57019260a0848203126103f5576040519160a08301838110828211176110fa57604052868501518352612ffb60408601614391565b928781019384526060860151956040820196875261301b60808201614391565b936060830194855260a0820151908482116134365761304092908b0191018a01614408565b608082019081528151156134245760ff607554169160038310156134105760018093146132dd575b506077546001600160a01b03979088161515806132d2575b6132b25761308f606e54614382565b9889606e5589885260808b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b8501930151805191821161329e5761311a8454613c25565b601f8111613257575b508990601f83116001146131f75792829391839289946131ec575b50501b916000199060031b1c19161790555b600f6079549101558280607e541691541690803b156103f55761318b918391604051808095819463240ff7c560e11b83528a6004840161451a565b039134905af18015611128576131d8575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6131e28291613c95565b610342578061319c565b01519250388061313e565b8488528a8820919083601f1981168a8e5b8883831061323f5750505010613226575b505050811b019055613150565b015160001960f88460031b161c19169055388080613219565b8686015188559096019594850194879350018e613208565b8488528a8820601f840160051c8101918c8510613294575b601f0160051c019084905b828110613288575050613123565b6000815501849061327a565b909150819061326f565b634e487b7160e01b87526041600452602487fd5b604460795460405190632c1f8ef160e21b82523460048301526024820152fd5b506079543410613080565b85516001600160a01b0391906132f4908316614533565b81865116156133fe57604051630ae6240f60e11b8152908b82600481305afa91821561203957918991849383926133bf575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa9182156117b757889261339b575b5060408187511692015116036133895761336d8751614a8e565b6133775738613068565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b6133b89192503d808a833e6133b08183613cde565b810190614483565b9038613353565b92509250508b81813d83116133f7575b6133d98183613cde565b810103126129c8575182811681036129c85782918991906024613326565b503d6133cf565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b8780fd5b50346103425760203660031901126103425760406020916004358152608383522054604051908152f35b5034610342578060031936011261034257608060715460725460735460745491604051938452602084015260408301526060820152f35b50346103425780600319360112610342576103f233614631565b5034610342576020366003190112610342576020611ac5600435615043565b50346103425780600319360112610342576065546040516001600160a01b039091168152602090f35b503461034257806003193601126103425760c060018060a01b0380607754169060785416607954607a54607b5491607c5493604051958652602086015260408501526060840152608083015260a0820152f35b50346103425780600319360112610342576020604051629896808152f35b50346103425780600319360112610342576020606e54604051908152f35b5034610342578060031936011261034257607e546040516001600160a01b039091168152602090f35b5034610342576060366003190112610342576001600160401b0390600435828111611133576135e8903690600401613e99565b50602491823590811161113357613603903690600401613f59565b6001600160a01b0390604435828116036103f55761361f6142f2565b613627614306565b8051156138f2576020818051810103126103f5576020015180156138e0578083526080602052604083209160ff6075541660038110156138cd5760011461366c578380f35b818354036138b55760018301928354606954908181116138925750506008810195600160ff88541661369d81613dce565b0361387c576136ab84615043565b8554906136b782614c1c565b1180613873575b6138615786846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610c19579160409185938992613841575b5061370690606954614624565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613801575081809381925af1156137f4575b600460ff1982541617905581607e5416600f8360058401541692015491813b156111105791869161378f938360405180968195829463099ea56b60e41b84528b60048501614a2a565b03925af18015611ddc576137cf575b506137c49060008051602061528b83398151915294955416925460405193849384614a2a565b0390a1803880808380f35b9060008051602061528b833981519152946137ec6137c493613c95565b94509061379e565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d1560018851141716156138345785603452613746565b6390b8ec1886526004601cfd5b61370691925061385a903d808c833e6133b08183613cde565b91906136f9565b60405163199cf26160e31b8152600490fd5b508015156136be565b6040516344980d8f60e01b815260048101859052fd5b60649185918960405193632c31d85b60e11b855260048501528301526044820152fd5b60405163c1d17bef60e01b8152600481018390528590fd5b634e487b7160e01b855260216004528585fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b503461034257366003190161014081126111335760c0136103425760405161392b81613c7a565b6004356001600160a01b03811681036103f5578152613948613e6c565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112611133576040516103f29161398982613c5f565b60c435825260e43560208301526101043560408301526101243560608301526139b0615071565b614e2c565b5034610342576020366003190112610342576139cf613e56565b60018060a01b0390613a02602083606554166068549060405180809581946329e40d4b60e01b835233906004840161451a565b03915afa908115612f07578491613a6d575b5015613a5b577fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd91602091168060018060a01b0319607d541617607d55604051908152a180f35b60405163075fd2b160e01b8152600490fd5b613a85915060203d8111610c9a57610c8c8183613cde565b38613a14565b50346103425760203660031901126103425760043563ffffffff60e01b81168091036111335760209063f1801e6160e01b8114908115613ad1575b506040519015158152f35b6301ffc9a760e01b14905082613ac6565b503461034257602036600319011261034257604060209160043581526080835220613b6e8154916060613beb6001830154926002810154600382015460018060a01b0360048401541660018060a01b0360058501541660018060a01b036006860154169160078601549360ff600888015416956010613b63600a8a01613d01565b986040519d8e613c5f565b8d600c82015490528f8e90600d8301549101528d604060018060a01b03600e840154169101528d8c600f83015491015201549a6040519e8f9e8f908152015260408d0152888c015260808b015260a08a015260c089015260e0880152613bd381613dce565b6101008701526101e080610120880152860190613e36565b8351610140860152602084015161016086015260408401516001600160a01b03166101808601529201516101a08401526101c08301520390f35b90600182811c92168015613c55575b6020831014613c3f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613c34565b608081019081106001600160401b038211176110fa57604052565b60c081019081106001600160401b038211176110fa57604052565b6001600160401b0381116110fa57604052565b604081019081106001600160401b038211176110fa57604052565b606081019081106001600160401b038211176110fa57604052565b601f909101601f19168101906001600160401b038211908210176110fa57604052565b9060405191613d0f83613ca8565b8281548152600180920191604051928391600091805490613d2f82613c25565b80865291838116908115613da55750600114613d5c575b50505060209291613d58910384613cde565b0152565b909493925060005260209081600020946000915b818310613d8d57509394509192509082010181613d586020613d46565b86548884018501529586019587945091830191613d70565b60ff191660208781019190915292151560051b860183019450859350613d58929150613d469050565b60071115613dd857565b634e487b7160e01b600052602160045260246000fd5b60005b838110613e015750506000910152565b8181015183820152602001613df1565b90602091613e2a81518092818552858086019101613dee565b601f01601f1916010190565b9060406020613e5393805184520151918160208201520190613e11565b90565b600435906001600160a01b0382168203610c0d57565b602435906001600160a01b0382168203610c0d57565b6001600160401b0381116110fa5760051b60200190565b81601f82011215610c0d57803591613eb083613e82565b92613ebe6040519485613cde565b808452602092838086019260051b820101928311610c0d578301905b828210613ee8575050505090565b81356001600160a01b0381168103610c0d578152908301908301613eda565b6001600160401b0381116110fa57601f01601f191660200190565b929192613f2e82613f07565b91613f3c6040519384613cde565b829481845281830111610c0d578281602093846000960137010152565b9080601f83011215610c0d57816020613e5393359101613f22565b6040600319820112610c0d57600435906001600160401b038211610c0d57613f9e91600401613f59565b906024356001600160a01b0381168103610c0d5790565b906004821015613dd85752565b906003821015613dd85752565b8054821015613fe75760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610c0d578235916001600160401b038311610c0d5760208381860195010111610c0d57565b6033546001600160a01b0316330361403e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091166000805160206151cb833981519152600080a3565b156140c057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061516b83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561410f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061516b83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561418c5760008051602061518b83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561424957508151156141fb575090565b3b156142045790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561425c5750805190602001fd5b60405162461bcd60e51b815260206004820152908190614280906024830190613e11565b0390fd5b60018060a01b031660018060a01b031960655416176065556040516142c7816142b96020820194602086526040830190613e11565b03601f198101835282613cde565b519020606655565b919082018092116142dc57565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b03163303613a5b57565b6068541561431057565b604051630f68fe6360e21b8152600490fd5b1561432957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60001981146142dc5760010190565b51906001600160a01b0382168203610c0d57565b606080918051845260208101516020850152604081015160408501520151910152565b60a08091600180831b0380825116855260208201511660208501526040810151604085015260608101516060850152608081015160808501520151910152565b9190604083820312610c0d5760405161442081613ca8565b83518152602084015190938491906001600160401b038211610c0d57019082601f83011215610c0d5781519161445583613f07565b936144636040519586613cde565b83855260208483010111610c0d57602092613d5891848087019101613dee565b90602082820312610c0d5781516001600160401b0392838211610c0d570160c081830312610c0d57604051926144b884613c7a565b8151845260208201516001600160a01b0381168103610c0d5760208501526144e260408301614391565b60408501526060820151908111610c0d5760a092614501918301614408565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561454357565b6040516303988b8160e61b8152600490fd5b90816020910312610c0d57518015158103610c0d5790565b6001600160a01b0391821681529116602082015260400190565b607f546001600160a01b031680156145f7576145bd9160209160405180809581946302154c3d60e51b835230906004840161456d565b03915afa9081156145eb576000916145d3575090565b613e53915060203d8111610c9a57610c8c8183613cde565b6040513d6000823e3d90fd5b5050600190565b607d546001600160a01b0316330361461257565b6040516357848b5160e11b8152600490fd5b919082039182116142dc57565b607d5460408051637817ee4f60e01b81526020949391926000926001600160a01b0392909183169087818061466a30876004840161456d565b0381855afa8015614846578590614817575b6146899150607054614624565b607055803b15610c5a5783855180926322bcf99960e01b82528183816146b330896004840161456d565b03925af1801561480d576147fa575b501680825260828552828220948351808783829954938481520190865283862092865b858282106147e4575050506146fc92500387613cde565b825b86518110156147b457806147156147389289614a4b565b5180865260808085528787209161472b81614a5f565b61473d575b505050614382565b6146fe565b6000805160206151ab8339815191529260a0928860005260098201885260038b6000208b8154915561478f6002850191614778818454614624565b8355606f614787828254614624565b905585614da7565b54920154918b51938a8552898501528a8c8501526060840152820152a1388080614730565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c9550930192016146e5565b61480690939193613c95565b91386146c2565b85513d86823e3d90fd5b508781813d831161483f575b61482d8183613cde565b81010312610c5e57614689905161467c565b503d614823565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610c0d57516001600160a01b0381168103610c0d5790565b90816020910312610c0d575160ff81168103610c0d5790565b604d81116142dc57600a0a90565b818102929181159184041417156142dc57565b81156148d1570490565b634e487b7160e01b600052601260045260246000fd5b8015614a24576149b2816000908360801c80614a18575b508060401c80614a0b575b508060201c806149fe575b508060101c806149f1575b508060081c806149e4575b508060041c806149d7575b508060021c806149ca575b50600191828092811c6149c3575b1c1b61495a81856148c7565b01811c61496781856148c7565b01811c61497481856148c7565b01811c61498181856148c7565b01811c61498e81856148c7565b01811c61499b81856148c7565b01811c6149a881856148c7565b01901c80926148c7565b808210156149be575090565b905090565b018161494e565b6002915091019038614940565b6004915091019038614935565b600891509101903861492a565b601091509101903861491f565b6020915091019038614914565b6040915091019038614909565b915050608090386148fe565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b8051821015613fe75760209160051b010190565b60005260806020526040600020805415159081614a7a575090565b600501546001600160a01b03161515919050565b614a9d607154606954906148b4565b62989680918281029281840414901517156142dc57111590565b919091600083820193841291129080158216911516176142dc57565b614add8282614ab7565b9160008312614aeb57505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607354906298968093848360801b0490600160801b9182811015614bd8578583965b614b97575050614b4290856148b4565b93858302928084048714901517156142dc5781039081116142dc57614b66916148b4565b9083039283116142dc57614b8392614b7d916148c7565b906142cf565b6001607f1b81019081106142dc5760801c90565b600191818316614bb75780614bab91614cf0565b911c90815b9091614b32565b809250614bc49197614cf0565b9560001981019081116142dc579081614bb0565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614cde57614c2e82614a8e565b61337757607154604081901b92600160401b92918015908504841417156142dc578060401b9281840414901517156142dc57614c70614c7c91614c97936148c7565b62989680809404614624565b614c8e8360725460801b0491806148b4565b60401c906148c7565b818102908082048314901517156142dc5760735482039182116142dc57614cca91614cc1916148c7565b607054906148b4565b60401c6074548082116000146149be575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614d5157811015614d0d57614b83916148b4565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614db29082614dd9565b9091821580614dd1575b614dcc5760039160078201550155565b505050565b508115614dbc565b4391600782015491838311614e1657838314614e0a576003614dfe614e079486614624565b91015490614b0e565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b6020810180516001600160a01b03919082168015159081615036575b81614fb4575b50614ea4575b505081614ea16101409260008051602061520b8339815191529451607155602083015160725560408301516073556060830151607455614e9760405180946143a5565b60808301906143c8565ba1565b606d549193916001600160401b0316614fa257838351169284825116843b15610c0d5760009460248692604051978893849263446adb9960e11b845260048401525af19182156145eb5760008051602061520b8339815191529561014095614ea194614f93575b5060775490607854927fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f606060405130815284861660208201528487166040820152a18185511660018060a01b031980941617607755511691161760785560408101516079556060810151607a556080810151607b5560a0810151607c559250819350614e54565b614f9c90613c95565b38614f0b565b60405163fcc12b5b60e01b8152600490fd5b60785484161480159150615025575b8015615015575b8015615005575b8015614ff5575b8015614fe5575b38614e4e565b5060a0830151607c541415614fdf565b506080830151607b541415614fd8565b506060830151607a541415614fd1565b5060408301516079541415614fca565b508183511682607754161415614fc3565b8451841615159150614e48565b80600052608060205260406000209080825403612cee57508061506c6002600393015482614da7565b015490565b607d54604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa9081156145eb576000916150c3575b501633036150b157565b604051637430763f60e11b8152600490fd5b6150db915060203d8111612032576120248183613cde565b386150a7565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b0391821660208201529116604082015260608101919091526080019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bb47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a2646970667358221220637e2f85b9547f42a5ec7349b99466417003874d0612be19e5c0661f18cba89764736f6c63430008130033","sourceMap":"4050:46936:111:-:0;;;;;;;1088:4:66;1080:13;;8423:51:111;4050:46936;;-1:-1:-1;;;;;;4050:46936:111;8431:42;4050:46936;;;8729:1;4050:46936;;-1:-1:-1;;;;;;4050:46936:111;;;-1:-1:-1;8769:1:111;4050:46936;;;;;;;1080:13:66;4050:46936:111;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613ae257806301ffc9a714613a8b578063058aca44146139b5578063062f9ece146139045780630a6f0ee9146135b55780630ba95909146119ee5780630bece79c1461358c5780630c0512e91461356e5780630f529ba2146135505780631073e996146134fd57806315cc481e146134d45780631aa91a9e146134b55780631ddf1e231461349b5780632506b87014613464578063255ffb381461343a5780632bbe0cae14612f785780632dbd6fdd146114185780632ed04b2b14612d06578063311a6c56146127ec57806333960459146127ce578063346db8cb146127a9578063351d9f96146127835780633659cfe61461253b57806338fff2d01461251d578063406244d81461250157806342fda9c7146124e35780634ab4ba42146124c55780634d31d087146124865780634f1ef2861461222257806352d1902d1461216357806359a5db8b146121445780635db64b99146114435780636003e4141461211b578063626c47e8146120ff5780636453d9c4146120d5578063715018a614612089578063782aadff14611ccf578063814516ad14611bd7578063817b1cd214611bb9578063824ea8ed14611b4c578063868c57b814611af65780638da5cb5b14611acd578063950559d714611a825780639a1c157c14611a64578063a0cf0aea14611a35578063a28889e114611a0c578063a47ff7e5146119ee578063a574cea414611994578063aba9ffee1461132d578063ac1ed7b914611946578063b2b878d014611883578063b41596ec14611501578063b5f620ce146114a5578063b6c61f311461147c578063bcc5b93b14611443578063c329217114611418578063c7f758a81461134b578063d1e362321461132d578063dc96ff2d14611300578063df868ed3146112dd578063e0dd2c3814611293578063e33add93146111e4578063eb11af931461119a578063edd146cc14610d11578063ef2920fc14610617578063f09a401614610487578063f2fde38b146103f9578063f321b3051461039e578063f5b0dfb7146103455763f5be3f7c14610326575061000e565b346103425780600319360112610342576020604051611c208152f35b80fd5b5034610342576020366003190112610342577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103856142f2565b610391816069546142cf565b606955604051908152a180f35b5034610342576040366003190112610342576103b8613e56565b602435906001600160401b0382116103f557366023830112156103f5576103ec6103f2923690602481600401359101613f22565b90614284565b80f35b8280fd5b503461034257602036600319011261034257610413613e56565b61041b61402a565b6001600160a01b03811615610433576103f290614082565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610342576040366003190112610342576104a1613e56565b6104a9613e6c565b825460ff8160081c16159283809461060a575b80156105f3575b156105975760ff19821660011785556105069184610586575b50604051906104ea82613ca8565b600a8252694356537472617465677960b01b6020830152614284565b61051f60ff845460081c1661051a81614322565b614322565b61052833614082565b606a80546001600160a01b0319166001600160a01b039290921691909117905561054f5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff1916610101178555386104dc565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156104c35750600160ff8316146104c3565b50600160ff8316106104bc565b5061062136613f74565b9061062a6142f2565b610632614306565b6001600160a01b0382811691908215610cff57607d5416938415610ced5760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610ca1578391610cd0575b5015610cbe5761068f86614587565b15610cac5760405163011de97360e61b81528581806106b2308b6004840161456d565b03818b5afa908115610ca1578391610c74575b5015610c62578351840193858501908681870312610c5a5780870151906001600160401b038211610c5e57019481603f87011215610c5a57868601519061070b82613e82565b966107196040519889613cde565b82885260408989019360061b820101938411610c5657604001915b838310610c245750505050819682975b85518910156107c1576107578987614a4b565b5151156107b7576107688987614a4b565b515161077381614a5f565b156107a0575061079461079a918861078b8c8a614a4b565b51015190614ab7565b98614382565b97610744565b85906040519063c1d17bef60e01b82526004820152fd5b9761079a90614382565b958093976107e06107fe93949698878b526081845260408b2054614ad3565b936040518080958194637817ee4f60e01b835230906004840161456d565b03915afa908115610c19578791610be7575b50808211610bca575082869594939652608182526040852055606094859185945b8451861015610bc6576108448686614a4b565b515193805115600014610aa157506040519461085f86613ca8565b600186528286019883368b37865115610a8c5785899a529590955b836108858989614a4b565b51015196868a528960809485875260408220946009860193896000528489526108b46040600020549c8d614ad3565b948a60005289528460406000205583918460408954965b8d815260828d52208054821015610a77576108e7828892613fcf565b90549060031b1c1461090a57908f9291610902604091614382565b9192936108cb565b509a949391509b96919c60019b96959b5b15610a0d575b5061098696959493929190508185116109d45761093e8583614624565b61094b606f9182546142cf565b90556109578583614624565b610966600286019182546142cf565b90555b600784019384541560001461098f57505050509050439055614382565b94939695610831565b60a094506109ac6000805160206151ab8339815191529682614da7565b6003600282015491015492604051948b86528a86015260408501528b840152820152a1614382565b6109de8286614624565b6109eb606f918254614624565b90556109f78286614624565b610a0660028601918254614624565b9055610969565b8981526082895260409020805490600160401b821015610a635781610a419160016109869b9a999897969594018155613fcf565b819291549060031b91821b91600019901b19161790559091929394958d610921565b50634e487b7160e01b8f5260416004528d8ffd5b50509a9493919d909c97929d9b96959b61091b565b82634e487b7160e01b60005260326004526000fd5b9497918794979693919698855b8751811015610af35789610ac2828a614a4b565b5114610ad657610ad190614382565b610aae565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b50989794979691939692909215610b0e575b9487989561087a565b949788516001998a8201809211610bb357899a610b2a83613e82565b92610b386040519485613cde565b808452610b47601f1991613e82565b0136878501378a815b610b6d575b5050610b6387915183614a4b565b5295909850610b05565b90919293949a8351821015610ba9575080610b8b610b9c9285614a4b565b51610b968287614a4b565b52614382565b908b9a9493929181610b50565b9a94939291610b55565b634e487b7160e01b8a526011600452838afd5b8680f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610c12575b610bfe8183613cde565b81010312610c0d575187610810565b600080fd5b503d610bf4565b6040513d89823e3d90fd5b6040898484030112610c5657886040918251610c3f81613ca8565b855181528286015183820152815201920191610734565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610c949150863d8811610c9a575b610c8c8183613cde565b810190614555565b386106c5565b503d610c82565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610ce79150863d8811610c9a57610c8c8183613cde565b38610680565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610342576040366003190112610342576004356001600160401b03602435818111610c5a57610d46903690600401613f59565b610d4e6142f2565b610d566142f2565b6068546111885782156111765782606855606a546e5af43d82803e903d91602b57fd5bf3606c54610d8681614382565b606c5560405160208101913360601b8352603482015260348152610da981613cc3565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017875260789290921b6001600160781b031916176020526001600160a01b03906037600987f516801561113757607e80546001600160a01b031981168317909155859190821617803b156111335781809160046040518094819363204a7f0760e21b83525af1801561112857611114575b5050808051810103916101e08312610c5e576040519260e08401848110838211176110fa57806040526080821261111057610e7981613c5f565b60208401518152604084015161010086015260608401516101208601526080840151610140860152845260a0830151600381101561111057602085015260c08301516004811015611110576040850152602060bf19820112610c565760405160208101928311818410176110fa5760c09260405260e08401518152606085015260df190112610c5a57604051610f0e81613c7a565b6101008201516001600160a01b0381168103610c56578152610f336101208301614391565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610f896101e0610f7c6101c08401614391565b928360a086015201614391565b60c08301526001600160a01b031615610ced5760a0810151607d80546001600160a01b0319166001600160a01b0392909216919091179055602081015160038110156110e657607554604083015160048110156110d25791610200939160ff61ff007fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b979560081b1692169061ffff1916171760755560608101515160765560018060a01b0360c08201511660018060a01b0319607f541617607f556110556080820151825190614e2c565b6040519182526110696020830182516143a5565b61107b602082015160a0840190613fc2565b61108d604082015160c0840190613fb5565b60608101515160e08301526110ab60808201516101008401906143c8565b60a08101516001600160a01b039081166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b86526021600452602486fd5b634e487b7160e01b84526021600452602484fd5b634e487b7160e01b600052604160045260246000fd5b8680fd5b61111d90613c95565b610c5a578338610e3f565b6040513d84823e3d90fd5b5080fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b5034610342576020366003190112610342576001600160a01b036111bc613e56565b16151590506111db57602060035b604051906111d781613dce565b8152f35b602060026111ca565b50346103425760208060031936011261113357600435906001600160401b0382116103f557366023830112156103f557816004013560248261122583613e82565b6112326040519182613cde565b838152019160061b84010192368411610c5e57602401905b8382106112635760405163d623472560e01b8152600490fd5b604082360312610c5e5782604091825161127c81613ca8565b84358152828501358382015281520191019061124a565b503461034257604036600319011261034257600960406112b1613e6c565b926004358152608060205220019060018060a01b03166000526020526020604060002054604051908152f35b5034610342578060031936011261034257602060ff606754166040519015158152f35b50346103425760203660031901126103425760026040602092600435815260808452200154604051908152f35b50346103425780600319360112610342576020607054604051908152f35b5034610342576020366003190112610342576101409060043581526080602052604081206001810154918215600014611409575b60018060a01b03918260058201541693836004830154169360068301541690600283015460ff600885015416916007850154936009600387015496336000520160205260406000205497604051998a5260208a01526040890152606088015260808701526113ec81613dce565b60a086015260c085015260e0840152610100830152610120820152f35b5061141382614c1c565b61137f565b5034610342578060031936011261034257602060ff60755460081c166114416040518092613fb5565bf35b5034610342576020366003190112610342576020906040906001600160a01b0361146b613e56565b168152608183522054604051908152f35b5034610342578060031936011261034257607f546040516001600160a01b039091168152602090f35b5034610342576020366003190112610342576004358015158091036111335760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610342576024356001600160401b0381116111335761152d903690600401613ffd565b906044356001600160401b038111610c5a5761154d903690600401613ffd565b600435855260806020526040852060775490939291906001600160a01b0316156118715760043584540361185857600160ff60088601541661158e81613dce565b0361183f57607a5490813410611820576010850154801515806117f8575b6117c257506115bb8234614624565b918760018060a01b03607e541691823b15611133576040519283809263240ff7c560e11b8252816115f2336004356004840161451a565b03925af180156117b7576117a3575b509160209161164396979360018060a01b03607754169160405180998195829463c13517e160e01b8452600360048501526040602485015260448401916150e1565b03925af1938415611796578194611762575b5060088301805460ff19166005179055600c830184905542600d8401908155600e90930180546001600160a01b031916331790558381526083602052604081206004359055606d54906001600160401b038083169190821461174e57506001600160401b031990911660019091016001600160401b031617606d556077549154604080516001600160a01b0394909416845260043560208581019190915290840185905233606085015260c06080850181905290957f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d949384939261173d92908501916150e1565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9093506020813d60201161178e575b8161177e60209383613cde565b81010312610c0d57519238611655565b3d9150611771565b50604051903d90823e3d90fd5b6117ad8891613c95565b6111105738611601565b6040513d8a823e3d90fd5b87611c20820180921161174e5760446117db4284614624565b60405190638d2f6c3160e01b825260043560048301526024820152fd5b50611c20810180821161180c5742106115ac565b634e487b7160e01b89526011600452602489fd5b604051632c1f8ef160e21b815234600482015260248101839052604490fd5b60246040516344980d8f60e01b81526004356004820152fd5b602460405163c1d17bef60e01b81526004356004820152fd5b604051636c291fd360e01b8152600490fd5b5034610342576040366003190112610342576001600160401b0390600435828111611133576118b6903690600401613e99565b50602480358381116103f557366023820112156103f5578060040135916118dc83613e82565b946118ea6040519687613cde565b8386528160208097019460051b8401019436861161034257828401945b8686106119205760405163d623472560e01b8152600490fd5b85358381116103f557889161193b83928736918a0101613f59565b815201950194611907565b503461034257602036600319011261034257611960613e56565b611968615071565b61197181614533565b607f80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610342576020366003190112610342576119d6600a60406119ea936060602083516119c081613ca8565b8381520152600435815260806020522001613d01565b604051918291602083526020830190613e36565b0390f35b50346103425780600319360112610342576020607654604051908152f35b5034610342578060031936011261034257606d546040516001600160401b039091168152602090f35b5034610342578060031936011261034257602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103425780600319360112610342576020607354604051908152f35b50346103425760203660031901126103425760043562989680918282029180830484149015171561174e57607354830392831161174e576020611ac584846148c7565b604051908152f35b50346103425780600319360112610342576033546040516001600160a01b039091168152602090f35b503461034257604036600319011261034257611b10613e56565b6001600160a01b0316815260826020526040812080546024359290831015610342576020611b3e8484613fcf565b90546040519160031b1c8152f35b503461034257602036600319011261034257604060209160043581526080835220611b7b600282015482614dd9565b81929192159081611bb0575b50611ba4575b6001611b9a910154614c1c565b1115604051908152f35b60038101549150611b8d565b90501538611b87565b50346103425780600319360112610342576020606f54604051908152f35b5034610342578060031936011261034257611bf133614587565b15610cac57607d546001600160a01b039082908216803b1561113357816040518092630d4a8b4960e01b8252818381611c2e30336004840161456d565b03925af1801561112857611cbb575b5050607d541660206040518092637817ee4f60e01b82528180611c6430336004840161456d565b03915afa8015611128578290611c88575b611c8291506070546142cf565b60705580f35b506020813d8211611cb3575b81611ca160209383613cde565b81010312610c0d57611c829051611c75565b3d9150611c94565b611cc490613c95565b611133578138611c3d565b503461034257604036600319011261034257611ce9613e56565b602435611cf46145fe565b611cfd82614587565b15610cac578260ff60755460081c1660048110156120755760028103611de757505080915b607d5460405163011de97360e61b81529060209082906001600160a01b03168180611d5130886004840161456d565b03915afa908115611ddc57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611dbf575b50611dab575b611da08460405193849384614850565b0390a1604051908152f35b611db7846070546142cf565b607055611d90565b611dd69150863d8111610c9a57610c8c8183613cde565b38611d8a565b6040513d87823e3d90fd5b60018103611e93575050607d54604051637817ee4f60e01b8152829160209082906001600160a01b03168180611e21308a6004840161456d565b03915afa908115611ddc578591611e62575b50611e3e83826142cf565b607654809111611e51575b505091611d22565b611e5b9250614624565b3880611e49565b90506020813d8211611e8b575b81611e7c60209383613cde565b81010312610c0d575138611e33565b3d9150611e6f565b90929060021901611d2257607d546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610c195785908890612044575b611ee992506142cf565b6040516336d8759760e21b81529060128483600481895afa90811561203957611f529486611f4793611f4d968d9161200c575b5060046040518094819363313ce56760e01b8352165afa8b9181611fdd575b50611fd2575b506148a6565b906148b4565b6148e7565b816040518094637817ee4f60e01b82528180611f72308b6004840161456d565b03915afa918215611fc7578692611f95575b50611f8f9250614624565b91611d22565b90915082813d8311611fc0575b611fac8183613cde565b81010312610c0d57611f8f91519038611f84565b503d611fa2565b6040513d88823e3d90fd5b60ff91501638611f41565b611ffe919250883d8a11612005575b611ff68183613cde565b81019061488d565b9038611f3b565b503d611fec565b61202c9150823d8411612032575b6120248183613cde565b81019061486e565b38611f1c565b503d61201a565b6040513d8b823e3d90fd5b50508281813d831161206e575b61205b8183613cde565b81010312610c0d5784611ee99151611edf565b503d612051565b634e487b7160e01b85526021600452602485fd5b50346103425780600319360112610342576120a261402a565b603380546001600160a01b031981169091556000906001600160a01b03166000805160206151cb8339815191528280a380f35b5034610342576020366003190112610342576103f26120f2613e56565b6120fa6145fe565b614631565b5034610342578060031936011261034257602060405160038152f35b5034610342578060031936011261034257607d546040516001600160a01b039091168152602090f35b5034610342576020366003190112610342576020611ac5600435614c1c565b50346103425780600319360112610342577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036121bc57602060405160008051602061518b8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261034257612237613e56565b6024356001600160401b0381116103f557612256903690600401613f59565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190612290308514156140b9565b6122ad60008051602061518b833981519152948286541614614108565b6122b561402a565b60008051602061512b8339815191525460ff16156122d95750506103f29150614157565b8216604051936352d1902d60e01b85526020948581600481865afa60009181612457575b5061234c5760405162461bcd60e51b815260048101879052602e602482015260008051602061526b83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94929394036124125761235e84614157565b6000805160206151eb833981519152600080a281511580159061240a575b612387575b50505080f35b6123f8926000806040519461239b86613cc3565b6027865260008051602061524b83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612401573d6123db81613f07565b906123e96040519283613cde565b8152600081943d92013e6141e7565b50388080612381565b606092506141e7565b50600161237c565b60405162461bcd60e51b8152600481018390526029602482015260008051602061522b8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d831161247f575b61246e8183613cde565b8101031261034257505190386122fd565b503d612464565b5034610342576020366003190112610342576001600160a01b036124a8613e56565b166124bb576020905b6040519015158152f35b50602060016124b1565b50346103425780600319360112610342576020606954604051908152f35b50346103425780600319360112610342576020606654604051908152f35b50346103425780600319360112610342576020604051600a8152f35b50346103425780600319360112610342576020606854604051908152f35b50346103425760208060031936011261113357612556613e56565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661258d308214156140b9565b6125aa60008051602061518b833981519152918383541614614108565b6125b261402a565b604051848101929091906001600160401b038411838510176110fa578360405286835260ff60008051602061512b83398151915254166000146125fd57505050506103f29150614157565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612754575b506126705760405162461bcd60e51b815260048101889052602e602482015260008051602061526b83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b959394950361270f5761268282614157565b6000805160206151eb833981519152600080a2825115801590612707575b6126ac575b5050505080f35b6000806126fd95604051956126c087613cc3565b6027875260008051602061524b83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612401573d6123db81613f07565b50388080806126a5565b5060006126a0565b60405162461bcd60e51b8152600481018490526029602482015260008051602061522b8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d831161277c575b61276b8183613cde565b810103126103425750519038612621565b503d612761565b5034610342578060031936011261034257602060ff607554166114416040518092613fc2565b5034610342576060366003190112610342576020611ac5604435602435600435614b0e565b50346103425780600319360112610342576020606c54604051908152f35b5034610342576040366003190112610342576004359060243591808252602092608384526040832054938484526080815260408420948015612cee57600886018054600560ff821661283d81613dce565b03612cd557612853600d890154607c54906142cf565b42118015908180612cc0575b612cae5790612ca6575b15612a135750607b548015612a01576001146129f1575b6002607b54146129e0575b50607e54600e870154607a546001600160a01b039182169392821690813b156129c8576128d48992839260405194858094819363099ea56b60e41b9b8c84528b60048501614a2a565b03925af180156117b7579088916129cc575b505080607e54169060058901541691600f89015493823b156129c85790888094939261292060405197889687958694855260048501614a2a565b03925af18015611ddc579085916129b4575b50505b606d546001600160401b0380821696919087156129a0577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769495969760001901169060018060401b03191617606d5560104291015560018060a01b036077541692604051908152a380f35b634e487b7160e01b87526011600452602487fd5b6129bd90613c95565b610c5a578338612932565b8880fd5b6129d590613c95565b6111105786386128e6565b805460ff191660061790553861288b565b805460ff19166001178155612880565b604051630dd466dd60e41b8152600490fd5b60018503612aec5750805460ff19166001179055607e54600e870154607d54604051633629edcd60e11b81526001600160a01b03928316938316929186908290600490829086165afa908115612039578991612acf575b50607a54833b15612acb578994939291612a9e869260405198899788968795638969ab5360e01b8752169160048601615102565b03925af18015611ddc57908591612ab7575b5050612935565b612ac090613c95565b610c5a578338612ab0565b8980fd5b612ae69150863d8811612032576120248183613cde565b38612a6a565b60028514612afd575b505050612935565b60ff19166006179055607e54600e87018054607a5491926001600160a01b039291908316908316813b15612acb57918991612b50938360405180968195829463099ea56b60e41b84528c60048501614a2a565b03925af180156117b757908891612c92575b505080607e541692600460058a0192808454168782607d541660405194858092633629edcd60e11b82525afa928315612c64578b93612c73575b50600f8c0196875460011c91813b15612c6f57918c91612bd993836040518096819582948a638969ab5360e01b9c8d865216908d60048601615102565b03925af18015612c6457908b91612c50575b50508080607e5416945416945416945460011c833b15612acb578994939291612c24869260405198899788968795865260048601615102565b03925af18015611ddc57908591612c3c575b80612af5565b612c4590613c95565b610c5a578338612c36565b612c5990613c95565b612acb578938612beb565b6040513d8d823e3d90fd5b8c80fd5b612c8b919350883d8a11612032576120248183613cde565b9138612b9c565b612c9b90613c95565b611110578638612b62565b508415612869565b604051631777988560e11b8152600490fd5b506077546001600160a01b031633141561285f565b604051634b011ca960e11b815260048101849052602490fd5b6024906040519063c1d17bef60e01b82526004820152fd5b503461034257604036600319011261034257612d20613e56565b60243591612d2c6145fe565b60ff60755460081c166004811015612f645760028114908115612f59575b5015612d85575060008051602061514b83398151915282602093925b612d7284607054614624565b607055611da08460405193849384614850565b607d546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611ddc57829187918791612f3c575b5060046040518094819363313ce56760e01b8352165afa859181612f1d575b50612f12575b506040516316308e2560e11b815290861660048201528481602481865afa908115612f07579087918591612ed4575b5091611f47612e2c611f4d93612e3295614624565b916148a6565b92806040518093637817ee4f60e01b82528180612e53308b6004840161456d565b03915afa928315612ec85792612e88575b505092612e8260008051602061514b83398151915292602095614624565b92612d66565b9080959250813d8311612ec1575b612ea08183613cde565b81010312610c0d579251612e8260008051602061514b833981519152612e64565b503d612e96565b604051903d90823e3d90fd5b809250868092503d8311612f00575b612eed8183613cde565b81010312610c0d57518690611f47612e17565b503d612ee3565b6040513d86823e3d90fd5b60ff16915038612de8565b612f35919250873d891161200557611ff68183613cde565b9038612de2565b612f539150823d8411612032576120248183613cde565b38612dc3565b600191501438612d4a565b634e487b7160e01b82526021600452602482fd5b50612f8236613f74565b9091612f8c6142f2565b612f94614306565b612f9d82614587565b15610cac578251830190602093848184031261113357808501516001600160401b0391828211610c5a57019260a0848203126103f5576040519160a08301838110828211176110fa57604052868501518352612ffb60408601614391565b928781019384526060860151956040820196875261301b60808201614391565b936060830194855260a0820151908482116134365761304092908b0191018a01614408565b608082019081528151156134245760ff607554169160038310156134105760018093146132dd575b506077546001600160a01b03979088161515806132d2575b6132b25761308f606e54614382565b9889606e5589885260808b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b8501930151805191821161329e5761311a8454613c25565b601f8111613257575b508990601f83116001146131f75792829391839289946131ec575b50501b916000199060031b1c19161790555b600f6079549101558280607e541691541690803b156103f55761318b918391604051808095819463240ff7c560e11b83528a6004840161451a565b039134905af18015611128576131d8575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6131e28291613c95565b610342578061319c565b01519250388061313e565b8488528a8820919083601f1981168a8e5b8883831061323f5750505010613226575b505050811b019055613150565b015160001960f88460031b161c19169055388080613219565b8686015188559096019594850194879350018e613208565b8488528a8820601f840160051c8101918c8510613294575b601f0160051c019084905b828110613288575050613123565b6000815501849061327a565b909150819061326f565b634e487b7160e01b87526041600452602487fd5b604460795460405190632c1f8ef160e21b82523460048301526024820152fd5b506079543410613080565b85516001600160a01b0391906132f4908316614533565b81865116156133fe57604051630ae6240f60e11b8152908b82600481305afa91821561203957918991849383926133bf575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa9182156117b757889261339b575b5060408187511692015116036133895761336d8751614a8e565b6133775738613068565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b6133b89192503d808a833e6133b08183613cde565b810190614483565b9038613353565b92509250508b81813d83116133f7575b6133d98183613cde565b810103126129c8575182811681036129c85782918991906024613326565b503d6133cf565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b8780fd5b50346103425760203660031901126103425760406020916004358152608383522054604051908152f35b5034610342578060031936011261034257608060715460725460735460745491604051938452602084015260408301526060820152f35b50346103425780600319360112610342576103f233614631565b5034610342576020366003190112610342576020611ac5600435615043565b50346103425780600319360112610342576065546040516001600160a01b039091168152602090f35b503461034257806003193601126103425760c060018060a01b0380607754169060785416607954607a54607b5491607c5493604051958652602086015260408501526060840152608083015260a0820152f35b50346103425780600319360112610342576020604051629896808152f35b50346103425780600319360112610342576020606e54604051908152f35b5034610342578060031936011261034257607e546040516001600160a01b039091168152602090f35b5034610342576060366003190112610342576001600160401b0390600435828111611133576135e8903690600401613e99565b50602491823590811161113357613603903690600401613f59565b6001600160a01b0390604435828116036103f55761361f6142f2565b613627614306565b8051156138f2576020818051810103126103f5576020015180156138e0578083526080602052604083209160ff6075541660038110156138cd5760011461366c578380f35b818354036138b55760018301928354606954908181116138925750506008810195600160ff88541661369d81613dce565b0361387c576136ab84615043565b8554906136b782614c1c565b1180613873575b6138615786846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610c19579160409185938992613841575b5061370690606954614624565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613801575081809381925af1156137f4575b600460ff1982541617905581607e5416600f8360058401541692015491813b156111105791869161378f938360405180968195829463099ea56b60e41b84528b60048501614a2a565b03925af18015611ddc576137cf575b506137c49060008051602061528b83398151915294955416925460405193849384614a2a565b0390a1803880808380f35b9060008051602061528b833981519152946137ec6137c493613c95565b94509061379e565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d1560018851141716156138345785603452613746565b6390b8ec1886526004601cfd5b61370691925061385a903d808c833e6133b08183613cde565b91906136f9565b60405163199cf26160e31b8152600490fd5b508015156136be565b6040516344980d8f60e01b815260048101859052fd5b60649185918960405193632c31d85b60e11b855260048501528301526044820152fd5b60405163c1d17bef60e01b8152600481018390528590fd5b634e487b7160e01b855260216004528585fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b503461034257366003190161014081126111335760c0136103425760405161392b81613c7a565b6004356001600160a01b03811681036103f5578152613948613e6c565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112611133576040516103f29161398982613c5f565b60c435825260e43560208301526101043560408301526101243560608301526139b0615071565b614e2c565b5034610342576020366003190112610342576139cf613e56565b60018060a01b0390613a02602083606554166068549060405180809581946329e40d4b60e01b835233906004840161451a565b03915afa908115612f07578491613a6d575b5015613a5b577fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd91602091168060018060a01b0319607d541617607d55604051908152a180f35b60405163075fd2b160e01b8152600490fd5b613a85915060203d8111610c9a57610c8c8183613cde565b38613a14565b50346103425760203660031901126103425760043563ffffffff60e01b81168091036111335760209063f1801e6160e01b8114908115613ad1575b506040519015158152f35b6301ffc9a760e01b14905082613ac6565b503461034257602036600319011261034257604060209160043581526080835220613b6e8154916060613beb6001830154926002810154600382015460018060a01b0360048401541660018060a01b0360058501541660018060a01b036006860154169160078601549360ff600888015416956010613b63600a8a01613d01565b986040519d8e613c5f565b8d600c82015490528f8e90600d8301549101528d604060018060a01b03600e840154169101528d8c600f83015491015201549a6040519e8f9e8f908152015260408d0152888c015260808b015260a08a015260c089015260e0880152613bd381613dce565b6101008701526101e080610120880152860190613e36565b8351610140860152602084015161016086015260408401516001600160a01b03166101808601529201516101a08401526101c08301520390f35b90600182811c92168015613c55575b6020831014613c3f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613c34565b608081019081106001600160401b038211176110fa57604052565b60c081019081106001600160401b038211176110fa57604052565b6001600160401b0381116110fa57604052565b604081019081106001600160401b038211176110fa57604052565b606081019081106001600160401b038211176110fa57604052565b601f909101601f19168101906001600160401b038211908210176110fa57604052565b9060405191613d0f83613ca8565b8281548152600180920191604051928391600091805490613d2f82613c25565b80865291838116908115613da55750600114613d5c575b50505060209291613d58910384613cde565b0152565b909493925060005260209081600020946000915b818310613d8d57509394509192509082010181613d586020613d46565b86548884018501529586019587945091830191613d70565b60ff191660208781019190915292151560051b860183019450859350613d58929150613d469050565b60071115613dd857565b634e487b7160e01b600052602160045260246000fd5b60005b838110613e015750506000910152565b8181015183820152602001613df1565b90602091613e2a81518092818552858086019101613dee565b601f01601f1916010190565b9060406020613e5393805184520151918160208201520190613e11565b90565b600435906001600160a01b0382168203610c0d57565b602435906001600160a01b0382168203610c0d57565b6001600160401b0381116110fa5760051b60200190565b81601f82011215610c0d57803591613eb083613e82565b92613ebe6040519485613cde565b808452602092838086019260051b820101928311610c0d578301905b828210613ee8575050505090565b81356001600160a01b0381168103610c0d578152908301908301613eda565b6001600160401b0381116110fa57601f01601f191660200190565b929192613f2e82613f07565b91613f3c6040519384613cde565b829481845281830111610c0d578281602093846000960137010152565b9080601f83011215610c0d57816020613e5393359101613f22565b6040600319820112610c0d57600435906001600160401b038211610c0d57613f9e91600401613f59565b906024356001600160a01b0381168103610c0d5790565b906004821015613dd85752565b906003821015613dd85752565b8054821015613fe75760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610c0d578235916001600160401b038311610c0d5760208381860195010111610c0d57565b6033546001600160a01b0316330361403e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091166000805160206151cb833981519152600080a3565b156140c057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061516b83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561410f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061516b83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561418c5760008051602061518b83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561424957508151156141fb575090565b3b156142045790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561425c5750805190602001fd5b60405162461bcd60e51b815260206004820152908190614280906024830190613e11565b0390fd5b60018060a01b031660018060a01b031960655416176065556040516142c7816142b96020820194602086526040830190613e11565b03601f198101835282613cde565b519020606655565b919082018092116142dc57565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b03163303613a5b57565b6068541561431057565b604051630f68fe6360e21b8152600490fd5b1561432957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60001981146142dc5760010190565b51906001600160a01b0382168203610c0d57565b606080918051845260208101516020850152604081015160408501520151910152565b60a08091600180831b0380825116855260208201511660208501526040810151604085015260608101516060850152608081015160808501520151910152565b9190604083820312610c0d5760405161442081613ca8565b83518152602084015190938491906001600160401b038211610c0d57019082601f83011215610c0d5781519161445583613f07565b936144636040519586613cde565b83855260208483010111610c0d57602092613d5891848087019101613dee565b90602082820312610c0d5781516001600160401b0392838211610c0d570160c081830312610c0d57604051926144b884613c7a565b8151845260208201516001600160a01b0381168103610c0d5760208501526144e260408301614391565b60408501526060820151908111610c0d5760a092614501918301614408565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561454357565b6040516303988b8160e61b8152600490fd5b90816020910312610c0d57518015158103610c0d5790565b6001600160a01b0391821681529116602082015260400190565b607f546001600160a01b031680156145f7576145bd9160209160405180809581946302154c3d60e51b835230906004840161456d565b03915afa9081156145eb576000916145d3575090565b613e53915060203d8111610c9a57610c8c8183613cde565b6040513d6000823e3d90fd5b5050600190565b607d546001600160a01b0316330361461257565b6040516357848b5160e11b8152600490fd5b919082039182116142dc57565b607d5460408051637817ee4f60e01b81526020949391926000926001600160a01b0392909183169087818061466a30876004840161456d565b0381855afa8015614846578590614817575b6146899150607054614624565b607055803b15610c5a5783855180926322bcf99960e01b82528183816146b330896004840161456d565b03925af1801561480d576147fa575b501680825260828552828220948351808783829954938481520190865283862092865b858282106147e4575050506146fc92500387613cde565b825b86518110156147b457806147156147389289614a4b565b5180865260808085528787209161472b81614a5f565b61473d575b505050614382565b6146fe565b6000805160206151ab8339815191529260a0928860005260098201885260038b6000208b8154915561478f6002850191614778818454614624565b8355606f614787828254614624565b905585614da7565b54920154918b51938a8552898501528a8c8501526060840152820152a1388080614730565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c9550930192016146e5565b61480690939193613c95565b91386146c2565b85513d86823e3d90fd5b508781813d831161483f575b61482d8183613cde565b81010312610c5e57614689905161467c565b503d614823565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610c0d57516001600160a01b0381168103610c0d5790565b90816020910312610c0d575160ff81168103610c0d5790565b604d81116142dc57600a0a90565b818102929181159184041417156142dc57565b81156148d1570490565b634e487b7160e01b600052601260045260246000fd5b8015614a24576149b2816000908360801c80614a18575b508060401c80614a0b575b508060201c806149fe575b508060101c806149f1575b508060081c806149e4575b508060041c806149d7575b508060021c806149ca575b50600191828092811c6149c3575b1c1b61495a81856148c7565b01811c61496781856148c7565b01811c61497481856148c7565b01811c61498181856148c7565b01811c61498e81856148c7565b01811c61499b81856148c7565b01811c6149a881856148c7565b01901c80926148c7565b808210156149be575090565b905090565b018161494e565b6002915091019038614940565b6004915091019038614935565b600891509101903861492a565b601091509101903861491f565b6020915091019038614914565b6040915091019038614909565b915050608090386148fe565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b8051821015613fe75760209160051b010190565b60005260806020526040600020805415159081614a7a575090565b600501546001600160a01b03161515919050565b614a9d607154606954906148b4565b62989680918281029281840414901517156142dc57111590565b919091600083820193841291129080158216911516176142dc57565b614add8282614ab7565b9160008312614aeb57505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607354906298968093848360801b0490600160801b9182811015614bd8578583965b614b97575050614b4290856148b4565b93858302928084048714901517156142dc5781039081116142dc57614b66916148b4565b9083039283116142dc57614b8392614b7d916148c7565b906142cf565b6001607f1b81019081106142dc5760801c90565b600191818316614bb75780614bab91614cf0565b911c90815b9091614b32565b809250614bc49197614cf0565b9560001981019081116142dc579081614bb0565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614cde57614c2e82614a8e565b61337757607154604081901b92600160401b92918015908504841417156142dc578060401b9281840414901517156142dc57614c70614c7c91614c97936148c7565b62989680809404614624565b614c8e8360725460801b0491806148b4565b60401c906148c7565b818102908082048314901517156142dc5760735482039182116142dc57614cca91614cc1916148c7565b607054906148b4565b60401c6074548082116000146149be575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614d5157811015614d0d57614b83916148b4565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614db29082614dd9565b9091821580614dd1575b614dcc5760039160078201550155565b505050565b508115614dbc565b4391600782015491838311614e1657838314614e0a576003614dfe614e079486614624565b91015490614b0e565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b6020810180516001600160a01b03919082168015159081615036575b81614fb4575b50614ea4575b505081614ea16101409260008051602061520b8339815191529451607155602083015160725560408301516073556060830151607455614e9760405180946143a5565b60808301906143c8565ba1565b606d549193916001600160401b0316614fa257838351169284825116843b15610c0d5760009460248692604051978893849263446adb9960e11b845260048401525af19182156145eb5760008051602061520b8339815191529561014095614ea194614f93575b5060775490607854927fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f606060405130815284861660208201528487166040820152a18185511660018060a01b031980941617607755511691161760785560408101516079556060810151607a556080810151607b5560a0810151607c559250819350614e54565b614f9c90613c95565b38614f0b565b60405163fcc12b5b60e01b8152600490fd5b60785484161480159150615025575b8015615015575b8015615005575b8015614ff5575b8015614fe5575b38614e4e565b5060a0830151607c541415614fdf565b506080830151607b541415614fd8565b506060830151607a541415614fd1565b5060408301516079541415614fca565b508183511682607754161415614fc3565b8451841615159150614e48565b80600052608060205260406000209080825403612cee57508061506c6002600393015482614da7565b015490565b607d54604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa9081156145eb576000916150c3575b501633036150b157565b604051637430763f60e11b8152600490fd5b6150db915060203d8111612032576120248183613cde565b386150a7565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b0391821660208201529116604082015260608101919091526080019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bb47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a2646970667358221220637e2f85b9547f42a5ec7349b99466417003874d0612be19e5c0661f18cba89764736f6c63430008130033","sourceMap":"4050:46936:111:-:0;;;;;;;;;-1:-1:-1;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13612:50;4050:46936;13612:50;;;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8367:7;4050:46936;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;26726:28;4050:46936;;;2235:64:110;;:::i;:::-;5587:21;4050:46936:111;5587:21:110;4050:46936:111;5587:21:110;:::i;:::-;;4050:46936:111;;;;;;26726:28;4050:46936;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;4050:46936:111;;2423:22:47;4050:46936:111;;2517:8:47;;;:::i;4050:46936:111:-;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;3301:14:49;3347:34;;;;;;4050:46936:111;3346:108:49;;;;4050:46936:111;;;;-1:-1:-1;;4050:46936:111;;3551:1:49;4050:46936:111;;;10148:31;;4050:46936;3562:65:49;;4050:46936:111;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4050:46936:111;;;;10148:31;:::i;:::-;5366:69:49;4050:46936:111;;;;;;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;10215:50:111;4050:46936;;-1:-1:-1;;;;;;4050:46936:111;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;3647:99:49;;4050:46936:111;;3647:99:49;4050:46936:111;;;;;;;3721:14:49;4050:46936:111;;;3551:1:49;4050:46936:111;;3721:14:49;4050:46936:111;;3562:65:49;-1:-1:-1;;4050:46936:111;;;;;3562:65:49;;;4050:46936:111;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;3346:108:49;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;4050:46936:111;3452:1:49;4050:46936:111;;;3436:17:49;3346:108;;3347:34;4050:46936:111;3380:1:49;4050:46936:111;;;3365:16:49;3347:34;;4050:46936:111;;;;;:::i;:::-;2235:64:110;;;:::i;:::-;3100:78;;:::i;:::-;-1:-1:-1;;;;;4050:46936:111;;;;;11949:21;;11945:77;;12043:17;4050:46936;;12035:40;;;12031:100;;4050:46936;;-1:-1:-1;;;12145:35:111;;4050:46936;12145:35;;4050:46936;;;12145:35;;4050:46936;;689:66:62;12145:35:111;4050:46936;;;12145:35;;;;;;;;;;;;4050:46936;12144:36;;12140:93;;22032:26;;;:::i;:::-;22031:27;22027:90;;4050:46936;;-1:-1:-1;;;22203:69:111;;22266:4;4050:46936;;22203:69;22266:4;22203:69;4050:46936;22203:69;;;:::i;:::-;;;;;;;;;;;;;;;4050:46936;22286:24;;22282:78;;4050:46936;;22414:53;;;;;;4050:46936;;;;;;;;22414:53;;;4050:46936;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;31373:26;;;;;31414:13;;31409:630;31458:3;4050:46936;;31429:27;;;;;31536:19;;;;:::i;:::-;;4050:46936;31536:35;31532:187;;31753:19;;;;:::i;:::-;;4050:46936;31802:26;;;:::i;:::-;31801:27;31797:167;;31996:19;31977:51;31458:3;31996:19;;;;;;:::i;:::-;;:32;4050:46936;31977:51;;:::i;:::-;31458:3;;:::i;:::-;31414:13;;;31797:167;4050:46936;;;;23394:29;;;;31855;;4050:46936;31855:29;;4050:46936;31855:29;31532:187;31696:8;31458:3;31696:8;31458:3;:::i;31429:27::-;;;;;32167:60;32338:66;31429:27;;;;4050:46936;;;30475:18;4050:46936;;;;;;32167:60;:::i;:::-;4050:46936;;;689:66:62;;;;;;;;32338::111;;22266:4;32338:66;4050:46936;32338:66;;;:::i;:::-;;;;;;;;;;;;;;31409:630;32570:42;;;;32566:147;;4050:46936;;;;;;;;30475:18;4050:46936;;;;;;;32902:29;;32946:13;;32941:3319;32990:3;4050:46936;;32961:27;;;;;33030:19;;;;:::i;:::-;;4050:46936;;;;33133:24;33129:920;33133:19;;;4050:46936;;;;;;;:::i;:::-;;;;;;;;;;;;33177:31;4050:46936;;;;;;;;33129:920;;;;34077:19;;;;;:::i;:::-;;:32;4050:46936;;;;;34167:9;;4050:46936;;;;;;;34321:26;;;;4050:46936;;;;;;;34544:40;4050:46936;;;;34544:40;;;:::i;:::-;4050:46936;;;;;;;;;;;35003:24;35046:13;;4050:46936;;;35041:246;35103:3;4050:46936;;;35065:20;4050:46936;;;;;35061:40;;;;;35130:32;;;;;:::i;:::-;4050:46936;;;;;;35130:55;35126:147;;35103:3;;;;;4050:46936;35103:3;;:::i;:::-;35046:13;;;;;35126:147;35209:18;;;;;;;;;;4050:46936;35209:18;;;;35041:246;35304:12;35300:106;;35041:246;-1:-1:-1;32990:3:111;;35561:36;;;;;;-1:-1:-1;35561:36:111;;;;;35632:35;;;;:::i;:::-;35617:50;;4050:46936;;;35617:50;:::i;:::-;4050:46936;;35710:35;;;;:::i;:::-;35685:60;:21;;;4050:46936;;;35685:60;:::i;:::-;4050:46936;;35557:370;35944:18;;;4050:46936;;;35944:23;35940:310;35944:18;;;36008:12;;;;;;;4050:46936;;32990:3;:::i;:::-;32946:13;;;;;;35940:310;4050:46936;36096:20;;;-1:-1:-1;;;;;;;;;;;36096:20:111;;;:::i;:::-;4050:46936;36188:21;;;4050:46936;36211:23;;4050:46936;;;;;;;;;;;;;;;;;;;;;;;36140:95;32990:3;:::i;35557:370::-;35799:35;;;;:::i;:::-;35784:50;;4050:46936;;;35784:50;:::i;:::-;4050:46936;;35877:35;;;;:::i;:::-;35852:60;:21;;;4050:46936;;;35852:60;:::i;:::-;4050:46936;;35557:370;;35300:106;4050:46936;;;35065:20;4050:46936;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;32990:3;4050:46936;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;35300:106;;;;;;;;;4050:46936;-1:-1:-1;;;;4050:46936:111;;;;;;;;35061:40;;;;;;;;;;;;;;;;;;;4050:46936;;;;;;;;;;;;33129:920;33303:18;;;;;;;;;;33344:13;;33384:3;4050:46936;;33359:23;;;;;33440:15;;;;;:::i;:::-;4050:46936;33440:29;33436:203;;33384:3;;;:::i;:::-;33344:13;;33436:203;33497:12;4050:46936;33497:12;;4050:46936;;33542:40;;;;;;4050:46936;33542:40;;4050:46936;;;;33542:40;33359:23;;;;;;;;;;;;;33678:6;33674:361;;33339:318;33129:920;;;;;;33674:361;4050:46936;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;33797:13;;4050:46936;;;33792:124;4050:46936;;33937:38;4050:46936;;;33937:38;;:::i;:::-;4050:46936;33674:361;;;;;;33837:3;4050:46936;;;;;;;;33812:23;;;;;33878:15;;;33837:3;33878:15;;;:::i;:::-;4050:46936;33868:25;;;;:::i;:::-;4050:46936;33837:3;:::i;:::-;33797:13;;;;;;;;;;33812:23;;;;;;;;4050:46936;-1:-1:-1;;;4050:46936:111;;;;;;;;32961:27;;4050:46936;;32566:147;4050:46936;;;;;;32635:67;;;;;;4050:46936;32635:67;;4050:46936;;;;32635:67;32338:66;;;;;;;;;;;;;;;;:::i;:::-;;;4050:46936;;;;;32338:66;;;4050:46936;;;;32338:66;;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;4050:46936:111;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22282:78;4050:46936;;-1:-1:-1;;;22333:16:111;;4050:46936;;22333:16;22203:69;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;22027:90:111;4050:46936;;-1:-1:-1;;;22081:25:111;;4050:46936;;22081:25;12140:93;4050:46936;;-1:-1:-1;;;12203:19:111;;4050:46936;;12203:19;12145:35;;;;;;;;;;;;;;:::i;:::-;;;;12031:100;4050:46936;;-1:-1:-1;;;12098:22:111;;4050:46936;;12098:22;11945:77;4050:46936;;-1:-1:-1;;;11993:18:111;;4050:46936;;11993:18;4050:46936;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;:::i;:::-;2235:64:110;;:::i;:::-;;;:::i;:::-;5073:6;4050:46936:111;5069:45:110;;5201:12;;5197:34;;4050:46936:111;5073:6:110;4050:46936:111;10463:23;4050:46936;2273:565:48;10488:12:111;4050:46936;10488:12;;;:::i;:::-;;4050:46936;;;;4867:36:6;;4884:10;;4050:46936:111;;;;;;;;;4867:36:6;;;;;:::i;:::-;4050:46936:111;4857:47:6;;2273:565:48;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2273:565:48;;4050:46936:111;2273:565:48;-1:-1:-1;;;;;4050:46936:111;2273:565:48;;;;4050:46936:111;2855:22:48;;4050:46936:111;;10410:92;4050:46936;;-1:-1:-1;;;;;;4050:46936:111;;;;;;;;;;;;;10512:28;;;;;4050:46936;;;;;;689:66:62;;;;;;;10512:28:111;;;;;;;;;;4050:46936;;;;;;10595:52;;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10595:52;;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;4050:46936:111;10662:34;10658:94;;4050:46936;;;;10762:63;4050:46936;;-1:-1:-1;;;;;;4050:46936:111;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;10836:30;4050:46936;;;;;;;;;;;;;;;;;11069:26;4050:46936;;;;;;;;;;;;;10836:30;4050:46936;;;;10928:14;4050:46936;10914:28;4050:46936;;;;;;;;;;;;;;;;;10952:42;4050:46936;;;10952:42;4050:46936;11041:11;4050:46936;;;11020:19;11041:11;;;;:::i;:::-;4050:46936;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;11069:26;4050:46936;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;10512:28;;;;:::i;:::-;4050:46936;;10512:28;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;10512:28:111;4050:46936;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;5197:34:110;4050:46936:111;;-1:-1:-1;;;5222:9:110;;4050:46936:111;;5222:9:110;5069:45;4050:46936:111;;-1:-1:-1;;;5093:21:110;;4050:46936:111;;5093:21:110;4050:46936:111;;;;;;;-1:-1:-1;;4050:46936:111;;;;-1:-1:-1;;;;;4050:46936:111;;:::i;:::-;;25872:26;:62;;-1:-1:-1;25872:62:111;;4050:46936;;25872:62;4050:46936;;;;;;:::i;:::-;;;;25872:62;4050:46936;25919:15;25872:62;;4050:46936;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21676:16:111;;4050:46936;;21676:16;4050:46936;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;30641:40;4050:46936;;;:::i;:::-;;;;;;30641:9;4050:46936;;;30641:40;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11124:10:110;689:66:62;4050:46936:111;;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;30271:35;4050:46936;;;;;;;30271:9;4050:46936;;;30271:35;4050:46936;;;;;;;;;;;;;;;;;;;;;41552:20;4050:46936;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;29065:9;4050:46936;;;;;;29110:24;;4050:46936;29110:80;:29;;:80;:29;;;:80;4050:46936;;;;;29221:18;;;;;4050:46936;;29253:20;;4050:46936;29253:20;;4050:46936;;29287:23;;;;4050:46936;;29362:21;;;;4050:46936;;29397:23;;;4050:46936;;29434:18;;;;4050:46936;29466:23;29526:26;4050:46936;29466:23;;4050:46936;29553:10;;4050:46936;;29526:26;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;29065:9;4050:46936;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;29110:80;29146:44;;;;:::i;:::-;29110:80;;4050:46936;;;;;;;;;;;;;;;21396:11;4050:46936;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;:::i;:::-;;;;30475:18;4050:46936;;;;;;;;;;;;;;;;;;;;;;;9337:31;4050:46936;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;;;;;10853:19:110;4050:46936:111;;;10818:20:110;4050:46936:111;;;;;;10818:20:110;4050:46936:111;;;;;;10853:19:110;4050:46936:111;;;-1:-1:-1;4050:46936:111;;-1:-1:-1;;4050:46936:111;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;:::i;:::-;;;;;46029:9;4050:46936;;;;;46073:16;4050:46936;;;;;;-1:-1:-1;;;;;4050:46936:111;46065:50;46061:112;;4050:46936;;;;46350:33;46346:100;;4050:46936;;46459:23;;;4050:46936;;;;;:::i;:::-;46459:63;46455:130;;46610:43;4050:46936;46598:9;;;:55;46594:171;;46884:30;;;4050:46936;46884:35;;;:126;;;4050:46936;46867:325;;46598:9;47227:55;46598:9;;47227:55;:::i;:::-;4050:46936;;;;;;;47293:15;4050:46936;;47293:109;;;;;;4050:46936;;689:66:62;;;;;;;47293:109:111;;47391:10;47293:109;47391:10;4050:46936;;;47293:109;;;:::i;:::-;;;;;;;;;;;4050:46936;;;;;;;;;;;;;;46073:16;4050:46936;;;;;689:66:62;;;;;;;;;47425:92:111;;4050:46936;;47425:92;;4050:46936;;;;;;;;;;;:::i;:::-;47425:92;;;;;;;;;;;;;4050:46936;-1:-1:-1;46459:23:111;;;4050:46936;;-1:-1:-1;;4050:46936:111;47554:38;4050:46936;;;47602:20;;;4050:46936;;;47694:15;47654:37;;;4050:46936;;;47719:31;;;;4050:46936;;-1:-1:-1;;;;;;4050:46936:111;47391:10;4050:46936;;;;;;47773:21;4050:46936;;;;;;;;;47829:14;4050:46936;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;-1:-1:-1;;;;;;;4050:46936:111;;;;;;;-1:-1:-1;;;;;4050:46936:111;;47829:14;4050:46936;46073:16;4050:46936;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;47391:10;4050:46936;;;;;46029:9;4050:46936;;;;;;;47859:210;;4050:46936;;;;;;;;;;;:::i;:::-;;;;;;47859:210;;;4050:46936;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;47425:92;;;;4050:46936;47425:92;;4050:46936;47425:92;;;;;;4050:46936;47425:92;;;:::i;:::-;;;4050:46936;;;;;47425:92;;;;;;;-1:-1:-1;47425:92:111;;;4050:46936;;;689:66:62;;;;;;;;47293:109:111;;;;;:::i;:::-;4050:46936;;47293:109;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;46867:325:111;4050:46936;8367:7;4050:46936;;;;;;;;47096:71;47152:15;;47096:71;:::i;:::-;4050:46936;;47042:139;;;;;;4050:46936;;;47042:139;;4050:46936;;;;;47042:139;46884:126;4050:46936;8367:7;4050:46936;;;;;;;46995:15;-1:-1:-1;46884:126:111;;4050:46936;-1:-1:-1;;;4050:46936:111;;;;;;;;46594:171;4050:46936;;-1:-1:-1;;;46676:78:111;;46598:9;4050:46936;46676:78;;4050:46936;;;;;;;;;46676:78;46455:130;4050:46936;;;23712:29;;;46545;;4050:46936;;;46545:29;;4050:46936;46545:29;46346:100;4050:46936;;;23394:29;;;46406;;4050:46936;;;46406:29;;4050:46936;46406:29;46061:112;4050:46936;;-1:-1:-1;;;46138:24:111;;4050:46936;;46138:24;4050:46936;;;;;;;-1:-1:-1;;4050:46936:111;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;26240:16:111;;4050:46936;;26240:16;4050:46936;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;:::i;:::-;45371:181;;:::i;:::-;45482:12;;;:::i;:::-;45505:40;4050:46936;;-1:-1:-1;;;;;;4050:46936:111;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;29761:17;4050:46936;;;;;;;;;;:::i;:::-;;;;;;;;;;29722:9;4050:46936;;;29761:17;4050:46936;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9094:51;4050:46936;;;;;;;;;;;;;;;;;;;;8700:30;4050:46936;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;4050:46936:111;;;;;;;;;;;;;;;;;16027:14;4050:46936;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;7876:8;4050:46936;;;;;;;;;;;;;;;;45113:14;4050:46936;;;;;;;;;45093:35;;;;:::i;:::-;4050:46936;;;;;;;;;;;;;;;;;;;1534:6:47;4050:46936:111;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;:::i;:::-;-1:-1:-1;;;;;4050:46936:111;;;9642:57;4050:46936;;;;;;;;;;;9642:57;;;;;4050:46936;9642:57;;;;:::i;:::-;4050:46936;;;;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;24838:9;4050:46936;;;25004:66;25048:21;;;4050:46936;25004:66;;:::i;:::-;24944:126;;;25085:19;;:39;;;;4050:46936;25081:110;;;4050:46936;;25220:44;25239:24;;4050:46936;25220:44;:::i;:::-;-1:-1:-1;25397:27:111;4050:46936;;;;;;25081:110;4050:46936;25157:23;;4050:46936;;-1:-1:-1;25081:110:111;;25085:39;25108:16;;;25085:39;;;4050:46936;;;;;;;;;;;;;;8777:26;4050:46936;;;;;;;;;;;;;;;;;;;;16141:25;16116:10;16141:25;:::i;:::-;16140:26;16136:89;;16234:17;4050:46936;-1:-1:-1;;;;;4050:46936:111;;;;;16234:65;;;;;4050:46936;;;689:66:62;;;;;16234:65:111;;16293:4;;;16234:65;16293:4;16116:10;4050:46936;16234:65;;;:::i;:::-;;;;;;;;;;;4050:46936;;;16234:17;4050:46936;;16333:65;4050:46936;;689:66:62;;;;;16333:65:111;;16293:4;;16333:65;16293:4;16116:10;4050:46936;16333:65;;;:::i;:::-;;;;;;;;;;;;;4050:46936;16309:89;4050:46936;;16309:89;4050:46936;16309:89;:::i;:::-;;4050:46936;;;16333:65;;;;;;;;;;;;;;;;:::i;:::-;;;4050:46936;;;;16309:89;4050:46936;;16333:65;;;;;-1:-1:-1;16333:65:111;;16234;;;;:::i;:::-;4050:46936;;16234:65;;;;4050:46936;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;:::i;:::-;;;17071:7;;:::i;:::-;17173:26;;;:::i;:::-;17172:27;17168:90;;17267:28;4050:46936;17309:11;4050:46936;;;;;;;;;;17324:36;17309:51;;17324:36;;17376:57;;;17305:441;;17774:17;4050:46936;;;-1:-1:-1;;;17774:69:111;;4050:46936;;;;;-1:-1:-1;;;;;4050:46936:111;;;17774:69;17837:4;17774:69;4050:46936;17774:69;;;:::i;:::-;;;;;;;;;;;17949:57;17774:69;;;4050:46936;17774:69;;;;17305:441;17853:82;;;17305:441;17949:57;4050:46936;;;17949:57;;;;;:::i;:::-;;;;4050:46936;;;;;;17853:82;17884:40;4050:46936;17884:40;4050:46936;17884:40;:::i;:::-;;4050:46936;17853:82;;17774:69;;;;;;;;;;;;;;:::i;:::-;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;17305:441:111;4050:46936;17454:48;;4050:46936;;-1:-1:-1;;19120:17:111;4050:46936;;;-1:-1:-1;;;19120:66:111;;18983:41;;4050:46936;;;;-1:-1:-1;;;;;4050:46936:111;;;19120:66;19180:4;19120:66;4050:46936;19120:66;;;:::i;:::-;;;;;;;;;;;;;;17450:296;19252:30;;;;;:::i;:::-;19285:11;4050:46936;19252:54;;;19248:139;;17450:296;17518:63;;17450:296;17305:441;;19248:139;19341:35;;;;:::i;:::-;19248:139;;;;19120:66;;;4050:46936;19120:66;;;;;;;;;4050:46936;19120:66;;;:::i;:::-;;;4050:46936;;;;;19120:66;;;;;;-1:-1:-1;19120:66:111;;17450:296;17602:51;;;-1:-1:-1;;17602:51:111;17305:441;17598:148;19637:17;4050:46936;;;-1:-1:-1;;;19637:48:111;;-1:-1:-1;;;;;4050:46936:111;;;;19637:48;;4050:46936;;;-1:-1:-1;4050:46936:111;;;;;;;;;;;19637:48;;;;;;;;;;;;17598:148;19637:65;;;;:::i;:::-;4050:46936;;-1:-1:-1;;;19761:31:111;;4050:46936;19731:2;19761:31;4050:46936;;;19761:31;;;;;;;;19988:37;19761:31;;20011:13;19761:31;19998:26;19761:31;;;;;17598:148;4050:46936;;;;689:66:62;;;;;;;19747:58:111;;4050:46936;19747:58;;;;;;;17598:148;19743:211;;;17598:148;20011:13;;:::i;:::-;19998:26;;:::i;:::-;19988:37;:::i;:::-;4050:46936;;;689:66:62;;;;;20059::111;;20119:4;;20059:66;20119:4;20059:66;4050:46936;20059:66;;;:::i;:::-;;;;;;;;;;;;;;17598:148;20163:30;;;;;:::i;:::-;17598:148;17305:441;;20059:66;;;;;;;;;;;;;;;;:::i;:::-;;;4050:46936;;;;20163:30;4050:46936;;20059:66;;;;;;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;19743:211:111;4050:46936;;;;19743:211;;;19747:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;19761:31;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;19637:48:111;;;;;;;;;;;;;;;;:::i;:::-;;;4050:46936;;;;;19637:65;4050:46936;;19637:48;;;;;;;4050:46936;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;1324:62:47;;:::i;:::-;2779:6;4050:46936:111;;-1:-1:-1;;;;;;4050:46936:111;;;;;;;-1:-1:-1;;;;;4050:46936:111;-1:-1:-1;;;;;;;;;;;4050:46936:111;;2827:40:47;4050:46936:111;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;16611:7;4050:46936;;:::i;:::-;16498:128;;:::i;:::-;16611:7;:::i;4050:46936::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9239:46;4050:46936;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2089:6:66;-1:-1:-1;;;;;4050:46936:111;2080:4:66;2072:23;4050:46936:111;;;;;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;-1:-1:-1;4050:46936:111;;-1:-1:-1;;4050:46936:111;;;;;;:::i;:::-;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;4050:46936:111;;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:62;4050:46936:111;;;;;2993:17:62;;;;;;:::i;2906:504::-;4050:46936:111;;;;689:66:62;;;;3046:52;;;;;;4050:46936:111;3046:52:62;;;;4050:46936:111;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;4050:46936:111;;-1:-1:-1;;;3262:56:62;;4050:46936:111;3262:56:62;;689:66;;;;4050:46936:111;689:66:62;;4050:46936:111;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;4050:46936:111;1889:27:62;;4050:46936:111;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;4050:46936:111;;2204:112:62;7307:69:78;4050:46936:111;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;;-1:-1:-1;;;4050:46936:111;;;;7265:25:78;;;;;;;;;4050:46936:111;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:78;:::i;:::-;;2204:112:62;;;;;4050:46936:111;;;-1:-1:-1;7307:69:78;:::i;2208:28:62:-;;4050:46936:111;2208:28:62;;689:66;4050:46936:111;;-1:-1:-1;;;689:66:62;;4050:46936:111;689:66:62;;;;;;4050:46936:111;689:66:62;;4050:46936:111;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;;3046:52;;;;;;;;;4050:46936:111;;;;;;;-1:-1:-1;;4050:46936:111;;;;-1:-1:-1;;;;;4050:46936:111;;:::i;:::-;;27001:39;;4050:46936;27001:39;;4050:46936;;;;;;;;27001:39;;4050:46936;;27001:39;;4050:46936;;;;;;;;;;;;;;4022:10:110;4050:46936:111;;;;;;;;;;;;;;;;;;;;;3823:10:110;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;8184:2;4050:46936;;;;;;;;;;;;;;;;;3637:6:110;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;4050:46936:111;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;4050:46936:111;;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;689:66:62;4050:46936:111;2906:504:62;4050:46936:111;;;2993:17:62;;;;;;;;:::i;2906:504::-;4050:46936:111;;;;;;;;689:66:62;;;3046:52;;;;4050:46936:111;3046:52:62;;;;4050:46936:111;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;4050:46936:111;;-1:-1:-1;;;3262:56:62;;4050:46936:111;3262:56:62;;689:66;;;;;;;4050:46936:111;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;4050:46936:111;1889:27:62;;4050:46936:111;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;4050:46936:111;;2204:112:62;4050:46936:111;;7307:69:78;4050:46936:111;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;;-1:-1:-1;;;4050:46936:111;;;;7265:25:78;;;;;;4050:46936:111;;;;;;;;:::i;7307:69:78:-;;2204:112:62;;;;;;2208:28;;4050:46936:111;2208:28:62;;689:66;4050:46936:111;;-1:-1:-1;;;689:66:62;;4050:46936:111;689:66:62;;;;;;;;;4050:46936:111;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;;3046:52;;;;;;;;;4050:46936:111;;;;;;;;;;;;;;;8937:47;4050:46936;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;8669:25;4050:46936;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;;;;;48182:21;4050:46936;;;;;;;;;;48268:9;4050:46936;;;;;48304:15;;;48300:82;;48395:23;;;4050:46936;;48422:38;4050:46936;;;;;;:::i;:::-;48395:65;48391:134;;48570:77;:37;;;4050:46936;48610:37;4050:46936;48570:77;;:::i;:::-;48552:15;:95;48662:10;;;;;:64;;4050:46936;48658:118;;48790:25;;;4050:46936;48786:1934;;;4050:46936;48835:30;4050:46936;48835:35;;48831:102;;4050:46936;48950:35;48946:136;;48786:1934;49133:1;48835:30;4050:46936;49099:35;49095:138;;48786:1934;-1:-1:-1;49246:15:111;4050:46936;49310:31;;;4050:46936;49343:43;4050:46936;-1:-1:-1;;;;;4050:46936:111;;;;;;;;49246:154;;;;;;4050:46936;;;;;;689:66:62;;;;;;;;;49246:154:111;;;;;4050:46936;49246:154;;;:::i;:::-;;;;;;;;;;;;;;48786:1934;4050:46936;;;49246:15;4050:46936;;49478:18;48422:38;49478:18;;4050:46936;;49498:45;;;;4050:46936;49414:143;;;;;;4050:46936;;;;;;49414:143;4050:46936;;49414:143;;;;;;;;;4050:46936;49414:143;;;:::i;:::-;;;;;;;;;;;;;;48786:1934;;;;50730:14;4050:46936;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;50817:56;4050:46936;;;;;;;;;;;;;;;;;50730:14;4050:46936;50754:30;48552:15;50754:30;;4050:46936;;;;;;48610:16;4050:46936;;;;;;;;50817:56;4050:46936;;;-1:-1:-1;;;4050:46936:111;;;;;;;;49414:143;;;;:::i;:::-;4050:46936;;49414:143;;;;;4050:46936;;;49246:154;;;;:::i;:::-;4050:46936;;49246:154;;;;49095:138;4050:46936;;-1:-1:-1;;4050:46936:111;49180:38;4050:46936;;;49095:138;;;48946:136;4050:46936;;-1:-1:-1;;4050:46936:111;;;;;48946:136;;48831:102;4050:46936;;-1:-1:-1;;;48897:21:111;;4050:46936;;48897:21;48786:1934;4050:46936;49578:12;;4050:46936;;-1:-1:-1;4050:46936:111;;-1:-1:-1;;4050:46936:111;;;;;49682:15;4050:46936;49765:31;;;4050:46936;49822:17;4050:46936;;;-1:-1:-1;;;49822:31:111;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;49822:31;;;;;;;;;;;49574:1146;4050:46936;49872:43;4050:46936;49682:247;;;;;4050:46936;;;;;49682:247;4050:46936;;;;689:66:62;;;;;;;;;;49682:247:111;;4050:46936;49682:247;4050:46936;49682:247;;;:::i;:::-;;;;;;;;;;;;;;49574:1146;;;48786:1934;;49682:247;;;;:::i;:::-;4050:46936;;49682:247;;;;;4050:46936;;;49822:31;;;;;;;;;;;;;;:::i;:::-;;;;49574:1146;49961:1;49950:12;;49946:774;;49574:1146;;;;48786:1934;;49946:774;-1:-1:-1;;4050:46936:111;50004:38;4050:46936;;;50056:15;4050:46936;50120:31;;;4050:46936;;50153:43;4050:46936;50120:31;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;50056:154;;;;;4050:46936;;;50056:154;4050:46936;;;;689:66:62;;;;;;;;;50056:154:111;;;4050:46936;50056:154;;;:::i;:::-;;;;;;;;;;;;;;49946:774;4050:46936;;;50056:15;4050:46936;;50307:18;4050:46936;48422:38;50307:18;;4050:46936;;;;;;;50351:17;4050:46936;;;;689:66:62;;;;;;;50351:31:111;;;;;;;;;;;;;49946:774;50401:45;;;;4050:46936;;;;;50224:240;;;;;;4050:46936;;;50224:240;4050:46936;;;;689:66:62;;;;;;;;;;50224:240:111;;;;4050:46936;50224:240;;4050:46936;50224:240;;;:::i;:::-;;;;;;;;;;;;;;49946:774;4050:46936;;;;50056:15;4050:46936;;;;;;;;;;;;50478:231;;;;;4050:46936;;;;;50478:231;4050:46936;;;;50478:231;;;;;;;;;4050:46936;50478:231;;;:::i;:::-;;;;;;;;;;;;;;49946:774;;;;50478:231;;;;:::i;:::-;4050:46936;;50478:231;;;;50224:240;;;;:::i;:::-;4050:46936;;50224:240;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;50224:240:111;4050:46936;;;50351:31;;;;;;;;;;;;;;;:::i;:::-;;;;;50056:154;;;;:::i;:::-;4050:46936;;50056:154;;;;48790:25;48803:12;;;48790:25;;48658:118;4050:46936;;-1:-1:-1;;;48749:16:111;;4050:46936;;48749:16;48662:64;-1:-1:-1;48610:16:111;4050:46936;-1:-1:-1;;;;;4050:46936:111;48676:10;:50;;48662:64;;48391:134;4050:46936;;-1:-1:-1;;;48483:31:111;;4050:46936;48483:31;;4050:46936;;;;;48483:31;48300:82;4050:46936;;;;23394:29;;;;48342;;4050:46936;48342:29;;4050:46936;48342:29;4050:46936;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;:::i;:::-;;;18136:7;;;:::i;:::-;4050:46936;18276:11;4050:46936;;;;;;;;;;18291:36;18276:51;;:103;;;;;4050:46936;-1:-1:-1;18272:298:111;;;18395:65;-1:-1:-1;;;;;;;;;;;18395:65:111;4050:46936;18395:65;18272:298;;18579:40;4050:46936;18579:40;4050:46936;18579:40;:::i;:::-;;4050:46936;18634:59;4050:46936;;;18634:59;;;;;:::i;18272:298::-;20547:17;4050:46936;;;-1:-1:-1;;;20547:31:111;;4050:46936;;;-1:-1:-1;;;;;4050:46936:111;;;;20517:2;;4050:46936;;;;;;20547:31;;;;;;;;;;;;;;;18272:298;4050:46936;;;;689:66:62;;;;;;;20533:58:111;;4050:46936;20533:58;;;;;;;18272:298;20529:211;;;18272:298;-1:-1:-1;4050:46936:111;;-1:-1:-1;;;20835:48:111;;4050:46936;;;;20835:48;;4050:46936;20835:48;4050:46936;;;20835:48;;;;;;;;;;;;;;;18272:298;20835:67;;21019:13;20835:67;21003:29;20835:67;20993:40;20835:67;;:::i;:::-;21019:13;;:::i;20993:40::-;4050:46936;;;;689:66:62;;;;;21070::111;;21130:4;;21070:66;21130:4;21070:66;4050:46936;21070:66;;;:::i;:::-;;;;;;;;;;;;;18272:298;21070:83;;;;-1:-1:-1;;;;;;;;;;;21070:83:111;4050:46936;21070:83;;:::i;:::-;18272:298;;;21070:66;;;;;;;;;;;;;;;;;:::i;:::-;;;4050:46936;;;;;;21070:83;-1:-1:-1;;;;;;;;;;;21070:66:111;;;;;;;;4050:46936;;689:66:62;;;;;;;;20835:48:111;;;;;;;;;;;;;;;;;;:::i;:::-;;;4050:46936;;;;;;;21019:13;20835:48;;;;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;20529:211:111;4050:46936;;;-1:-1:-1;20529:211:111;;;20533:58;;;;;;;;;;;;;;;:::i;:::-;;;;;20547:31;;;;;;;;;;;;;;:::i;:::-;;;;18276:103;4050:46936;18331:48;;;18276:103;;;4050:46936;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;:::i;:::-;2235:64:110;;;;:::i;:::-;3100:78;;:::i;:::-;13410:26:111;;;:::i;:::-;13409:27;13405:90;;4050:46936;;13612:50;;;;4050:46936;;;;;;;;13612:50;;;4050:46936;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;13612:50;;;;4050:46936;;;;:::i;:::-;;;;;;;;;13777:20;13773:78;;4050:46936;13927:12;4050:46936;;;;;;;;;;13927:51;;;13923:764;;4050:46936;-1:-1:-1;14722:16:111;4050:46936;-1:-1:-1;;;;;4050:46936:111;;;;14714:50;;;:108;;4050:46936;14697:245;;14973:17;;4050:46936;14973:17;:::i;:::-;4050:46936;;14973:17;4050:46936;;;;;;;;;;;;;;;15103:11;;;;4050:46936;;;;;;;;;;;;;;;;;;;;15134:13;;4050:46936;;;;;;;;;;15180:16;;;4050:46936;;;;;;;;15232:17;;;4050:46936;15337:16;;;4050:46936;;;;;;;;;15416:12;15402:11;;;4050:46936;15438:16;4050:46936;15438:16;;4050:46936;15517:17;4050:46936;;;15504:10;;;4050:46936;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15631:38;15672:42;4050:46936;15631:38;;4050:46936;;;15724:15;4050:46936;;;;;15724:76;;;;;;;4050:46936;;;;;689:66:62;;;;;;;;15724:76:111;;;4050:46936;15724:76;;;:::i;:::-;;15765:9;;15724:76;;;;;;;;;4050:46936;;;15816:35;4050:46936;15832:6;4050:46936;;;;;;;;;;;15816:35;4050:46936;;;;;;;15724:76;;;;;:::i;:::-;4050:46936;;15724:76;;;4050:46936;;;;-1:-1:-1;4050:46936:111;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4050:46936:111;;;;;;;;;;;;;;15103:11;4050:46936;;;;;;;;;;;;15103:11;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4050:46936:111;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;14697:245;4050:46936;14888:42;4050:46936;;;14854:77;;;;;;14877:9;4050:46936;14854:77;;4050:46936;;;;;14854:77;14714:108;4050:46936;14780:42;4050:46936;14768:9;:54;14714:108;;13923:764;4050:46936;;-1:-1:-1;;;;;4050:46936:111;;14013:20;;4050:46936;;14013:20;:::i;:::-;4050:46936;;;;14100:37;14096:102;;4050:46936;;-1:-1:-1;;;14225:14:111;;4050:46936;14225:4;4050:46936;;;14225:4;:14;;;;;;;;;;;;;;;;13923:764;4050:46936;;;;;;689:66:62;;;;;;;;14278:30:111;;4050:46936;14278:30;;4050:46936;;14278:30;;;;;;;;;;;13923:764;4050:46936;;;;;;14353:10;;4050:46936;;14326:37;14322:235;;14574:41;4050:46936;;14574:41;:::i;:::-;14570:107;;13923:764;;;14570:107;4050:46936;;-1:-1:-1;;;14642:20:111;;4050:46936;;14642:20;14322:235;4050:46936;;-1:-1:-1;;;14525:17:111;;4050:46936;;14525:17;14278:30;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;14225:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4050:46936;;;;;;;;;;;;14225:14;;;;;4050:46936;14225:14;;;;;;;14096:102;4050:46936;;-1:-1:-1;;;14164:19:111;;4050:46936;;14164:19;4050:46936;-1:-1:-1;;;4050:46936:111;;;;;;;;13773:78;4050:46936;;-1:-1:-1;;;13820:20:111;;4050:46936;;13820:20;4050:46936;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;9737:56;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;8851:39;4050:46936;8851:39;4050:46936;8851:39;4050:46936;8851:39;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16474:10;;;:::i;4050:46936::-;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3465:4:110;4050:46936:111;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;9151:55;4050:46936;;;9151:55;4050:46936;;9151:55;4050:46936;9151:55;4050:46936;9151:55;4050:46936;;9151:55;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7876:8;4050:46936;;;;;;;;;;;;;;;;;8736:34;4050:46936;;;;;;;;;;;;;;;;;;;;9292:39;4050:46936;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;2235:64:110;;:::i;:::-;3100:78;;:::i;:::-;4050:46936:111;;22956:17;22952:76;;4050:46936;;;;23059:28;;4050:46936;;;;;23059:28;4050:46936;23102:15;;23098:77;;4050:46936;;;23227:9;4050:46936;;;;;;;23263:12;4050:46936;;;;;;;;;23263:51;23259:1365;;4050:46936;;;23259:1365;4050:46936;;;23334:33;23330:108;;4050:46936;23456:24;;4050:46936;;;23483:10;4050:46936;23456:37;;;;23452:152;;23622:23;;;;;4050:46936;;;;;;;;;:::i;:::-;23622:63;23618:138;;23795:36;;;:::i;:::-;4050:46936;;23865:44;;;;:::i;:::-;-1:-1:-1;23928:58:111;;;23259:1365;23924:137;;4050:46936;;24100:4;4050:46936;;;24113:6;4050:46936;;;;689:66:62;;;;;;;24100:20:111;;4050:46936;24100:20;;4050:46936;24100:20;;;;;;;;4050:46936;24100:20;;;;;;;23259:1365;4050:46936;24135:38;4050:46936;23483:10;4050:46936;24135:38;:::i;:::-;23483:10;4050:46936;24211:10;4050:46936;;24223:20;4050:46936;24223:20;;4050:46936;;;;;;;;6815:16:10;4445:42:9;6815:16:10;;6811:173;4445:42:9;;;2570:369:15;;;;;;;;;;;6811:173:10;4050:46936:111;;;;;;;;;;24379:15;4050:46936;;24463:45;24443:18;;;;4050:46936;;24463:45;;4050:46936;24379:143;;;;;;4050:46936;;;24379:143;4050:46936;;;;689:66:62;;;;;;;;;24379:143:111;;;4050:46936;24379:143;;;:::i;:::-;;;;;;;;;;;6811:173:10;4050:46936:111;24542:71;4050:46936;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;;;;;;24542:71;;;;;:::i;:::-;;;;23259:1365;;;;4050:46936;;;24379:143;;-1:-1:-1;;;;;;;;;;;24379:143:111;;24542:71;24379:143;;:::i;:::-;;;;;;2570:369:15;;;;4050:46936:111;2570:369:15;;6811:173:10;11581:1056:15;;;4050:46936:111;11581:1056:15;4050:46936:111;11581:1056:15;;;;;;;;;;;;;;4050:46936:111;11581:1056:15;;;;;;;;;;;6811:173:10;;11581:1056:15;;;;4050:46936:111;11581:1056:15;;24100:20:111;24135:38;24100:20;;;;;;;;;;;;;;:::i;:::-;;;;;23924:137;4050:46936;;-1:-1:-1;;;24013:33:111;;4050:46936;;24013:33;23928:58;23958:28;;;;23928:58;;23618:138;4050:46936;;-1:-1:-1;;;23712:29:111;;4050:46936;23712:29;;4050:46936;;;23712:29;23452:152;4050:46936;;;;;;;23520:69;;;;;;4050:46936;23520:69;;4050:46936;;;;;;;;23520:69;23330:108;4050:46936;;-1:-1:-1;;;23394:29:111;;4050:46936;23394:29;;4050:46936;;;;;23394:29;4050:46936;-1:-1:-1;;;4050:46936:111;;;;;;;;23098:77;4050:46936;;-1:-1:-1;;;23140:24:111;;4050:46936;;23140:24;22952:76;4050:46936;;-1:-1:-1;;;22996:21:111;;4050:46936;;22996:21;4050:46936;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;-1:-1:-1;4050:46936:111;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45783:9;;4050:46936;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;45558:242;;:::i;:::-;45783:9;:::i;4050:46936::-;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;:::i;:::-;;;;;;;9844:35:110;4050:46936:111;;9844:4:110;4050:46936:111;;9863:6:110;4050:46936:111;;;;689:66:62;;;;;;;;9844:35:110;;45225:10:111;9844:35:110;4050:46936:111;9844:35:110;;;:::i;:::-;;;;;;;;;;;;;;4050:46936:111;9843:36:110;;9839:63;;45323:35:111;4050:46936;;;;;;;;;;;45247:61;4050:46936;;;45247:61;4050:46936;;;;;;45323:35;4050:46936;;9839:63:110;4050:46936:111;;-1:-1:-1;;;9888:14:110;;4050:46936:111;;9888:14:110;9844:35;;;;4050:46936:111;9844:35:110;;;;;;;;;:::i;:::-;;;;4050:46936:111;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11611:47:111;;;:87;;;;4050:46936;;;;;;;;;;11611:87;-1:-1:-1;;;937:40:82;;-1:-1:-1;11611:87:111;;;4050:46936;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;9435:60;4050:46936;;;;;;9435:60;4050:46936;;;9435:60;;4050:46936;9435:60;;;;4050:46936;;9435:60;;4050:46936;;;;;;;9435:60;;4050:46936;;;;;;;9435:60;;;4050:46936;;;;;;;9435:60;;;4050:46936;;9435:60;;;;4050:46936;9435:60;4050:46936;9435:60;;;4050:46936;;9435:60;;;;;;;:::i;:::-;4050:46936;;;;;;:::i;:::-;9435:60;;;;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9435:60;4050:46936;;;;;;;;;;;;;;;;;;;;;9435:60;4050:46936;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;9435:60;4050:46936;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;4050:46936:111;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;:::o;:::-;;;;;-1:-1:-1;;4050:46936:111;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;4050:46936:111;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;-1:-1:-1;4050:46936:111;;;;-1:-1:-1;4050:46936:111;;-1:-1:-1;4050:46936:111;;;;;;;-1:-1:-1;4050:46936:111;;-1:-1:-1;4050:46936:111;;-1:-1:-1;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4050:46936:111;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;4050:46936:111;;-1:-1:-1;4050:46936:111;;;-1:-1:-1;4050:46936:111;;-1:-1:-1;4050:46936:111;;;-1:-1:-1;4050:46936:111;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4050:46936:111;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;4050:46936:111;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;:::o;:::-;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;-1:-1:-1;;4050:46936:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;4050:46936:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;4050:46936:111;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;4050:46936:111;;-1:-1:-1;4050:46936:111;;;-1:-1:-1;4050:46936:111;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;:::o;1620:130:47:-;1534:6;4050:46936:111;-1:-1:-1;;;;;4050:46936:111;965:10:53;1683:23:47;4050:46936:111;;1620:130:47:o;4050:46936:111:-;;;;689:66:62;;;4050:46936:111;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;4050:46936:111;;-1:-1:-1;;;;;4050:46936:111;;;-1:-1:-1;;;;;;4050:46936:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;4050:46936:111:-;;;;:::o;:::-;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;;-1:-1:-1;;;4050:46936:111;;;;;;;1406:259:62;1702:19:78;;:23;4050:46936:111;;-1:-1:-1;;;;;;;;;;;4050:46936:111;;-1:-1:-1;;;;;;4050:46936:111;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;1406:259:62:o;4050:46936:111:-;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;7671:628:78;;;;7875:418;;;4050:46936:111;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;4050:46936:111;;8201:17:78;:::o;4050:46936:111:-;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;7875:418:78;4050:46936:111;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;4050:46936:111;;-1:-1:-1;;;9324:20:78;;4050:46936:111;9324:20:78;;;4050:46936:111;;;;;;;;;;;:::i;:::-;9324:20:78;;;1619:152:110;4050:46936:111;;;;;;;;;;;;1694:19:110;4050:46936:111;;;1694:19:110;4050:46936:111;;;1746:17:110;;4050:46936:111;1746:17:110;;;4050:46936:111;1746:17:110;4050:46936:111;;;;;;;:::i;:::-;1746:17:110;4050:46936:111;;1746:17:110;;;;;;:::i;:::-;4050:46936:111;1736:28:110;;1723:41;4050:46936:111;1619:152:110:o;4050:46936:111:-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;9459:111:110;9535:4;4050:46936:111;-1:-1:-1;;;;;4050:46936:111;9513:10:110;:27;9509:54;;9459:111::o;10416:105::-;10477:6;4050:46936:111;10477:11:110;10473:41;;10416:105::o;10473:41::-;4050:46936:111;;-1:-1:-1;;;10497:17:110;;;;;4050:46936:111;;;;:::o;:::-;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;-1:-1:-1;;4050:46936:111;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;4050:46936:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:66:62;;4050:46936:111;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;689:66:62;4050:46936:111;;;;;689:66:62;4050:46936:111;;;;;:::o;:::-;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;:::o;12427:133::-;-1:-1:-1;;;;;4050:46936:111;12501:22;12497:56;;12427:133::o;12497:56::-;4050:46936;;-1:-1:-1;;;12532:21:111;;;;;4050:46936;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;:::o;12738:230::-;12831:11;4050:46936;-1:-1:-1;;;;;4050:46936:111;12823:34;;12819:76;;12911:50;4050:46936;12911:50;4050:46936;;;689:66:62;;;;;;;;12911:50:111;;12955:4;12911:50;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;12911:50:111;;;12904:57;12738:230;:::o;12911:50::-;;;;;;;;;;;;;;:::i;:::-;4050:46936;;689:66:62;-1:-1:-1;689:66:62;;;;;12819:76:111;12873:11;;4050:46936;12873:11;:::o;12259:162::-;12341:17;4050:46936;-1:-1:-1;;;;;4050:46936:111;12319:10;:40;12315:100;;12259:162::o;12315:100::-;4050:46936;;-1:-1:-1;;;12382:22:111;;;;;4050:46936;;;;;;;;;;:::o;16632:351::-;16719:17;4050:46936;;;;-1:-1:-1;;;16719:66:111;;;;16632:351;4050:46936;;-1:-1:-1;;;;;;;4050:46936:111;16632:351;;4050:46936;;;16719:66;4050:46936;;16719:66;16779:4;16632:351;16719:66;;;;:::i;:::-;;;;;;;;;;;;;;16632:351;16695:90;4050:46936;;16695:90;4050:46936;16695:90;:::i;:::-;;4050:46936;16795:68;;;;;4050:46936;;;689:66:62;;;;;16795:68:111;;16779:4;;;16795:68;16779:4;16795:68;16719:66;16795:68;;;:::i;:::-;;;;;;;;;;;16632:351;4050:46936;;;;;27279:20;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27323:13;27363:3;4050:46936;;27338:23;;;;;27403:15;;27363:3;27403:15;;;:::i;:::-;4050:46936;;;;27475:9;4050:46936;;;;;;27514:26;;;;:::i;:::-;27510:455;;27363:3;;;;;:::i;:::-;27323:13;;27510:455;-1:-1:-1;;;;;;;;;;;4050:46936:111;;;;-1:-1:-1;4050:46936:111;27583:26;;;4050:46936;;27926:23;4050:46936;-1:-1:-1;4050:46936:111;;;;;;27830:12;27693:21;;;4050:46936;27693:37;4050:46936;;;27693:37;:::i;:::-;4050:46936;;27748:27;;4050:46936;;;27748:27;:::i;:::-;4050:46936;;27830:12;;:::i;:::-;4050:46936;27926:23;;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;27866:84;27510:455;;;;;27338:23;;;;;;16950:26;27338:23;;;4050:46936;;;;16950:26;16632:351::o;4050:46936::-;;;;;;;;;;;;-1:-1:-1;4050:46936:111;;;;;;16795:68;;;;;;;:::i;:::-;;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;16719::111;;;;;;;;;;;;;;;:::i;:::-;;;4050:46936;;;;16695:90;4050:46936;;16719:66;;;;;;;;4050:46936;;689:66:62;4050:46936:111;;689:66:62;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;6530:1642:85;6601:6;;6597:45;;8144:10;7344:7;6606:1;4050:46936:111;;8769:3:85;4050:46936:111;8760:16:85;8756:99;;6530:1642;4050:46936:111;;8881:2:85;4050:46936:111;8872:15:85;8868:96;;6530:1642;4050:46936:111;;8990:2:85;4050:46936:111;8981:15:85;8977:96;;6530:1642;4050:46936:111;;9099:2:85;4050:46936:111;9090:15:85;9086:96;;6530:1642;4050:46936:111;;9208:1:85;4050:46936:111;9199:14:85;9195:93;;6530:1642;4050:46936:111;;9314:1:85;4050:46936:111;9305:14:85;9301:93;;6530:1642;4050:46936:111;;9420:1:85;4050:46936:111;9411:14:85;9407:93;;6530:1642;9526:1;;4050:46936:111;;;;;;9513:64:85;;6530:1642;4050:46936:111;;7801:10:85;;;;:::i;:::-;4050:46936:111;;;7850:10:85;;;;:::i;:::-;4050:46936:111;;;7899:10:85;;;;:::i;:::-;4050:46936:111;;;7948:10:85;;;;:::i;:::-;4050:46936:111;;;7997:10:85;;;;:::i;:::-;4050:46936:111;;;8046:10:85;;;;:::i;:::-;4050:46936:111;;;8095:10:85;;;;:::i;:::-;4050:46936:111;;;8144:10:85;;;:::i;:::-;672:5;;;;;;:13;6530:1642;:::o;672:13::-;;;6530:1642;:::o;9513:64::-;4050:46936:111;9513:64:85;;;9407:93;9420:1;9445:11;;4050:46936:111;;9407:93:85;;;;9301;9314:1;9339:11;;4050:46936:111;;9301:93:85;;;;9195;9208:1;9233:11;;4050:46936:111;;9195:93:85;;;;9086:96;9099:2;9125:12;;4050:46936:111;;9086:96:85;;;;8977;8990:2;9016:12;;4050:46936:111;;8977:96:85;;;;8868;8881:2;8907:12;;4050:46936:111;;8868:96:85;;;;8756:99;8796:13;;;8769:3;8756:99;;;;6597:45;6623:8;6606:1;6623:8;:::o;4050:46936:111:-;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;30853:185::-;-1:-1:-1;4050:46936:111;30944:9;4050:46936;;;-1:-1:-1;4050:46936:111;;;30944:37;;:87;;;;30937:94;30853:185;:::o;30944:87::-;30985:32;;4050:46936;-1:-1:-1;;;;;4050:46936:111;30985:46;;;30853:185;-1:-1:-1;30853:185:111:o;31044:183::-;31166:30;:8;4050:46936;31186:10;4050:46936;31166:30;;:::i;:::-;7876:8;4050:46936;;;;;;;;;;;;;;;31166:54;;31044:183;:::o;4050:46936::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;36272:276::-;36384:25;;;;:::i;:::-;36424:10;36433:1;36424:10;;36420:90;;36519:22;;36272:276;:::o;36420:90::-;4050:46936;;;;;36457:42;;;;;;;;;4050:46936;;;;;;;;;36457:42;36965:1175;;;37486:14;4050:46936;7876:8;;4050:46936;;;37504:3;4050:46936;;37480:36;4050:46936;7933:35;;41110:12;;;;4050:46936;;;41213:17;;41240:215;41247:5;;;38012:21;;;;;;:::i;:::-;4050:46936;;;;;;;;;;;;;;;;;;;;;;;38039:38;;;:::i;:::-;4050:46936;;;;;;;;38011:91;38038:63;;;;:::i;:::-;38011:91;;:::i;:::-;-1:-1:-1;;;4050:46936:111;;;;-1:-1:-1;4050:46936:111;;37504:3;4050:46936;36965:1175;:::o;41240:215::-;4050:46936;;41272:5;;;41276:1;;41306:10;;;;:::i;:::-;4050:46936;;41268:177;;;41240:215;;;;41268:177;41390:16;;;;;;;:::i;:::-;4050:46936;-1:-1:-1;;4050:46936:111;;;;;;;41268:177;;;;4050:46936;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;38721:1541;38950:10;4050:46936;38950:15;;38946:66;;39452:33;;;:::i;:::-;39448:91;;39704:8;4050:46936;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;;;;;39739:41;39703:77;39739:41;39820:56;39739:41;;:::i;:::-;7876:8;4050:46936;;;39703:77;:::i;:::-;39855:13;4050:46936;39822:15;4050:46936;39841:3;4050:46936;;39855:13;;;:::i;:::-;4050:46936;;39820:56;;:::i;:::-;4050:46936;;;;;;;;;;;;;;;39890:14;4050:46936;;;;;;;;39817:136;39818:87;;;;:::i;:::-;41552:20;4050:46936;39817:136;;:::i;:::-;4050:46936;;40185:27;4050:46936;40172:40;;;:83;:40;;;:83;38721:1541;:::o;38946:66::-;4050:46936;;-1:-1:-1;;;38988:13:111;;;;;40523:269;;-1:-1:-1;;;40619:13:111;;;4050:46936;;40695:12;;4050:46936;;;40759:7;;;:::i;4050:46936::-;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;;;;;;;;;;;-1:-1:-1;;;4050:46936:111;;;;;;;41769:396;;41931:56;41769:396;41931:56;;:::i;:::-;42001:15;;;;:35;;;41769:396;41997:72;;42121:24;42078:19;;;;4050:46936;42121:24;4050:46936;41769:396::o;41997:72::-;42052:7;;;:::o;42001:35::-;42020:16;;;42001:35;;42171:719;42393:12;42422:19;;;;4050:46936;42422:34;;;;4050:46936;;42471:34;;;42467:173;;42825:24;42739:33;42706:177;42739:33;;;:::i;:::-;42825:24;;4050:46936;42706:177;;:::i;:::-;42171:719;:::o;42467:173::-;42587:13;;;;-1:-1:-1;42587:13:111;-1:-1:-1;42587:13:111;:::o;4050:46936::-;;;;-1:-1:-1;4050:46936:111;;;;;-1:-1:-1;4050:46936:111;42896:1464;43078:30;;;4050:46936;;-1:-1:-1;;;;;4050:46936:111;43078:30;4050:46936;;43078:44;;;;;:99;;42896:1464;43078:745;;;42896:1464;43061:1200;;;42896:1464;4050:46936;;;;;;-1:-1:-1;;;;;;;;;;;4050:46936:111;;44271:20;4050:46936;43078:30;4050:46936;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;44306:47;42896:1464::o;43061:1200::-;43852:12;4050:46936;;;;-1:-1:-1;;;;;4050:46936:111;43848:110;;4050:46936;;;;;;;;;43972:73;;;;;-1:-1:-1;4050:46936:111;;;;;;689:66:62;;;;;;;;43972:73:111;;;;;4050:46936;43972:73;;;;;;;-1:-1:-1;;;;;;;;;;;43972:73:111;4050:46936;43972:73;4050:46936;43972:73;;;43061:1200;4050:46936;44126:16;4050:46936;;44156:29;4050:46936;;44064:135;4050:46936;;;44111:4;4050:46936;;;;;43078:30;4050:46936;;;;;;;;;;44064:135;4050:46936;;;;;;;;;;;;;;44126:16;4050:46936;;;;;;44156:29;4050:46936;;;;;;;;;;;;;;;;;;;;;;;;;43061:1200;;;;;;;43972:73;;;;:::i;:::-;;;;43848:110;4050:46936;;-1:-1:-1;;;43896:47:111;;;;;43078:745;43253:29;4050:46936;;;43219:63;;;;-1:-1:-1;43219:150:111;;43078:745;43219:267;;;;43078:745;43219:386;;;;43078:745;43219:479;;;;43078:745;43219:586;;;;43078:745;;;;43219:586;43726:38;4050:46936;43726:38;;4050:46936;43768:37;4050:46936;43726:79;;43219:586;;:479;43633:31;;;;4050:46936;43668:30;4050:46936;43633:65;;43219:479;;:386;43514:44;;;;4050:46936;43562:43;4050:46936;43514:91;;43219:386;;:267;43397:43;;;;4050:46936;43444:42;4050:46936;43397:89;;43219:267;;:150;4050:46936;;;;;;43253:16;4050:46936;;43310:59;;43219:150;;43078:99;4050:46936;;;;43126:51;;;-1:-1:-1;43078:99:111;;44366:631;4050:46936;-1:-1:-1;4050:46936:111;44498:9;4050:46936;;;-1:-1:-1;4050:46936:111;;;;;44534:33;44530:100;;44928:21;;;;44967:23;44928:21;;4050:46936;44928:21;;:::i;:::-;44967:23;4050:46936;44366:631;:::o;12566:166::-;12643:17;4050:46936;;;-1:-1:-1;;;12643:31:111;;-1:-1:-1;;;;;4050:46936:111;12643:31;;4050:46936;;12643:31;;4050:46936;;;;12643:31;;;;;;;-1:-1:-1;12643:31:111;;;12566:166;4050:46936;;12621:10;:54;12617:109;;12566:166::o;12617:109::-;4050:46936;;-1:-1:-1;;;12698:17:111;;12643:31;;12698:17;12643:31;;;;;;;;;;;;;;:::i;:::-;;;;4050:46936;;;;;;;;;;;;;-1:-1:-1;4050:46936:111;;;;;;;;-1:-1:-1;;4050:46936:111;;;;:::o;:::-;;;;-1:-1:-1;;;;;4050:46936:111;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{},"immutableReferences":{"55653":[{"start":8566,"length":32},{"start":8800,"length":32},{"start":9568,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","DISPUTE_COOLDOWN_SEC()":"f5be3f7c","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","RULING_OPTIONS()":"626c47e8","activatePoints()":"814516ad","allocate(bytes,address)":"ef2920fc","arbitrableConfig()":"1073e996","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","cloneNonce()":"33960459","collateralVault()":"0bece79c","cvParams()":"2506b870","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","disputeCount()":"a28889e1","disputeIdToProposalId(uint256)":"255ffb38","disputeProposal(uint256,string,bytes)":"b41596ec","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getDecay()":"9a1c157c","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address,address)":"f09a4016","init(address,string)":"f321b305","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","registryCommunity()":"6003e414","renounceOwnership()":"715018a6","rule(uint256,uint256)":"311a6c56","setPoolActive(bool)":"b5f620ce","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256))":"062f9ece","setRegistryCommunity(address)":"058aca44","setSybilScorer(address)":"ac1ed7b9","supportProposal((uint256,int256)[])":"e33add93","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitrationConfigCannotBeChangedDuringDispute\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DefaultRulingNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_remainingSec\",\"type\":\"uint256\"}],\"name\":\"DisputeCooldownNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotDisputed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_arbitrableDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_externalDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_templateId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_templateUri\",\"type\":\"string\"}],\"name\":\"DisputeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"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\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"PoolParamsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ProposalDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"}],\"name\":\"TribunaSafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_COOLDOWN_SEC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RULING_OPTIONS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbitrableConfig\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVault\",\"outputs\":[{\"internalType\":\"contract ICollateralVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cvParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputeIdToProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"disputeProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralVault\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ProposalDisputeInfo\",\"name\":\"disputeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"lastDisputeCompletion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"setRegistryCommunity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"deltaSupport\",\"type\":\"int256\"}],\"internalType\":\"struct StrategyStruct.ProposalSupport[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"supportProposal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"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\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeRequest(address,uint256,uint256,uint256,string)\":{\"details\":\"To be emitted when a dispute is created to link the correct meta-evidence to the disputeID.\",\"params\":{\"_arbitrableDisputeID\":\"The identifier of the dispute in the Arbitrable contract.\",\"_arbitrator\":\"The arbitrator of the contract.\",\"_externalDisputeID\":\"An identifier created outside Kleros by the protocol requesting arbitration.\",\"_templateId\":\"The identifier of the dispute template. Should not be used with _templateUri.\",\"_templateUri\":\"The URI to the dispute template. For example on IPFS: starting with '/ipfs/'. Should not be used with _templateId.\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrator\":\"The arbitrator giving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"rule(uint256,uint256)\":{\"details\":\"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.\",\"params\":{\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 is reserved for \\\"Not able/wanting to make a decision\\\".\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"CVStrategyV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e\",\"dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"ArbitrationConfigCannotBeChangedDuringDispute"},{"inputs":[],"type":"error","name":"ArbitratorCannotBeZero"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"DefaultRulingNotSet"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_remainingSec","type":"uint256"}],"type":"error","name":"DisputeCooldownNotPassed"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[{"internalType":"uint256","name":"sentAmount","type":"uint256"},{"internalType":"uint256","name":"requiredAmount","type":"uint256"}],"type":"error","name":"InsufficientCollateral"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyArbitrator"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotDisputed"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_arbitrableDisputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_externalDisputeID","type":"uint256","indexed":false},{"internalType":"uint256","name":"_templateId","type":"uint256","indexed":false},{"internalType":"string","name":"_templateUri","type":"string","indexed":false}],"type":"event","name":"DisputeRequest","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}],"indexed":false},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}],"indexed":false}],"type":"event","name":"PoolParamsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"disputeId","type":"uint256","indexed":false},{"internalType":"address","name":"challenger","type":"address","indexed":false},{"internalType":"string","name":"context","type":"string","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ProposalDisputed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false}],"type":"event","name":"TribunaSafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DISPUTE_COOLDOWN_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RULING_OPTIONS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[],"stateMutability":"view","type":"function","name":"arbitrableConfig","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVault","outputs":[{"internalType":"contract ICollateralVault","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cvParams","outputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputeIdToProposalId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"context","type":"string"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"disputeProposal","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum StrategyStruct.ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"struct StrategyStruct.ProposalDisputeInfo","name":"disputeInfo","type":"tuple","components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"disputeTimestamp","type":"uint256"},{"internalType":"address","name":"challenger","type":"address"},{"internalType":"uint256","name":"submitterCollateralVault","type":"uint256"}]},{"internalType":"uint256","name":"lastDisputeCompletion","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rule"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct StrategyStruct.CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunity"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"struct StrategyStruct.ProposalSupport[]","name":"","type":"tuple[]","components":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"int256","name":"deltaSupport","type":"int256"}]}],"stateMutability":"pure","type":"function","name":"supportProposal"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string)":{"params":{"_allo":"Address of the Allo contract."}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"rule(uint256,uint256)":{"details":"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.","params":{"_disputeID":"The identifier of the dispute in the Arbitrator contract.","_ruling":"Ruling given by the arbitrator. Note that 0 is reserved for \"Not able/wanting to make a decision\"."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string)":{"notice":"Constructor to set the Allo contract and \"strategyId'."},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"CVStrategyV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0","urls":["bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e","dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":71786,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":71788,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":71790,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":71792,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":71794,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":72796,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":72798,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"surpressStateMutabilityWarning","offset":0,"slot":"107","type":"t_uint256"},{"astId":72800,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cloneNonce","offset":0,"slot":"108","type":"t_uint256"},{"astId":72803,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeCount","offset":0,"slot":"109","type":"t_uint64"},{"astId":72806,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalCounter","offset":0,"slot":"110","type":"t_uint256"},{"astId":72808,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalStaked","offset":0,"slot":"111","type":"t_uint256"},{"astId":72810,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalPointsActivated","offset":0,"slot":"112","type":"t_uint256"},{"astId":72813,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cvParams","offset":0,"slot":"113","type":"t_struct(CVParams)72542_storage"},{"astId":72816,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalType","offset":0,"slot":"117","type":"t_enum(ProposalType)72445"},{"astId":72819,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointSystem","offset":1,"slot":"117","type":"t_enum(PointSystem)72450"},{"astId":72822,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointConfig","offset":0,"slot":"118","type":"t_struct(PointSystemConfig)72519_storage"},{"astId":72825,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfig","offset":0,"slot":"119","type":"t_struct(ArbitrableConfig)72533_storage"},{"astId":72828,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"registryCommunity","offset":0,"slot":"125","type":"t_contract(RegistryCommunityV0_0)78776"},{"astId":72831,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVault","offset":0,"slot":"126","type":"t_contract(ICollateralVault)79699"},{"astId":72834,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"sybilScorer","offset":0,"slot":"127","type":"t_contract(ISybilScorer)76330"},{"astId":72839,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposals","offset":0,"slot":"128","type":"t_mapping(t_uint256,t_struct(Proposal)72511_storage)"},{"astId":72843,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalVoterStakePct","offset":0,"slot":"129","type":"t_mapping(t_address,t_uint256)"},{"astId":72848,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedProposals","offset":0,"slot":"130","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":72852,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeIdToProposalId","offset":0,"slot":"131","type":"t_mapping(t_uint256,t_uint256)"},{"astId":75968,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"132","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(IArbitrator)79666":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ICollateralVault)79699":{"encoding":"inplace","label":"contract ICollateralVault","numberOfBytes":"20"},"t_contract(ISybilScorer)76330":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_contract(RegistryCommunityV0_0)78776":{"encoding":"inplace","label":"contract RegistryCommunityV0_0","numberOfBytes":"20"},"t_enum(PointSystem)72450":{"encoding":"inplace","label":"enum StrategyStruct.PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)72470":{"encoding":"inplace","label":"enum StrategyStruct.ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)72445":{"encoding":"inplace","label":"enum StrategyStruct.ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_struct(Proposal)72511_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)72511_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(ArbitrableConfig)72533_storage":{"encoding":"inplace","label":"struct StrategyStruct.ArbitrableConfig","numberOfBytes":"192","members":[{"astId":72522,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)79666"},{"astId":72524,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"tribunalSafe","offset":0,"slot":"1","type":"t_address"},{"astId":72526,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitterCollateralAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":72528,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challengerCollateralAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":72530,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRuling","offset":0,"slot":"4","type":"t_uint256"},{"astId":72532,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRulingTimeout","offset":0,"slot":"5","type":"t_uint256"}]},"t_struct(CVParams)72542_storage":{"encoding":"inplace","label":"struct StrategyStruct.CVParams","numberOfBytes":"128","members":[{"astId":72535,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxRatio","offset":0,"slot":"0","type":"t_uint256"},{"astId":72537,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"weight","offset":0,"slot":"1","type":"t_uint256"},{"astId":72539,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"decay","offset":0,"slot":"2","type":"t_uint256"},{"astId":72541,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"minThresholdPoints","offset":0,"slot":"3","type":"t_uint256"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)72519_storage":{"encoding":"inplace","label":"struct StrategyStruct.PointSystemConfig","numberOfBytes":"32","members":[{"astId":72518,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)72511_storage":{"encoding":"inplace","label":"struct StrategyStruct.Proposal","numberOfBytes":"544","members":[{"astId":72481,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":72483,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":72485,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":72487,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":72489,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":72491,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":72493,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":72495,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":72498,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)72470"},{"astId":72502,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":72505,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"},{"astId":72508,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeInfo","offset":0,"slot":"12","type":"t_struct(ProposalDisputeInfo)72479_storage"},{"astId":72510,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"lastDisputeCompletion","offset":0,"slot":"16","type":"t_uint256"}]},"t_struct(ProposalDisputeInfo)72479_storage":{"encoding":"inplace","label":"struct StrategyStruct.ProposalDisputeInfo","numberOfBytes":"128","members":[{"astId":72472,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeId","offset":0,"slot":"0","type":"t_uint256"},{"astId":72474,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeTimestamp","offset":0,"slot":"1","type":"t_uint256"},{"astId":72476,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challenger","offset":0,"slot":"2","type":"t_address"},{"astId":72478,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitterCollateralVault","offset":0,"slot":"3","type":"t_uint256"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":75970,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[72374],"CVStrategyV0_0":[75969],"Clone":[3002],"ERC165":[57806],"ERC20":[56531],"IAllo":[2610],"IArbitrable":[79562],"IArbitrator":[79666],"ICollateralVault":[79699],"IERC165":[58012],"IPointStrategy":[72441],"ISybilScorer":[76330],"Math":[58878],"Metadata":[3098],"OwnableUpgradeable":[52984],"PassportData":[76248],"RegistryCommunityV0_0":[78776],"StrategyStruct":[72563],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"42:50945:111","nodes":[{"id":72376,"nodeType":"PragmaDirective","src":"42:24:111","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72378,"nodeType":"ImportDirective","src":"68:71:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":72377,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72381,"nodeType":"ImportDirective","src":"140:82:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":72379,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72380,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72383,"nodeType":"ImportDirective","src":"223:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":72382,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"231:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72386,"nodeType":"ImportDirective","src":"290:87:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":57807,"symbolAliases":[{"foreign":{"id":72384,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57806,"src":"298:6:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72385,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58012,"src":"306:7:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72388,"nodeType":"ImportDirective","src":"378:68:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":56532,"symbolAliases":[{"foreign":{"id":72387,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"386:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72390,"nodeType":"ImportDirective","src":"447:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":79667,"symbolAliases":[{"foreign":{"id":72389,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79666,"src":"455:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72392,"nodeType":"ImportDirective","src":"505:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":79563,"symbolAliases":[{"foreign":{"id":72391,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"513:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72394,"nodeType":"ImportDirective","src":"563:65:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":72393,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"571:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72396,"nodeType":"ImportDirective","src":"679:65:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":58879,"symbolAliases":[{"foreign":{"id":72395,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"687:4:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72399,"nodeType":"ImportDirective","src":"745:62:111","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":76331,"symbolAliases":[{"foreign":{"id":72397,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"753:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72398,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76248,"src":"767:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72401,"nodeType":"ImportDirective","src":"809:88:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":72400,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"817:15:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72403,"nodeType":"ImportDirective","src":"898:70:111","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":72375,"symbolAliases":[{"foreign":{"id":72402,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72374,"src":"906:23:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72405,"nodeType":"ImportDirective","src":"969:101:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":72404,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"977:18:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72407,"nodeType":"ImportDirective","src":"1071:67:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"./interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":79700,"symbolAliases":[{"foreign":{"id":72406,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"1079:16:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72409,"nodeType":"ImportDirective","src":"1139:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":72408,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"1147:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72411,"nodeType":"ImportDirective","src":"1206:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":72410,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"1214:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72441,"nodeType":"ContractDefinition","src":"1274:358:111","nodes":[{"id":72416,"nodeType":"FunctionDefinition","src":"1305:52:111","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1314:16:111","parameters":{"id":72414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72413,"mutability":"mutable","name":"_member","nameLocation":"1339:7:111","nodeType":"VariableDeclaration","scope":72416,"src":"1331:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72412,"name":"address","nodeType":"ElementaryTypeName","src":"1331:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1330:17:111"},"returnParameters":{"id":72415,"nodeType":"ParameterList","parameters":[],"src":"1356:0:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72425,"nodeType":"FunctionDefinition","src":"1363:91:111","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1372:13:111","parameters":{"id":72421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72418,"mutability":"mutable","name":"_member","nameLocation":"1394:7:111","nodeType":"VariableDeclaration","scope":72425,"src":"1386:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72417,"name":"address","nodeType":"ElementaryTypeName","src":"1386:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72420,"mutability":"mutable","name":"_amountToStake","nameLocation":"1411:14:111","nodeType":"VariableDeclaration","scope":72425,"src":"1403:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72419,"name":"uint256","nodeType":"ElementaryTypeName","src":"1403:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1385:41:111"},"returnParameters":{"id":72424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72423,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72425,"src":"1445:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72422,"name":"uint256","nodeType":"ElementaryTypeName","src":"1445:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1444:9:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72434,"nodeType":"FunctionDefinition","src":"1460:92:111","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1469:13:111","parameters":{"id":72430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72427,"mutability":"mutable","name":"_member","nameLocation":"1491:7:111","nodeType":"VariableDeclaration","scope":72434,"src":"1483:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72426,"name":"address","nodeType":"ElementaryTypeName","src":"1483:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72429,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1508:15:111","nodeType":"VariableDeclaration","scope":72434,"src":"1500:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72428,"name":"uint256","nodeType":"ElementaryTypeName","src":"1500:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1482:42:111"},"returnParameters":{"id":72433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72434,"src":"1543:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72431,"name":"uint256","nodeType":"ElementaryTypeName","src":"1543:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1542:9:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72440,"nodeType":"FunctionDefinition","src":"1558:72:111","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1567:14:111","parameters":{"id":72435,"nodeType":"ParameterList","parameters":[],"src":"1581:2:111"},"returnParameters":{"id":72439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72440,"src":"1602:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72437,"nodeType":"UserDefinedTypeName","pathNode":{"id":72436,"name":"StrategyStruct.PointSystem","nameLocations":["1602:14:111","1617:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"1602:26:111"},"referencedDeclaration":72450,"src":"1602:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1601:28:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[72441],"name":"IPointStrategy","nameLocation":"1284:14:111","scope":75970,"usedErrors":[]},{"id":72563,"nodeType":"ContractDefinition","src":"1634:2414:111","nodes":[{"id":72445,"nodeType":"EnumDefinition","src":"1663:79:111","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":72442,"name":"Signaling","nameLocation":"1691:9:111","nodeType":"EnumValue","src":"1691:9:111"},{"id":72443,"name":"Funding","nameLocation":"1710:7:111","nodeType":"EnumValue","src":"1710:7:111"},{"id":72444,"name":"Streaming","nameLocation":"1727:9:111","nodeType":"EnumValue","src":"1727:9:111"}],"name":"ProposalType","nameLocation":"1668:12:111"},{"id":72450,"nodeType":"EnumDefinition","src":"1748:92:111","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":72446,"name":"Fixed","nameLocation":"1775:5:111","nodeType":"EnumValue","src":"1775:5:111"},{"id":72447,"name":"Capped","nameLocation":"1790:6:111","nodeType":"EnumValue","src":"1790:6:111"},{"id":72448,"name":"Unlimited","nameLocation":"1806:9:111","nodeType":"EnumValue","src":"1806:9:111"},{"id":72449,"name":"Quadratic","nameLocation":"1825:9:111","nodeType":"EnumValue","src":"1825:9:111"}],"name":"PointSystem","nameLocation":"1753:11:111"},{"id":72462,"nodeType":"StructDefinition","src":"1846:243:111","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":72452,"mutability":"mutable","name":"poolId","nameLocation":"1917:6:111","nodeType":"VariableDeclaration","scope":72462,"src":"1909:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72451,"name":"uint256","nodeType":"ElementaryTypeName","src":"1909:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72454,"mutability":"mutable","name":"beneficiary","nameLocation":"1941:11:111","nodeType":"VariableDeclaration","scope":72462,"src":"1933:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72453,"name":"address","nodeType":"ElementaryTypeName","src":"1933:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72456,"mutability":"mutable","name":"amountRequested","nameLocation":"2008:15:111","nodeType":"VariableDeclaration","scope":72462,"src":"2000:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72455,"name":"uint256","nodeType":"ElementaryTypeName","src":"2000:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72458,"mutability":"mutable","name":"requestedToken","nameLocation":"2041:14:111","nodeType":"VariableDeclaration","scope":72462,"src":"2033:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72457,"name":"address","nodeType":"ElementaryTypeName","src":"2033:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72461,"mutability":"mutable","name":"metadata","nameLocation":"2074:8:111","nodeType":"VariableDeclaration","scope":72462,"src":"2065:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72460,"nodeType":"UserDefinedTypeName","pathNode":{"id":72459,"name":"Metadata","nameLocations":["2065:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2065:8:111"},"referencedDeclaration":3098,"src":"2065:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1853:14:111","scope":72563,"visibility":"public"},{"id":72470,"nodeType":"EnumDefinition","src":"2095:391:111","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":72463,"name":"Inactive","nameLocation":"2125:8:111","nodeType":"EnumValue","src":"2125:8:111"},{"id":72464,"name":"Active","nameLocation":"2155:6:111","nodeType":"EnumValue","src":"2155:6:111"},{"id":72465,"name":"Paused","nameLocation":"2218:6:111","nodeType":"EnumValue","src":"2218:6:111"},{"id":72466,"name":"Cancelled","nameLocation":"2283:9:111","nodeType":"EnumValue","src":"2283:9:111"},{"id":72467,"name":"Executed","nameLocation":"2336:8:111","nodeType":"EnumValue","src":"2336:8:111"},{"id":72468,"name":"Disputed","nameLocation":"2387:8:111","nodeType":"EnumValue","src":"2387:8:111"},{"id":72469,"name":"Rejected","nameLocation":"2438:8:111","nodeType":"EnumValue","src":"2438:8:111"}],"name":"ProposalStatus","nameLocation":"2100:14:111"},{"id":72479,"nodeType":"StructDefinition","src":"2492:165:111","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":72472,"mutability":"mutable","name":"disputeId","nameLocation":"2537:9:111","nodeType":"VariableDeclaration","scope":72479,"src":"2529:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72471,"name":"uint256","nodeType":"ElementaryTypeName","src":"2529:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72474,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2564:16:111","nodeType":"VariableDeclaration","scope":72479,"src":"2556:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72473,"name":"uint256","nodeType":"ElementaryTypeName","src":"2556:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72476,"mutability":"mutable","name":"challenger","nameLocation":"2598:10:111","nodeType":"VariableDeclaration","scope":72479,"src":"2590:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72475,"name":"address","nodeType":"ElementaryTypeName","src":"2590:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72478,"mutability":"mutable","name":"submitterCollateralVault","nameLocation":"2626:24:111","nodeType":"VariableDeclaration","scope":72479,"src":"2618:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72477,"name":"uint256","nodeType":"ElementaryTypeName","src":"2618:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2499:19:111","scope":72563,"visibility":"public"},{"id":72511,"nodeType":"StructDefinition","src":"2663:485:111","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":72481,"mutability":"mutable","name":"proposalId","nameLocation":"2697:10:111","nodeType":"VariableDeclaration","scope":72511,"src":"2689:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72480,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72483,"mutability":"mutable","name":"requestedAmount","nameLocation":"2725:15:111","nodeType":"VariableDeclaration","scope":72511,"src":"2717:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72482,"name":"uint256","nodeType":"ElementaryTypeName","src":"2717:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72485,"mutability":"mutable","name":"stakedAmount","nameLocation":"2758:12:111","nodeType":"VariableDeclaration","scope":72511,"src":"2750:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72484,"name":"uint256","nodeType":"ElementaryTypeName","src":"2750:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72487,"mutability":"mutable","name":"convictionLast","nameLocation":"2788:14:111","nodeType":"VariableDeclaration","scope":72511,"src":"2780:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72486,"name":"uint256","nodeType":"ElementaryTypeName","src":"2780:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72489,"mutability":"mutable","name":"beneficiary","nameLocation":"2820:11:111","nodeType":"VariableDeclaration","scope":72511,"src":"2812:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72488,"name":"address","nodeType":"ElementaryTypeName","src":"2812:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72491,"mutability":"mutable","name":"submitter","nameLocation":"2849:9:111","nodeType":"VariableDeclaration","scope":72511,"src":"2841:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72490,"name":"address","nodeType":"ElementaryTypeName","src":"2841:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72493,"mutability":"mutable","name":"requestedToken","nameLocation":"2876:14:111","nodeType":"VariableDeclaration","scope":72511,"src":"2868:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72492,"name":"address","nodeType":"ElementaryTypeName","src":"2868:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72495,"mutability":"mutable","name":"blockLast","nameLocation":"2908:9:111","nodeType":"VariableDeclaration","scope":72511,"src":"2900:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72494,"name":"uint256","nodeType":"ElementaryTypeName","src":"2900:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72498,"mutability":"mutable","name":"proposalStatus","nameLocation":"2942:14:111","nodeType":"VariableDeclaration","scope":72511,"src":"2927:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":72497,"nodeType":"UserDefinedTypeName","pathNode":{"id":72496,"name":"ProposalStatus","nameLocations":["2927:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72470,"src":"2927:14:111"},"referencedDeclaration":72470,"src":"2927:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":72502,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2994:17:111","nodeType":"VariableDeclaration","scope":72511,"src":"2966:45:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72501,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72499,"name":"address","nodeType":"ElementaryTypeName","src":"2974:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2966:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72500,"name":"uint256","nodeType":"ElementaryTypeName","src":"2985:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":72505,"mutability":"mutable","name":"metadata","nameLocation":"3053:8:111","nodeType":"VariableDeclaration","scope":72511,"src":"3044:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72504,"nodeType":"UserDefinedTypeName","pathNode":{"id":72503,"name":"Metadata","nameLocations":["3044:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"3044:8:111"},"referencedDeclaration":3098,"src":"3044:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":72508,"mutability":"mutable","name":"disputeInfo","nameLocation":"3091:11:111","nodeType":"VariableDeclaration","scope":72511,"src":"3071:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":72507,"nodeType":"UserDefinedTypeName","pathNode":{"id":72506,"name":"ProposalDisputeInfo","nameLocations":["3071:19:111"],"nodeType":"IdentifierPath","referencedDeclaration":72479,"src":"3071:19:111"},"referencedDeclaration":72479,"src":"3071:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":72510,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"3120:21:111","nodeType":"VariableDeclaration","scope":72511,"src":"3112:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72509,"name":"uint256","nodeType":"ElementaryTypeName","src":"3112:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2670:8:111","scope":72563,"visibility":"public"},{"id":72516,"nodeType":"StructDefinition","src":"3154:126:111","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":72513,"mutability":"mutable","name":"proposalId","nameLocation":"3195:10:111","nodeType":"VariableDeclaration","scope":72516,"src":"3187:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72512,"name":"uint256","nodeType":"ElementaryTypeName","src":"3187:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72515,"mutability":"mutable","name":"deltaSupport","nameLocation":"3222:12:111","nodeType":"VariableDeclaration","scope":72516,"src":"3215:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72514,"name":"int256","nodeType":"ElementaryTypeName","src":"3215:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3161:15:111","scope":72563,"visibility":"public"},{"id":72519,"nodeType":"StructDefinition","src":"3286:89:111","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":72518,"mutability":"mutable","name":"maxAmount","nameLocation":"3359:9:111","nodeType":"VariableDeclaration","scope":72519,"src":"3351:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72517,"name":"uint256","nodeType":"ElementaryTypeName","src":"3351:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3293:17:111","scope":72563,"visibility":"public"},{"id":72533,"nodeType":"StructDefinition","src":"3381:249:111","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":72522,"mutability":"mutable","name":"arbitrator","nameLocation":"3427:10:111","nodeType":"VariableDeclaration","scope":72533,"src":"3415:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},"typeName":{"id":72521,"nodeType":"UserDefinedTypeName","pathNode":{"id":72520,"name":"IArbitrator","nameLocations":["3415:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79666,"src":"3415:11:111"},"referencedDeclaration":79666,"src":"3415:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72524,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3455:12:111","nodeType":"VariableDeclaration","scope":72533,"src":"3447:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72523,"name":"address","nodeType":"ElementaryTypeName","src":"3447:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72526,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3485:25:111","nodeType":"VariableDeclaration","scope":72533,"src":"3477:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72525,"name":"uint256","nodeType":"ElementaryTypeName","src":"3477:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72528,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3528:26:111","nodeType":"VariableDeclaration","scope":72533,"src":"3520:34:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72527,"name":"uint256","nodeType":"ElementaryTypeName","src":"3520:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72530,"mutability":"mutable","name":"defaultRuling","nameLocation":"3572:13:111","nodeType":"VariableDeclaration","scope":72533,"src":"3564:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72529,"name":"uint256","nodeType":"ElementaryTypeName","src":"3564:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72532,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3603:20:111","nodeType":"VariableDeclaration","scope":72533,"src":"3595:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72531,"name":"uint256","nodeType":"ElementaryTypeName","src":"3595:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3388:16:111","scope":72563,"visibility":"public"},{"id":72542,"nodeType":"StructDefinition","src":"3636:132:111","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":72535,"mutability":"mutable","name":"maxRatio","nameLocation":"3670:8:111","nodeType":"VariableDeclaration","scope":72542,"src":"3662:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72534,"name":"uint256","nodeType":"ElementaryTypeName","src":"3662:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72537,"mutability":"mutable","name":"weight","nameLocation":"3696:6:111","nodeType":"VariableDeclaration","scope":72542,"src":"3688:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72536,"name":"uint256","nodeType":"ElementaryTypeName","src":"3688:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72539,"mutability":"mutable","name":"decay","nameLocation":"3720:5:111","nodeType":"VariableDeclaration","scope":72542,"src":"3712:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72538,"name":"uint256","nodeType":"ElementaryTypeName","src":"3712:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72541,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3743:18:111","nodeType":"VariableDeclaration","scope":72542,"src":"3735:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72540,"name":"uint256","nodeType":"ElementaryTypeName","src":"3735:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3643:8:111","scope":72563,"visibility":"public"},{"id":72562,"nodeType":"StructDefinition","src":"3774:272:111","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":72545,"mutability":"mutable","name":"cvParams","nameLocation":"3817:8:111","nodeType":"VariableDeclaration","scope":72562,"src":"3808:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72544,"nodeType":"UserDefinedTypeName","pathNode":{"id":72543,"name":"CVParams","nameLocations":["3808:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"3808:8:111"},"referencedDeclaration":72542,"src":"3808:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72548,"mutability":"mutable","name":"proposalType","nameLocation":"3848:12:111","nodeType":"VariableDeclaration","scope":72562,"src":"3835:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72547,"nodeType":"UserDefinedTypeName","pathNode":{"id":72546,"name":"ProposalType","nameLocations":["3835:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72445,"src":"3835:12:111"},"referencedDeclaration":72445,"src":"3835:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":72551,"mutability":"mutable","name":"pointSystem","nameLocation":"3882:11:111","nodeType":"VariableDeclaration","scope":72562,"src":"3870:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72550,"nodeType":"UserDefinedTypeName","pathNode":{"id":72549,"name":"PointSystem","nameLocations":["3870:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"3870:11:111"},"referencedDeclaration":72450,"src":"3870:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":72554,"mutability":"mutable","name":"pointConfig","nameLocation":"3921:11:111","nodeType":"VariableDeclaration","scope":72562,"src":"3903:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72553,"nodeType":"UserDefinedTypeName","pathNode":{"id":72552,"name":"PointSystemConfig","nameLocations":["3903:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72519,"src":"3903:17:111"},"referencedDeclaration":72519,"src":"3903:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":72557,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3959:16:111","nodeType":"VariableDeclaration","scope":72562,"src":"3942:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72556,"nodeType":"UserDefinedTypeName","pathNode":{"id":72555,"name":"ArbitrableConfig","nameLocations":["3942:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"3942:16:111"},"referencedDeclaration":72533,"src":"3942:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":72559,"mutability":"mutable","name":"registryCommunity","nameLocation":"3993:17:111","nodeType":"VariableDeclaration","scope":72562,"src":"3985:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72558,"name":"address","nodeType":"ElementaryTypeName","src":"3985:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72561,"mutability":"mutable","name":"sybilScorer","nameLocation":"4028:11:111","nodeType":"VariableDeclaration","scope":72562,"src":"4020:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72560,"name":"address","nodeType":"ElementaryTypeName","src":"4020:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3781:16:111","scope":72563,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[72563],"name":"StrategyStruct","nameLocation":"1642:14:111","scope":75970,"usedErrors":[]},{"id":75969,"nodeType":"ContractDefinition","src":"4050:46936:111","nodes":[{"id":72575,"nodeType":"ErrorDefinition","src":"4330:25:111","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4336:16:111","parameters":{"id":72574,"nodeType":"ParameterList","parameters":[],"src":"4352:2:111"}},{"id":72577,"nodeType":"ErrorDefinition","src":"4374:26:111","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4380:17:111","parameters":{"id":72576,"nodeType":"ParameterList","parameters":[],"src":"4397:2:111"}},{"id":72579,"nodeType":"ErrorDefinition","src":"4418:23:111","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4424:14:111","parameters":{"id":72578,"nodeType":"ParameterList","parameters":[],"src":"4438:2:111"}},{"id":72581,"nodeType":"ErrorDefinition","src":"4460:20:111","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4466:11:111","parameters":{"id":72580,"nodeType":"ParameterList","parameters":[],"src":"4477:2:111"}},{"id":72583,"nodeType":"ErrorDefinition","src":"4499:23:111","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4505:14:111","parameters":{"id":72582,"nodeType":"ParameterList","parameters":[],"src":"4519:2:111"}},{"id":72585,"nodeType":"ErrorDefinition","src":"4540:26:111","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4546:17:111","parameters":{"id":72584,"nodeType":"ParameterList","parameters":[],"src":"4563:2:111"}},{"id":72587,"nodeType":"ErrorDefinition","src":"4584:24:111","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4590:15:111","parameters":{"id":72586,"nodeType":"ParameterList","parameters":[],"src":"4605:2:111"}},{"id":72589,"nodeType":"ErrorDefinition","src":"4627:27:111","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4633:18:111","parameters":{"id":72588,"nodeType":"ParameterList","parameters":[],"src":"4651:2:111"}},{"id":72591,"nodeType":"ErrorDefinition","src":"4673:27:111","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4679:18:111","parameters":{"id":72590,"nodeType":"ParameterList","parameters":[],"src":"4697:2:111"}},{"id":72593,"nodeType":"ErrorDefinition","src":"4718:28:111","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4724:19:111","parameters":{"id":72592,"nodeType":"ParameterList","parameters":[],"src":"4743:2:111"}},{"id":72595,"nodeType":"ErrorDefinition","src":"4764:29:111","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4770:20:111","parameters":{"id":72594,"nodeType":"ParameterList","parameters":[],"src":"4790:2:111"}},{"id":72603,"nodeType":"ErrorDefinition","src":"4812:72:111","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4818:16:111","parameters":{"id":72602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72597,"mutability":"mutable","name":"_support","nameLocation":"4843:8:111","nodeType":"VariableDeclaration","scope":72603,"src":"4835:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72596,"name":"uint256","nodeType":"ElementaryTypeName","src":"4835:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72599,"mutability":"mutable","name":"_delta","nameLocation":"4860:6:111","nodeType":"VariableDeclaration","scope":72603,"src":"4853:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72598,"name":"int256","nodeType":"ElementaryTypeName","src":"4853:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":72601,"mutability":"mutable","name":"_result","nameLocation":"4875:7:111","nodeType":"VariableDeclaration","scope":72603,"src":"4868:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72600,"name":"int256","nodeType":"ElementaryTypeName","src":"4868:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4834:49:111"}},{"id":72605,"nodeType":"ErrorDefinition","src":"4903:25:111","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4909:16:111","parameters":{"id":72604,"nodeType":"ParameterList","parameters":[],"src":"4925:2:111"}},{"id":72607,"nodeType":"ErrorDefinition","src":"4947:32:111","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4953:23:111","parameters":{"id":72606,"nodeType":"ParameterList","parameters":[],"src":"4976:2:111"}},{"id":72613,"nodeType":"ErrorDefinition","src":"4998:77:111","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"5004:24:111","parameters":{"id":72612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72609,"mutability":"mutable","name":"pointsSupport","nameLocation":"5037:13:111","nodeType":"VariableDeclaration","scope":72613,"src":"5029:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72608,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72611,"mutability":"mutable","name":"pointsBalance","nameLocation":"5060:13:111","nodeType":"VariableDeclaration","scope":72613,"src":"5052:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72610,"name":"uint256","nodeType":"ElementaryTypeName","src":"5052:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:46:111"}},{"id":72615,"nodeType":"ErrorDefinition","src":"5095:28:111","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5101:19:111","parameters":{"id":72614,"nodeType":"ParameterList","parameters":[],"src":"5120:2:111"}},{"id":72617,"nodeType":"ErrorDefinition","src":"5141:31:111","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5147:22:111","parameters":{"id":72616,"nodeType":"ParameterList","parameters":[],"src":"5169:2:111"}},{"id":72621,"nodeType":"ErrorDefinition","src":"5190:45:111","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5196:17:111","parameters":{"id":72620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72619,"mutability":"mutable","name":"_proposalId","nameLocation":"5222:11:111","nodeType":"VariableDeclaration","scope":72621,"src":"5214:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5214:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5213:21:111"}},{"id":72625,"nodeType":"ErrorDefinition","src":"5254:45:111","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5260:17:111","parameters":{"id":72624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72623,"mutability":"mutable","name":"_proposalId","nameLocation":"5286:11:111","nodeType":"VariableDeclaration","scope":72625,"src":"5278:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72622,"name":"uint256","nodeType":"ElementaryTypeName","src":"5278:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5277:21:111"}},{"id":72631,"nodeType":"ErrorDefinition","src":"5318:68:111","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5324:25:111","parameters":{"id":72630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72627,"mutability":"mutable","name":"_proposalId","nameLocation":"5358:11:111","nodeType":"VariableDeclaration","scope":72631,"src":"5350:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72626,"name":"uint256","nodeType":"ElementaryTypeName","src":"5350:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72629,"mutability":"mutable","name":"index","nameLocation":"5379:5:111","nodeType":"VariableDeclaration","scope":72631,"src":"5371:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72628,"name":"uint256","nodeType":"ElementaryTypeName","src":"5371:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5349:36:111"}},{"id":72633,"nodeType":"ErrorDefinition","src":"5404:40:111","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5410:31:111","parameters":{"id":72632,"nodeType":"ParameterList","parameters":[],"src":"5441:2:111"}},{"id":72635,"nodeType":"ErrorDefinition","src":"5463:29:111","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5469:20:111","parameters":{"id":72634,"nodeType":"ParameterList","parameters":[],"src":"5489:2:111"}},{"id":72643,"nodeType":"ErrorDefinition","src":"5511:94:111","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5517:19:111","parameters":{"id":72642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72637,"mutability":"mutable","name":"_proposalId","nameLocation":"5545:11:111","nodeType":"VariableDeclaration","scope":72643,"src":"5537:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72636,"name":"uint256","nodeType":"ElementaryTypeName","src":"5537:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72639,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5566:16:111","nodeType":"VariableDeclaration","scope":72643,"src":"5558:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72638,"name":"uint256","nodeType":"ElementaryTypeName","src":"5558:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72641,"mutability":"mutable","name":"_poolAmount","nameLocation":"5592:11:111","nodeType":"VariableDeclaration","scope":72643,"src":"5584:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72640,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5536:68:111"}},{"id":72645,"nodeType":"ErrorDefinition","src":"5623:24:111","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5629:15:111","parameters":{"id":72644,"nodeType":"ParameterList","parameters":[],"src":"5644:2:111"}},{"id":72647,"nodeType":"ErrorDefinition","src":"5652:32:111","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5658:23:111","parameters":{"id":72646,"nodeType":"ParameterList","parameters":[],"src":"5681:2:111"}},{"id":72653,"nodeType":"ErrorDefinition","src":"5689:73:111","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5695:22:111","parameters":{"id":72652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72649,"mutability":"mutable","name":"sentAmount","nameLocation":"5726:10:111","nodeType":"VariableDeclaration","scope":72653,"src":"5718:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72648,"name":"uint256","nodeType":"ElementaryTypeName","src":"5718:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72651,"mutability":"mutable","name":"requiredAmount","nameLocation":"5746:14:111","nodeType":"VariableDeclaration","scope":72653,"src":"5738:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72650,"name":"uint256","nodeType":"ElementaryTypeName","src":"5738:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5717:44:111"}},{"id":72655,"nodeType":"ErrorDefinition","src":"5767:23:111","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5773:14:111","parameters":{"id":72654,"nodeType":"ParameterList","parameters":[],"src":"5787:2:111"}},{"id":72659,"nodeType":"ErrorDefinition","src":"5795:47:111","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5801:19:111","parameters":{"id":72658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72657,"mutability":"mutable","name":"_proposalId","nameLocation":"5829:11:111","nodeType":"VariableDeclaration","scope":72659,"src":"5821:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72656,"name":"uint256","nodeType":"ElementaryTypeName","src":"5821:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5820:21:111"}},{"id":72661,"nodeType":"ErrorDefinition","src":"5847:31:111","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5853:22:111","parameters":{"id":72660,"nodeType":"ParameterList","parameters":[],"src":"5875:2:111"}},{"id":72663,"nodeType":"ErrorDefinition","src":"5964:28:111","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5970:19:111","parameters":{"id":72662,"nodeType":"ParameterList","parameters":[],"src":"5989:2:111"}},{"id":72669,"nodeType":"ErrorDefinition","src":"5997:75:111","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"6003:24:111","parameters":{"id":72668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72665,"mutability":"mutable","name":"_proposalId","nameLocation":"6036:11:111","nodeType":"VariableDeclaration","scope":72669,"src":"6028:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72664,"name":"uint256","nodeType":"ElementaryTypeName","src":"6028:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72667,"mutability":"mutable","name":"_remainingSec","nameLocation":"6057:13:111","nodeType":"VariableDeclaration","scope":72669,"src":"6049:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72666,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6027:44:111"}},{"id":72671,"nodeType":"ErrorDefinition","src":"6077:54:111","nodes":[],"errorSelector":"fcc12b5b","name":"ArbitrationConfigCannotBeChangedDuringDispute","nameLocation":"6083:45:111","parameters":{"id":72670,"nodeType":"ParameterList","parameters":[],"src":"6128:2:111"}},{"id":72678,"nodeType":"EventDefinition","src":"6303:74:111","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6309:13:111","parameters":{"id":72677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72673,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6331:6:111","nodeType":"VariableDeclaration","scope":72678,"src":"6323:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72672,"name":"uint256","nodeType":"ElementaryTypeName","src":"6323:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72676,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6371:4:111","nodeType":"VariableDeclaration","scope":72678,"src":"6339:36:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72675,"nodeType":"UserDefinedTypeName","pathNode":{"id":72674,"name":"StrategyStruct.InitializeParams","nameLocations":["6339:14:111","6354:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"6339:31:111"},"referencedDeclaration":72562,"src":"6339:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6322:54:111"}},{"id":72686,"nodeType":"EventDefinition","src":"6382:75:111","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6388:11:111","parameters":{"id":72685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72680,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6408:10:111","nodeType":"VariableDeclaration","scope":72686,"src":"6400:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72679,"name":"uint256","nodeType":"ElementaryTypeName","src":"6400:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72682,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6428:11:111","nodeType":"VariableDeclaration","scope":72686,"src":"6420:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72681,"name":"address","nodeType":"ElementaryTypeName","src":"6420:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72684,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6449:6:111","nodeType":"VariableDeclaration","scope":72686,"src":"6441:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72683,"name":"uint256","nodeType":"ElementaryTypeName","src":"6441:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6399:57:111"}},{"id":72692,"nodeType":"EventDefinition","src":"6462:58:111","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6468:15:111","parameters":{"id":72691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72688,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6492:6:111","nodeType":"VariableDeclaration","scope":72692,"src":"6484:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72687,"name":"uint256","nodeType":"ElementaryTypeName","src":"6484:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72690,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6508:10:111","nodeType":"VariableDeclaration","scope":72692,"src":"6500:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72689,"name":"uint256","nodeType":"ElementaryTypeName","src":"6500:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6483:36:111"}},{"id":72696,"nodeType":"EventDefinition","src":"6525:42:111","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6531:19:111","parameters":{"id":72695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72694,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6559:6:111","nodeType":"VariableDeclaration","scope":72696,"src":"6551:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72693,"name":"uint256","nodeType":"ElementaryTypeName","src":"6551:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6550:16:111"}},{"id":72700,"nodeType":"EventDefinition","src":"6572:40:111","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6578:17:111","parameters":{"id":72699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72698,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6604:6:111","nodeType":"VariableDeclaration","scope":72700,"src":"6596:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72697,"name":"address","nodeType":"ElementaryTypeName","src":"6596:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6595:16:111"}},{"id":72708,"nodeType":"EventDefinition","src":"6617:85:111","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6623:14:111","parameters":{"id":72707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72702,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6646:6:111","nodeType":"VariableDeclaration","scope":72708,"src":"6638:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72701,"name":"address","nodeType":"ElementaryTypeName","src":"6638:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72704,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6662:12:111","nodeType":"VariableDeclaration","scope":72708,"src":"6654:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72703,"name":"uint256","nodeType":"ElementaryTypeName","src":"6654:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72706,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6684:16:111","nodeType":"VariableDeclaration","scope":72708,"src":"6676:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72705,"name":"uint256","nodeType":"ElementaryTypeName","src":"6676:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6637:64:111"}},{"id":72716,"nodeType":"EventDefinition","src":"6707:87:111","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6713:14:111","parameters":{"id":72715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72710,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6736:6:111","nodeType":"VariableDeclaration","scope":72716,"src":"6728:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72709,"name":"address","nodeType":"ElementaryTypeName","src":"6728:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72712,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6752:14:111","nodeType":"VariableDeclaration","scope":72716,"src":"6744:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72711,"name":"uint256","nodeType":"ElementaryTypeName","src":"6744:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72714,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6776:16:111","nodeType":"VariableDeclaration","scope":72716,"src":"6768:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72713,"name":"uint256","nodeType":"ElementaryTypeName","src":"6768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6727:66:111"}},{"id":72728,"nodeType":"EventDefinition","src":"6799:134:111","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6805:12:111","parameters":{"id":72727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72718,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6835:4:111","nodeType":"VariableDeclaration","scope":72728,"src":"6827:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72717,"name":"address","nodeType":"ElementaryTypeName","src":"6827:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72720,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6849:10:111","nodeType":"VariableDeclaration","scope":72728,"src":"6841:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72719,"name":"uint256","nodeType":"ElementaryTypeName","src":"6841:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72722,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6869:6:111","nodeType":"VariableDeclaration","scope":72728,"src":"6861:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72721,"name":"uint256","nodeType":"ElementaryTypeName","src":"6861:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72724,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6885:17:111","nodeType":"VariableDeclaration","scope":72728,"src":"6877:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72723,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72726,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6912:14:111","nodeType":"VariableDeclaration","scope":72728,"src":"6904:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72725,"name":"uint256","nodeType":"ElementaryTypeName","src":"6904:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6817:115:111"}},{"id":72736,"nodeType":"EventDefinition","src":"6938:108:111","nodes":[],"anonymous":false,"eventSelector":"b47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d","name":"PoolParamsUpdated","nameLocation":"6944:17:111","parameters":{"id":72735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72731,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6986:8:111","nodeType":"VariableDeclaration","scope":72736,"src":"6962:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72730,"nodeType":"UserDefinedTypeName","pathNode":{"id":72729,"name":"StrategyStruct.CVParams","nameLocations":["6962:14:111","6977:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"6962:23:111"},"referencedDeclaration":72542,"src":"6962:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72734,"indexed":false,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"7028:16:111","nodeType":"VariableDeclaration","scope":72736,"src":"6996:48:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72733,"nodeType":"UserDefinedTypeName","pathNode":{"id":72732,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["6996:14:111","7011:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"6996:31:111"},"referencedDeclaration":72533,"src":"6996:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"6961:84:111"}},{"id":72740,"nodeType":"EventDefinition","src":"7051:49:111","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"7057:15:111","parameters":{"id":72739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72738,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"7081:17:111","nodeType":"VariableDeclaration","scope":72740,"src":"7073:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72737,"name":"address","nodeType":"ElementaryTypeName","src":"7073:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7072:27:111"}},{"id":72746,"nodeType":"EventDefinition","src":"7105:76:111","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"7111:25:111","parameters":{"id":72745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72742,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7145:6:111","nodeType":"VariableDeclaration","scope":72746,"src":"7137:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72741,"name":"uint256","nodeType":"ElementaryTypeName","src":"7137:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72744,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7161:18:111","nodeType":"VariableDeclaration","scope":72746,"src":"7153:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72743,"name":"uint256","nodeType":"ElementaryTypeName","src":"7153:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7136:44:111"}},{"id":72761,"nodeType":"EventDefinition","src":"7186:195:111","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7192:16:111","parameters":{"id":72760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72749,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7230:10:111","nodeType":"VariableDeclaration","scope":72761,"src":"7218:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},"typeName":{"id":72748,"nodeType":"UserDefinedTypeName","pathNode":{"id":72747,"name":"IArbitrator","nameLocations":["7218:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79666,"src":"7218:11:111"},"referencedDeclaration":79666,"src":"7218:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72751,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7258:10:111","nodeType":"VariableDeclaration","scope":72761,"src":"7250:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72750,"name":"uint256","nodeType":"ElementaryTypeName","src":"7250:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72753,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7286:9:111","nodeType":"VariableDeclaration","scope":72761,"src":"7278:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72752,"name":"uint256","nodeType":"ElementaryTypeName","src":"7278:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72755,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7313:10:111","nodeType":"VariableDeclaration","scope":72761,"src":"7305:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72754,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72757,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7340:7:111","nodeType":"VariableDeclaration","scope":72761,"src":"7333:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72756,"name":"string","nodeType":"ElementaryTypeName","src":"7333:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":72759,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7365:9:111","nodeType":"VariableDeclaration","scope":72761,"src":"7357:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72758,"name":"uint256","nodeType":"ElementaryTypeName","src":"7357:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7208:172:111"}},{"id":72769,"nodeType":"EventDefinition","src":"7386:88:111","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7392:21:111","parameters":{"id":72768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72763,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7422:8:111","nodeType":"VariableDeclaration","scope":72769,"src":"7414:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72762,"name":"address","nodeType":"ElementaryTypeName","src":"7414:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72765,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7440:10:111","nodeType":"VariableDeclaration","scope":72769,"src":"7432:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72764,"name":"address","nodeType":"ElementaryTypeName","src":"7432:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72767,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7460:12:111","nodeType":"VariableDeclaration","scope":72769,"src":"7452:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72766,"name":"address","nodeType":"ElementaryTypeName","src":"7452:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7413:60:111"}},{"id":72772,"nodeType":"VariableDeclaration","src":"7848:36:111","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"7872:1:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72770,"name":"uint256","nodeType":"ElementaryTypeName","src":"7848:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":72771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7876:8:111","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":72775,"nodeType":"VariableDeclaration","src":"7898:70:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"7923:7:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72773,"name":"uint256","nodeType":"ElementaryTypeName","src":"7898:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":72774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7933:35:111","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":72778,"nodeType":"VariableDeclaration","src":"7984:69:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8009:7:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72776,"name":"uint256","nodeType":"ElementaryTypeName","src":"7984:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":72777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8019:34:111","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":72781,"nodeType":"VariableDeclaration","src":"8069:53:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8094:6:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72779,"name":"uint256","nodeType":"ElementaryTypeName","src":"8069:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":72780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8103:19:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":72784,"nodeType":"VariableDeclaration","src":"8137:49:111","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8161:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72782,"name":"uint256","nodeType":"ElementaryTypeName","src":"8137:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":72783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8184:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":72787,"nodeType":"VariableDeclaration","src":"8272:42:111","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8296:14:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72785,"name":"uint256","nodeType":"ElementaryTypeName","src":"8272:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":72786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8313:1:111","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":72790,"nodeType":"VariableDeclaration","src":"8320:54:111","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8344:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72788,"name":"uint256","nodeType":"ElementaryTypeName","src":"8320:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":72789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8367:7:111","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":72796,"nodeType":"VariableDeclaration","src":"8381:93:111","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8397:23:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72791,"name":"address","nodeType":"ElementaryTypeName","src":"8381:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307833623166624642303444423335383539323062326541644262383833394643393638304645386364","id":72794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8431:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x3b1fbFB04DB3585920b2eAdBb8839FC9680FE8cd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8423:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72792,"name":"address","nodeType":"ElementaryTypeName","src":"8423:7:111","typeDescriptions":{}}},"id":72795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8423:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":72798,"nodeType":"VariableDeclaration","src":"8578:47:111","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8595:30:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72797,"name":"uint256","nodeType":"ElementaryTypeName","src":"8578:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":72800,"nodeType":"VariableDeclaration","src":"8669:25:111","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8684:10:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72799,"name":"uint256","nodeType":"ElementaryTypeName","src":"8669:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72803,"nodeType":"VariableDeclaration","src":"8700:30:111","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8714:12:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72801,"name":"uint64","nodeType":"ElementaryTypeName","src":"8700:6:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"30","id":72802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8729:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72806,"nodeType":"VariableDeclaration","src":"8736:34:111","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8751:15:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72804,"name":"uint256","nodeType":"ElementaryTypeName","src":"8736:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":72805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8769:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72808,"nodeType":"VariableDeclaration","src":"8777:26:111","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8792:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72807,"name":"uint256","nodeType":"ElementaryTypeName","src":"8777:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72810,"nodeType":"VariableDeclaration","src":"8809:35:111","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"8824:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72809,"name":"uint256","nodeType":"ElementaryTypeName","src":"8809:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72813,"nodeType":"VariableDeclaration","src":"8851:39:111","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"8882:8:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72812,"nodeType":"UserDefinedTypeName","pathNode":{"id":72811,"name":"StrategyStruct.CVParams","nameLocations":["8851:14:111","8866:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"8851:23:111"},"referencedDeclaration":72542,"src":"8851:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":72816,"nodeType":"VariableDeclaration","src":"8937:47:111","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"8972:12:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72815,"nodeType":"UserDefinedTypeName","pathNode":{"id":72814,"name":"StrategyStruct.ProposalType","nameLocations":["8937:14:111","8952:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72445,"src":"8937:27:111"},"referencedDeclaration":72445,"src":"8937:27:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":72819,"nodeType":"VariableDeclaration","src":"9043:45:111","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9077:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72818,"nodeType":"UserDefinedTypeName","pathNode":{"id":72817,"name":"StrategyStruct.PointSystem","nameLocations":["9043:14:111","9058:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"9043:26:111"},"referencedDeclaration":72450,"src":"9043:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":72822,"nodeType":"VariableDeclaration","src":"9094:51:111","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9134:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72821,"nodeType":"UserDefinedTypeName","pathNode":{"id":72820,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9094:14:111","9109:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72519,"src":"9094:32:111"},"referencedDeclaration":72519,"src":"9094:32:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":72825,"nodeType":"VariableDeclaration","src":"9151:55:111","nodes":[],"constant":false,"functionSelector":"1073e996","mutability":"mutable","name":"arbitrableConfig","nameLocation":"9190:16:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72824,"nodeType":"UserDefinedTypeName","pathNode":{"id":72823,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9151:14:111","9166:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"9151:31:111"},"referencedDeclaration":72533,"src":"9151:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"public"},{"id":72828,"nodeType":"VariableDeclaration","src":"9239:46:111","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9268:17:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":72827,"nodeType":"UserDefinedTypeName","pathNode":{"id":72826,"name":"RegistryCommunityV0_0","nameLocations":["9239:21:111"],"nodeType":"IdentifierPath","referencedDeclaration":78776,"src":"9239:21:111"},"referencedDeclaration":78776,"src":"9239:21:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":72831,"nodeType":"VariableDeclaration","src":"9292:39:111","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9316:15:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"},"typeName":{"id":72830,"nodeType":"UserDefinedTypeName","pathNode":{"id":72829,"name":"ICollateralVault","nameLocations":["9292:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":79699,"src":"9292:16:111"},"referencedDeclaration":79699,"src":"9292:16:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":72834,"nodeType":"VariableDeclaration","src":"9337:31:111","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9357:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"},"typeName":{"id":72833,"nodeType":"UserDefinedTypeName","pathNode":{"id":72832,"name":"ISybilScorer","nameLocations":["9337:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":76330,"src":"9337:12:111"},"referencedDeclaration":76330,"src":"9337:12:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":72839,"nodeType":"VariableDeclaration","src":"9435:60:111","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9486:9:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":72838,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72835,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9435:43:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72837,"nodeType":"UserDefinedTypeName","pathNode":{"id":72836,"name":"StrategyStruct.Proposal","nameLocations":["9454:14:111","9469:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"9454:23:111"},"referencedDeclaration":72511,"src":"9454:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":72843,"nodeType":"VariableDeclaration","src":"9551:53:111","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9586:18:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72842,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72840,"name":"address","nodeType":"ElementaryTypeName","src":"9559:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9551:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72841,"name":"uint256","nodeType":"ElementaryTypeName","src":"9570:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72848,"nodeType":"VariableDeclaration","src":"9642:57:111","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9679:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":72847,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72844,"name":"address","nodeType":"ElementaryTypeName","src":"9650:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9642:29:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":72845,"name":"uint256","nodeType":"ElementaryTypeName","src":"9661:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72846,"nodeType":"ArrayTypeName","src":"9661:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":72852,"nodeType":"VariableDeclaration","src":"9737:56:111","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9772:21:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":72851,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72849,"name":"uint256","nodeType":"ElementaryTypeName","src":"9745:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9737:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72850,"name":"uint256","nodeType":"ElementaryTypeName","src":"9756:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72876,"nodeType":"FunctionDefinition","src":"10046:226:111","nodes":[],"body":{"id":72875,"nodeType":"Block","src":"10138:134:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72864,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72854,"src":"10159:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":72865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10166:12:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":72861,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10148:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75969_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10154:4:111","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":71818,"src":"10148:10:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":72866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10148:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72867,"nodeType":"ExpressionStatement","src":"10148:31:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72868,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"10189:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10189:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72870,"nodeType":"ExpressionStatement","src":"10189:16:111"},{"expression":{"id":72873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72871,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72796,"src":"10215:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72872,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72856,"src":"10241:24:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10215:50:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72874,"nodeType":"ExpressionStatement","src":"10215:50:111"}]},"functionSelector":"f09a4016","implemented":true,"kind":"function","modifiers":[{"id":72859,"kind":"modifierInvocation","modifierName":{"id":72858,"name":"initializer","nameLocations":["10126:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"10126:11:111"},"nodeType":"ModifierInvocation","src":"10126:11:111"}],"name":"init","nameLocation":"10055:4:111","parameters":{"id":72857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72854,"mutability":"mutable","name":"_allo","nameLocation":"10068:5:111","nodeType":"VariableDeclaration","scope":72876,"src":"10060:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72853,"name":"address","nodeType":"ElementaryTypeName","src":"10060:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72856,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10083:24:111","nodeType":"VariableDeclaration","scope":72876,"src":"10075:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72855,"name":"address","nodeType":"ElementaryTypeName","src":"10075:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10059:49:111"},"returnParameters":{"id":72860,"nodeType":"ParameterList","parameters":[],"src":"10138:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72972,"nodeType":"FunctionDefinition","src":"10278:824:111","nodes":[],"body":{"id":72971,"nodeType":"Block","src":"10361:741:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72886,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72878,"src":"10391:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72885,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71954,"src":"10371:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10371:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72888,"nodeType":"ExpressionStatement","src":"10371:28:111"},{"expression":{"id":72898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72889,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"10410:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":72893,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72796,"src":"10463:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10488:12:111","subExpression":{"id":72894,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72800,"src":"10488:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72891,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10445:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":72892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10451:11:111","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10445:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":72896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10445:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72890,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"10428:16:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$79699_$","typeString":"type(contract ICollateralVault)"}},"id":72897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10428:74:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"src":"10410:92:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":72899,"nodeType":"ExpressionStatement","src":"10410:92:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72900,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"10512:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":72902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10528:10:111","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":79671,"src":"10512:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":72903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72904,"nodeType":"ExpressionStatement","src":"10512:28:111"},{"assignments":[72909],"declarations":[{"constant":false,"id":72909,"mutability":"mutable","name":"ip","nameLocation":"10590:2:111","nodeType":"VariableDeclaration","scope":72971,"src":"10551:41:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72908,"nodeType":"UserDefinedTypeName","pathNode":{"id":72907,"name":"StrategyStruct.InitializeParams","nameLocations":["10551:14:111","10566:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"10551:31:111"},"referencedDeclaration":72562,"src":"10551:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":72917,"initialValue":{"arguments":[{"id":72912,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72880,"src":"10606:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":72913,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"10614:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":72914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10629:16:111","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":72562,"src":"10614:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72562_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":72915,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10613:33:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72562_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72562_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":72910,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10595:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10599:6:111","memberName":"decode","nodeType":"MemberAccess","src":"10595:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":72916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10595:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10551:96:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72918,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10662:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72919,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10665:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72559,"src":"10662:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10694:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10686:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72920,"name":"address","nodeType":"ElementaryTypeName","src":"10686:7:111","typeDescriptions":{}}},"id":72923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10686:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10662:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72929,"nodeType":"IfStatement","src":"10658:94:111","trueBody":{"id":72928,"nodeType":"Block","src":"10698:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72925,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"10719:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72927,"nodeType":"RevertStatement","src":"10712:29:111"}]}},{"expression":{"id":72935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72930,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"10762:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72932,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10804:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10807:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72559,"src":"10804:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72931,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"10782:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78776_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":72934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10782:43:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"src":"10762:63:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":72936,"nodeType":"ExpressionStatement","src":"10762:63:111"},{"expression":{"id":72940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72937,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72816,"src":"10836:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72938,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10851:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72939,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10854:12:111","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72548,"src":"10851:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"10836:30:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"id":72941,"nodeType":"ExpressionStatement","src":"10836:30:111"},{"expression":{"id":72945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72942,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"10876:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72943,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10890:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72944,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10893:11:111","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":72551,"src":"10890:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"10876:28:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"id":72946,"nodeType":"ExpressionStatement","src":"10876:28:111"},{"expression":{"id":72950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72947,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"10914:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72948,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10928:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10931:11:111","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":72554,"src":"10928:14:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"10914:28:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":72951,"nodeType":"ExpressionStatement","src":"10914:28:111"},{"expression":{"id":72957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72952,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"10952:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72954,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10979:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10982:11:111","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":72561,"src":"10979:14:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72953,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"10966:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76330_$","typeString":"type(contract ISybilScorer)"}},"id":72956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10966:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"src":"10952:42:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"id":72958,"nodeType":"ExpressionStatement","src":"10952:42:111"},{"expression":{"arguments":[{"expression":{"id":72960,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"11020:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11023:16:111","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":72557,"src":"11020:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":72962,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"11041:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11044:8:111","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72545,"src":"11041:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":72959,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75414,"src":"11005:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$_t_struct$_CVParams_$72542_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":72964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11005:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72965,"nodeType":"ExpressionStatement","src":"11005:48:111"},{"eventCall":{"arguments":[{"id":72967,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72878,"src":"11083:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72968,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"11092:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":72966,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72678,"src":"11069:13:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$72562_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":72969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11069:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72970,"nodeType":"EmitStatement","src":"11064:31:111"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":72883,"kind":"modifierInvocation","modifierName":{"id":72882,"name":"onlyAllo","nameLocations":["10352:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":71826,"src":"10352:8:111"},"nodeType":"ModifierInvocation","src":"10352:8:111"}],"name":"initialize","nameLocation":"10287:10:111","parameters":{"id":72881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72878,"mutability":"mutable","name":"_poolId","nameLocation":"10306:7:111","nodeType":"VariableDeclaration","scope":72972,"src":"10298:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72877,"name":"uint256","nodeType":"ElementaryTypeName","src":"10298:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72880,"mutability":"mutable","name":"_data","nameLocation":"10328:5:111","nodeType":"VariableDeclaration","scope":72972,"src":"10315:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":72879,"name":"bytes","nodeType":"ElementaryTypeName","src":"10315:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10297:37:111"},"returnParameters":{"id":72884,"nodeType":"ParameterList","parameters":[],"src":"10361:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72976,"nodeType":"FunctionDefinition","src":"11273:83:111","nodes":[],"body":{"id":72975,"nodeType":"Block","src":"11301:55:111","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72973,"nodeType":"ParameterList","parameters":[],"src":"11281:2:111"},"returnParameters":{"id":72974,"nodeType":"ParameterList","parameters":[],"src":"11301:0:111"},"scope":75969,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72980,"nodeType":"FunctionDefinition","src":"11362:135:111","nodes":[],"body":{"id":72979,"nodeType":"Block","src":"11389:108:111","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72977,"nodeType":"ParameterList","parameters":[],"src":"11369:2:111"},"returnParameters":{"id":72978,"nodeType":"ParameterList","parameters":[],"src":"11389:0:111"},"scope":75969,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":73001,"nodeType":"FunctionDefinition","src":"11503:202:111","nodes":[],"body":{"id":73000,"nodeType":"Block","src":"11594:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":72998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":72993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72988,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72982,"src":"11611:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":72990,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"11631:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}],"id":72989,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11626:4:111","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11626:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72441","typeString":"type(contract IPointStrategy)"}},"id":72992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11647:11:111","memberName":"interfaceId","nodeType":"MemberAccess","src":"11626:32:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11611:47:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":72996,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72982,"src":"11686:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72994,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11662:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75969_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11668:17:111","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57805,"src":"11662:23:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":72997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11662:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11611:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72987,"id":72999,"nodeType":"Return","src":"11604:94:111"}]},"baseFunctions":[57805],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11512:17:111","overrides":{"id":72984,"nodeType":"OverrideSpecifier","overrides":[],"src":"11570:8:111"},"parameters":{"id":72983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72982,"mutability":"mutable","name":"interfaceId","nameLocation":"11537:11:111","nodeType":"VariableDeclaration","scope":73001,"src":"11530:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":72981,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11530:6:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11529:20:111"},"returnParameters":{"id":72987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72986,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73001,"src":"11588:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72985,"name":"bool","nodeType":"ElementaryTypeName","src":"11588:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11587:6:111"},"scope":75969,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73042,"nodeType":"FunctionDefinition","src":"11876:377:111","nodes":[],"body":{"id":73041,"nodeType":"Block","src":"11935:318:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73006,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73003,"src":"11949:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11968:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11960:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73007,"name":"address","nodeType":"ElementaryTypeName","src":"11960:7:111","typeDescriptions":{}}},"id":73010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11960:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11949:21:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73016,"nodeType":"IfStatement","src":"11945:77:111","trueBody":{"id":73015,"nodeType":"Block","src":"11972:50:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73012,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72575,"src":"11993:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11993:18:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73014,"nodeType":"RevertStatement","src":"11986:25:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73019,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12043:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":73018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12035:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73017,"name":"address","nodeType":"ElementaryTypeName","src":"12035:7:111","typeDescriptions":{}}},"id":73020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12035:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12073:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12065:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73021,"name":"address","nodeType":"ElementaryTypeName","src":"12065:7:111","typeDescriptions":{}}},"id":73024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12065:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12035:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73030,"nodeType":"IfStatement","src":"12031:100:111","trueBody":{"id":73029,"nodeType":"Block","src":"12077:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73026,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"12098:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12098:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73028,"nodeType":"RevertStatement","src":"12091:29:111"}]}},{"condition":{"id":73035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12144:36:111","subExpression":{"arguments":[{"id":73033,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73003,"src":"12172:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73031,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12145:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12163:8:111","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":78384,"src":"12145:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":73034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12145:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73040,"nodeType":"IfStatement","src":"12140:93:111","trueBody":{"id":73039,"nodeType":"Block","src":"12182:51:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73036,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72577,"src":"12203:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12203:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73038,"nodeType":"RevertStatement","src":"12196:26:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"11885:19:111","parameters":{"id":73004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73003,"mutability":"mutable","name":"_sender","nameLocation":"11913:7:111","nodeType":"VariableDeclaration","scope":73042,"src":"11905:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73002,"name":"address","nodeType":"ElementaryTypeName","src":"11905:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11904:17:111"},"returnParameters":{"id":73005,"nodeType":"ParameterList","parameters":[],"src":"11935:0:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":73058,"nodeType":"FunctionDefinition","src":"12259:162:111","nodes":[],"body":{"id":73057,"nodeType":"Block","src":"12305:116:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73045,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12319:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12323:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12319:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":73049,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12341:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":73048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12333:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73047,"name":"address","nodeType":"ElementaryTypeName","src":"12333:7:111","typeDescriptions":{}}},"id":73050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12333:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12319:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73056,"nodeType":"IfStatement","src":"12315:100:111","trueBody":{"id":73055,"nodeType":"Block","src":"12361:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73052,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72635,"src":"12382:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12382:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73054,"nodeType":"RevertStatement","src":"12375:29:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12268:21:111","parameters":{"id":73043,"nodeType":"ParameterList","parameters":[],"src":"12289:2:111"},"returnParameters":{"id":73044,"nodeType":"ParameterList","parameters":[],"src":"12305:0:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":73074,"nodeType":"FunctionDefinition","src":"12427:133:111","nodes":[],"body":{"id":73073,"nodeType":"Block","src":"12487:73:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73063,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73060,"src":"12501:8:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12521:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12513:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73064,"name":"address","nodeType":"ElementaryTypeName","src":"12513:7:111","typeDescriptions":{}}},"id":73067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12513:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12501:22:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73072,"nodeType":"IfStatement","src":"12497:56:111","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73069,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"12532:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12532:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73071,"nodeType":"RevertStatement","src":"12525:28:111"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12436:18:111","parameters":{"id":73061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73060,"mutability":"mutable","name":"_address","nameLocation":"12463:8:111","nodeType":"VariableDeclaration","scope":73074,"src":"12455:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73059,"name":"address","nodeType":"ElementaryTypeName","src":"12455:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12454:18:111"},"returnParameters":{"id":73062,"nodeType":"ParameterList","parameters":[],"src":"12487:0:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73092,"nodeType":"FunctionDefinition","src":"12566:166:111","nodes":[],"body":{"id":73091,"nodeType":"Block","src":"12607:125:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73077,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12621:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12625:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12621:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73081,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12643:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12661:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77107,"src":"12643:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79792_$","typeString":"function () view external returns (contract ISafe)"}},"id":73083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12643:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":73080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12635:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73079,"name":"address","nodeType":"ElementaryTypeName","src":"12635:7:111","typeDescriptions":{}}},"id":73084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12635:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12621:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73090,"nodeType":"IfStatement","src":"12617:109:111","trueBody":{"id":73089,"nodeType":"Block","src":"12677:49:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73086,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72645,"src":"12698:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12698:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73088,"nodeType":"RevertStatement","src":"12691:24:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12575:15:111","parameters":{"id":73075,"nodeType":"ParameterList","parameters":[],"src":"12590:2:111"},"returnParameters":{"id":73076,"nodeType":"ParameterList","parameters":[],"src":"12607:0:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73122,"nodeType":"FunctionDefinition","src":"12738:230:111","nodes":[],"body":{"id":73121,"nodeType":"Block","src":"12809:159:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73101,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"12831:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}],"id":73100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12823:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73099,"name":"address","nodeType":"ElementaryTypeName","src":"12823:7:111","typeDescriptions":{}}},"id":73102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12823:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12855:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12847:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73103,"name":"address","nodeType":"ElementaryTypeName","src":"12847:7:111","typeDescriptions":{}}},"id":73106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12847:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12823:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73111,"nodeType":"IfStatement","src":"12819:76:111","trueBody":{"id":73110,"nodeType":"Block","src":"12859:36:111","statements":[{"expression":{"hexValue":"74727565","id":73108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12880:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":73098,"id":73109,"nodeType":"Return","src":"12873:11:111"}]}},{"expression":{"arguments":[{"id":73114,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73094,"src":"12940:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73117,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12955:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12947:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73115,"name":"address","nodeType":"ElementaryTypeName","src":"12947:7:111","typeDescriptions":{}}},"id":73118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12947:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73112,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"12911:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"id":73113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12923:16:111","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76287,"src":"12911:28:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12911:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73098,"id":73120,"nodeType":"Return","src":"12904:57:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12747:17:111","parameters":{"id":73095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73094,"mutability":"mutable","name":"_user","nameLocation":"12773:5:111","nodeType":"VariableDeclaration","scope":73122,"src":"12765:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73093,"name":"address","nodeType":"ElementaryTypeName","src":"12765:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12764:15:111"},"returnParameters":{"id":73098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73122,"src":"12803:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73096,"name":"bool","nodeType":"ElementaryTypeName","src":"12803:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12802:6:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73360,"nodeType":"FunctionDefinition","src":"13294:2658:111","nodes":[],"body":{"id":73359,"nodeType":"Block","src":"13395:2557:111","nodes":[],"statements":[{"condition":{"id":73135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13409:27:111","subExpression":{"arguments":[{"id":73133,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73126,"src":"13428:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73132,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"13410:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13410:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73140,"nodeType":"IfStatement","src":"13405:90:111","trueBody":{"id":73139,"nodeType":"Block","src":"13438:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73136,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"13459:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13459:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73138,"nodeType":"RevertStatement","src":"13452:32:111"}]}},{"expression":{"id":73141,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73124,"src":"13549:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73142,"nodeType":"ExpressionStatement","src":"13549:5:111"},{"assignments":[73147],"declarations":[{"constant":false,"id":73147,"mutability":"mutable","name":"proposal","nameLocation":"13601:8:111","nodeType":"VariableDeclaration","scope":73359,"src":"13564:45:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":73146,"nodeType":"UserDefinedTypeName","pathNode":{"id":73145,"name":"StrategyStruct.CreateProposal","nameLocations":["13564:14:111","13579:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72462,"src":"13564:29:111"},"referencedDeclaration":72462,"src":"13564:29:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":73155,"initialValue":{"arguments":[{"id":73150,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73124,"src":"13623:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":73151,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"13631:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13646:14:111","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"13631:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72462_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":73153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13630:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72462_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72462_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":73148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13612:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13616:6:111","memberName":"decode","nodeType":"MemberAccess","src":"13612:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13612:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13564:98:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73156,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"13777:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13786:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72452,"src":"13777:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13796:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13777:20:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73164,"nodeType":"IfStatement","src":"13773:78:111","trueBody":{"id":73163,"nodeType":"Block","src":"13799:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73160,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72591,"src":"13820:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13820:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73162,"nodeType":"RevertStatement","src":"13813:27:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"id":73169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73165,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72816,"src":"13927:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73166,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"13943:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13958:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"13943:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72445_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13971:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72443,"src":"13943:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"13927:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73225,"nodeType":"IfStatement","src":"13923:764:111","trueBody":{"id":73224,"nodeType":"Block","src":"13980:707:111","statements":[{"expression":{"arguments":[{"expression":{"id":73171,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14013:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14022:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72454,"src":"14013:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73170,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"13994:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13994:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73174,"nodeType":"ExpressionStatement","src":"13994:40:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73175,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14100:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14109:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"14100:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14135:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14127:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73177,"name":"address","nodeType":"ElementaryTypeName","src":"14127:7:111","typeDescriptions":{}}},"id":73180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14127:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14100:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73186,"nodeType":"IfStatement","src":"14096:102:111","trueBody":{"id":73185,"nodeType":"Block","src":"14139:59:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73182,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72585,"src":"14164:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14164:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73184,"nodeType":"RevertStatement","src":"14157:26:111"}]}},{"assignments":[73189],"declarations":[{"constant":false,"id":73189,"mutability":"mutable","name":"_allo","nameLocation":"14217:5:111","nodeType":"VariableDeclaration","scope":73224,"src":"14211:11:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":73188,"nodeType":"UserDefinedTypeName","pathNode":{"id":73187,"name":"IAllo","nameLocations":["14211:5:111"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14211:5:111"},"referencedDeclaration":2610,"src":"14211:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":73193,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73190,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14225:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}},"id":73191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14230:7:111","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":71872,"src":"14225:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":73192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14225:14:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14211:28:111"},{"assignments":[73198],"declarations":[{"constant":false,"id":73198,"mutability":"mutable","name":"pool","nameLocation":"14271:4:111","nodeType":"VariableDeclaration","scope":73224,"src":"14253:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73197,"nodeType":"UserDefinedTypeName","pathNode":{"id":73196,"name":"IAllo.Pool","nameLocations":["14253:5:111","14259:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14253:10:111"},"referencedDeclaration":2319,"src":"14253:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":73204,"initialValue":{"arguments":[{"expression":{"id":73201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14292:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14301:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72452,"src":"14292:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73199,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73189,"src":"14278:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":73200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14284:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14278:13:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":73203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14278:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14253:55:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73205,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14326:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14335:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"14326:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":73207,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73198,"src":"14353:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":73208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14358:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14353:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14326:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73214,"nodeType":"IfStatement","src":"14322:235:111","trueBody":{"id":73213,"nodeType":"Block","src":"14365:192:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73210,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"14525:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14525:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73212,"nodeType":"RevertStatement","src":"14518:24:111"}]}},{"condition":{"arguments":[{"expression":{"id":73216,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14590:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14599:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"14590:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73215,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"14574:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":73218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14574:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73223,"nodeType":"IfStatement","src":"14570:107:111","trueBody":{"id":73222,"nodeType":"Block","src":"14617:60:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73219,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72589,"src":"14642:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14642:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73221,"nodeType":"RevertStatement","src":"14635:27:111"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":73228,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"14722:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14739:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"14722:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":73227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14714:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73226,"name":"address","nodeType":"ElementaryTypeName","src":"14714:7:111","typeDescriptions":{}}},"id":73230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14714:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":73233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14762:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14754:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73231,"name":"address","nodeType":"ElementaryTypeName","src":"14754:7:111","typeDescriptions":{}}},"id":73234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14754:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14714:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73236,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14768:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14772:5:111","memberName":"value","nodeType":"MemberAccess","src":"14768:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":73238,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"14780:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14797:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"14780:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14768:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14714:108:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73250,"nodeType":"IfStatement","src":"14697:245:111","trueBody":{"id":73249,"nodeType":"Block","src":"14833:109:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":73243,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14877:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14881:5:111","memberName":"value","nodeType":"MemberAccess","src":"14877:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73245,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"14888:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14905:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"14888:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73242,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72653,"src":"14854:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":73247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14854:77:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73248,"nodeType":"RevertStatement","src":"14847:84:111"}]}},{"assignments":[73252],"declarations":[{"constant":false,"id":73252,"mutability":"mutable","name":"proposalId","nameLocation":"14960:10:111","nodeType":"VariableDeclaration","scope":73359,"src":"14952:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73251,"name":"uint256","nodeType":"ElementaryTypeName","src":"14952:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73255,"initialValue":{"id":73254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"14973:17:111","subExpression":{"id":73253,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72806,"src":"14975:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14952:38:111"},{"assignments":[73260],"declarations":[{"constant":false,"id":73260,"mutability":"mutable","name":"p","nameLocation":"15032:1:111","nodeType":"VariableDeclaration","scope":73359,"src":"15000:33:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73259,"nodeType":"UserDefinedTypeName","pathNode":{"id":73258,"name":"StrategyStruct.Proposal","nameLocations":["15000:14:111","15015:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"15000:23:111"},"referencedDeclaration":72511,"src":"15000:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73264,"initialValue":{"baseExpression":{"id":73261,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"15036:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73263,"indexExpression":{"id":73262,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15046:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15036:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15000:57:111"},{"expression":{"id":73269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73265,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15068:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73267,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15070:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"15068:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73268,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15083:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15068:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73270,"nodeType":"ExpressionStatement","src":"15068:25:111"},{"expression":{"id":73275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73271,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15103:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15105:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"15103:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73274,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73126,"src":"15117:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15103:21:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73276,"nodeType":"ExpressionStatement","src":"15103:21:111"},{"expression":{"id":73282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73277,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15134:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15136:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"15134:13:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73280,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15150:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15159:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72454,"src":"15150:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15134:36:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73283,"nodeType":"ExpressionStatement","src":"15134:36:111"},{"expression":{"id":73289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73284,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15180:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15182:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72493,"src":"15180:16:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73287,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15199:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15208:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"15199:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15180:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73290,"nodeType":"ExpressionStatement","src":"15180:42:111"},{"expression":{"id":73296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73291,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15232:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15234:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"15232:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73294,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15252:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15261:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"15252:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15232:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73297,"nodeType":"ExpressionStatement","src":"15232:44:111"},{"expression":{"id":73304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73298,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15337:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15339:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"15337:16:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":73301,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"15356:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15371:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"15356:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":73303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15386:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"15356:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15337:55:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":73305,"nodeType":"ExpressionStatement","src":"15337:55:111"},{"expression":{"id":73311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73306,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15402:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15404:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"15402:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73309,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15416:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":73310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15422:6:111","memberName":"number","nodeType":"MemberAccess","src":"15416:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15402:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73312,"nodeType":"ExpressionStatement","src":"15402:26:111"},{"expression":{"id":73317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73313,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15438:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15440:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"15438:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":73316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15457:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15438:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73318,"nodeType":"ExpressionStatement","src":"15438:20:111"},{"expression":{"id":73324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73319,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15504:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15506:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72505,"src":"15504:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73322,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15517:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15526:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72461,"src":"15517:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"15504:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":73325,"nodeType":"ExpressionStatement","src":"15504:30:111"},{"expression":{"id":73333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73326,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15631:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15633:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"15631:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":73330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15645:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"15631:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73331,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"15672:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15689:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"15672:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15631:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73334,"nodeType":"ExpressionStatement","src":"15631:83:111"},{"expression":{"arguments":[{"id":73341,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15776:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73342,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15788:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73343,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15790:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"15788:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73335,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"15724:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":73337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15740:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79678,"src":"15724:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":73340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":73338,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15765:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15769:5:111","memberName":"value","nodeType":"MemberAccess","src":"15765:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15724:51:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":73344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15724:76:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73345,"nodeType":"ExpressionStatement","src":"15724:76:111"},{"eventCall":{"arguments":[{"id":73347,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71792,"src":"15832:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73348,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15840:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73346,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72692,"src":"15816:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":73349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15816:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73350,"nodeType":"EmitStatement","src":"15811:40:111"},{"expression":{"arguments":[{"arguments":[{"id":73355,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15933:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15925:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":73353,"name":"uint160","nodeType":"ElementaryTypeName","src":"15925:7:111","typeDescriptions":{}}},"id":73356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15925:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":73352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15917:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73351,"name":"address","nodeType":"ElementaryTypeName","src":"15917:7:111","typeDescriptions":{}}},"id":73357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15917:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73131,"id":73358,"nodeType":"Return","src":"15910:35:111"}]},"baseFunctions":[72260],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13303:18:111","overrides":{"id":73128,"nodeType":"OverrideSpecifier","overrides":[],"src":"13368:8:111"},"parameters":{"id":73127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73124,"mutability":"mutable","name":"_data","nameLocation":"13335:5:111","nodeType":"VariableDeclaration","scope":73360,"src":"13322:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73123,"name":"bytes","nodeType":"ElementaryTypeName","src":"13322:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73126,"mutability":"mutable","name":"_sender","nameLocation":"13350:7:111","nodeType":"VariableDeclaration","scope":73360,"src":"13342:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73125,"name":"address","nodeType":"ElementaryTypeName","src":"13342:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13321:37:111"},"returnParameters":{"id":73131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73130,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73360,"src":"13386:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73129,"name":"address","nodeType":"ElementaryTypeName","src":"13386:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13385:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73369,"nodeType":"FunctionDefinition","src":"15958:90:111","nodes":[],"body":{"id":73368,"nodeType":"Block","src":"16010:38:111","nodes":[],"statements":[{"expression":{"expression":{"id":73365,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"16027:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":73366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16036:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"16027:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73364,"id":73367,"nodeType":"Return","src":"16020:21:111"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"15967:8:111","parameters":{"id":73361,"nodeType":"ParameterList","parameters":[],"src":"15975:2:111"},"returnParameters":{"id":73364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73369,"src":"16001:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73362,"name":"uint256","nodeType":"ElementaryTypeName","src":"16001:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16000:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73408,"nodeType":"FunctionDefinition","src":"16054:351:111","nodes":[],"body":{"id":73407,"nodeType":"Block","src":"16089:316:111","nodes":[],"statements":[{"assignments":[73373],"declarations":[{"constant":false,"id":73373,"mutability":"mutable","name":"member","nameLocation":"16107:6:111","nodeType":"VariableDeclaration","scope":73407,"src":"16099:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73372,"name":"address","nodeType":"ElementaryTypeName","src":"16099:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":73376,"initialValue":{"expression":{"id":73374,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16116:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16120:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16116:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16099:27:111"},{"condition":{"id":73380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16140:26:111","subExpression":{"arguments":[{"id":73378,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73373,"src":"16159:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73377,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"16141:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16141:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73385,"nodeType":"IfStatement","src":"16136:89:111","trueBody":{"id":73384,"nodeType":"Block","src":"16168:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73381,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"16189:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16189:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73383,"nodeType":"RevertStatement","src":"16182:32:111"}]}},{"expression":{"arguments":[{"id":73389,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73373,"src":"16277:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73392,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16293:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16285:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73390,"name":"address","nodeType":"ElementaryTypeName","src":"16285:7:111","typeDescriptions":{}}},"id":73393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16285:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73386,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16234:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16252:24:111","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77791,"src":"16234:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16234:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73395,"nodeType":"ExpressionStatement","src":"16234:65:111"},{"expression":{"id":73405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73396,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"16309:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":73399,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73373,"src":"16376:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73402,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16392:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16384:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73400,"name":"address","nodeType":"ElementaryTypeName","src":"16384:7:111","typeDescriptions":{}}},"id":73403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16384:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73397,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16333:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16351:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"16333:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16333:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16309:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73406,"nodeType":"ExpressionStatement","src":"16309:89:111"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16063:14:111","parameters":{"id":73370,"nodeType":"ParameterList","parameters":[],"src":"16077:2:111"},"returnParameters":{"id":73371,"nodeType":"ParameterList","parameters":[],"src":"16089:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73417,"nodeType":"FunctionDefinition","src":"16411:81:111","nodes":[],"body":{"id":73416,"nodeType":"Block","src":"16446:46:111","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":73412,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16474:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16478:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16474:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73411,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"16456:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16456:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73415,"nodeType":"ExpressionStatement","src":"16456:29:111"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16420:16:111","parameters":{"id":73409,"nodeType":"ParameterList","parameters":[],"src":"16436:2:111"},"returnParameters":{"id":73410,"nodeType":"ParameterList","parameters":[],"src":"16446:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73430,"nodeType":"FunctionDefinition","src":"16498:128:111","nodes":[],"body":{"id":73429,"nodeType":"Block","src":"16550:76:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73422,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"16560:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16560:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73424,"nodeType":"ExpressionStatement","src":"16560:23:111"},{"expression":{"arguments":[{"id":73426,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73419,"src":"16611:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73425,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"16593:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16593:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73428,"nodeType":"ExpressionStatement","src":"16593:26:111"}]},"baseFunctions":[72416],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16507:16:111","parameters":{"id":73420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73419,"mutability":"mutable","name":"_member","nameLocation":"16532:7:111","nodeType":"VariableDeclaration","scope":73430,"src":"16524:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73418,"name":"address","nodeType":"ElementaryTypeName","src":"16524:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16523:17:111"},"returnParameters":{"id":73421,"nodeType":"ParameterList","parameters":[],"src":"16550:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73465,"nodeType":"FunctionDefinition","src":"16632:351:111","nodes":[],"body":{"id":73464,"nodeType":"Block","src":"16685:298:111","nodes":[],"statements":[{"expression":{"id":73444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73435,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"16695:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":73438,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16762:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73441,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16779:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16771:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73439,"name":"address","nodeType":"ElementaryTypeName","src":"16771:7:111","typeDescriptions":{}}},"id":73442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16771:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73436,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16719:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16737:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"16719:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16719:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16695:90:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73445,"nodeType":"ExpressionStatement","src":"16695:90:111"},{"expression":{"arguments":[{"id":73449,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16840:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73452,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16857:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16849:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73450,"name":"address","nodeType":"ElementaryTypeName","src":"16849:7:111","typeDescriptions":{}}},"id":73453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16849:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73446,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16795:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16813:26:111","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77850,"src":"16795:44:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16795:68:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73455,"nodeType":"ExpressionStatement","src":"16795:68:111"},{"expression":{"arguments":[{"id":73457,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16927:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73456,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74331,"src":"16918:8:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16918:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73459,"nodeType":"ExpressionStatement","src":"16918:17:111"},{"eventCall":{"arguments":[{"id":73461,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16968:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73460,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"16950:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16950:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73463,"nodeType":"EmitStatement","src":"16945:31:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"16641:17:111","parameters":{"id":73433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73432,"mutability":"mutable","name":"_member","nameLocation":"16667:7:111","nodeType":"VariableDeclaration","scope":73465,"src":"16659:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73431,"name":"address","nodeType":"ElementaryTypeName","src":"16659:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16658:17:111"},"returnParameters":{"id":73434,"nodeType":"ParameterList","parameters":[],"src":"16685:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73558,"nodeType":"FunctionDefinition","src":"16989:1057:111","nodes":[],"body":{"id":73557,"nodeType":"Block","src":"17080:966:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73474,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"17135:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17135:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73476,"nodeType":"ExpressionStatement","src":"17135:23:111"},{"condition":{"id":73480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17172:27:111","subExpression":{"arguments":[{"id":73478,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17191:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73477,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"17173:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17173:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73485,"nodeType":"IfStatement","src":"17168:90:111","trueBody":{"id":73484,"nodeType":"Block","src":"17201:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73481,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"17222:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17222:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73483,"nodeType":"RevertStatement","src":"17215:32:111"}]}},{"assignments":[73487],"declarations":[{"constant":false,"id":73487,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17275:16:111","nodeType":"VariableDeclaration","scope":73557,"src":"17267:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73486,"name":"uint256","nodeType":"ElementaryTypeName","src":"17267:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73489,"initialValue":{"hexValue":"30","id":73488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17294:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17267:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73490,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"17309:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73491,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"17324:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17339:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"17324:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17351:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"17324:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"17309:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73502,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"17454:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73503,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"17469:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17484:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"17469:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17496:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72447,"src":"17469:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"17454:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73515,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"17602:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73516,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"17617:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17632:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"17617:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17644:9:111","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":72449,"src":"17617:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"17602:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73528,"nodeType":"IfStatement","src":"17598:148:111","trueBody":{"id":73527,"nodeType":"Block","src":"17655:91:111","statements":[{"expression":{"id":73525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73520,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17669:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73522,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17711:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73523,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17720:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73521,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73744,"src":"17688:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17688:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17669:66:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73526,"nodeType":"ExpressionStatement","src":"17669:66:111"}]}},"id":73529,"nodeType":"IfStatement","src":"17450:296:111","trueBody":{"id":73514,"nodeType":"Block","src":"17504:88:111","statements":[{"expression":{"id":73512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73507,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17518:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73509,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17557:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73510,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17566:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73508,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73666,"src":"17537:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17537:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17518:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73513,"nodeType":"ExpressionStatement","src":"17518:63:111"}]}},"id":73530,"nodeType":"IfStatement","src":"17305:441:111","trueBody":{"id":73501,"nodeType":"Block","src":"17362:82:111","statements":[{"expression":{"id":73499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73495,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17376:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73497,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17418:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73496,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73624,"src":"17395:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17395:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17376:57:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73500,"nodeType":"ExpressionStatement","src":"17376:57:111"}]}},{"assignments":[73532],"declarations":[{"constant":false,"id":73532,"mutability":"mutable","name":"isActivated","nameLocation":"17760:11:111","nodeType":"VariableDeclaration","scope":73557,"src":"17755:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73531,"name":"bool","nodeType":"ElementaryTypeName","src":"17755:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73541,"initialValue":{"arguments":[{"id":73535,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17820:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73538,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17837:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17829:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73536,"name":"address","nodeType":"ElementaryTypeName","src":"17829:7:111","typeDescriptions":{}}},"id":73539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17829:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73533,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"17774:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17792:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77148,"src":"17774:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17774:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"17755:88:111"},{"condition":{"id":73542,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73532,"src":"17857:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73548,"nodeType":"IfStatement","src":"17853:82:111","trueBody":{"id":73547,"nodeType":"Block","src":"17870:65:111","statements":[{"expression":{"id":73545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73543,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"17884:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":73544,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17908:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17884:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73546,"nodeType":"ExpressionStatement","src":"17884:40:111"}]}},{"eventCall":{"arguments":[{"id":73550,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17964:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73551,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17973:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73552,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17989:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73549,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72708,"src":"17949:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17949:57:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73554,"nodeType":"EmitStatement","src":"17944:62:111"},{"expression":{"id":73555,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"18023:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73473,"id":73556,"nodeType":"Return","src":"18016:23:111"}]},"baseFunctions":[72425],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"16998:13:111","parameters":{"id":73470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73467,"mutability":"mutable","name":"_member","nameLocation":"17020:7:111","nodeType":"VariableDeclaration","scope":73558,"src":"17012:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73466,"name":"address","nodeType":"ElementaryTypeName","src":"17012:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73469,"mutability":"mutable","name":"_amountToStake","nameLocation":"17037:14:111","nodeType":"VariableDeclaration","scope":73558,"src":"17029:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73468,"name":"uint256","nodeType":"ElementaryTypeName","src":"17029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17011:41:111"},"returnParameters":{"id":73473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73558,"src":"17071:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73471,"name":"uint256","nodeType":"ElementaryTypeName","src":"17071:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17070:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73614,"nodeType":"FunctionDefinition","src":"18052:681:111","nodes":[],"body":{"id":73613,"nodeType":"Block","src":"18145:588:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73567,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"18155:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18155:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73569,"nodeType":"ExpressionStatement","src":"18155:23:111"},{"assignments":[73571],"declarations":[{"constant":false,"id":73571,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18242:16:111","nodeType":"VariableDeclaration","scope":73613,"src":"18234:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73570,"name":"uint256","nodeType":"ElementaryTypeName","src":"18234:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73573,"initialValue":{"hexValue":"30","id":73572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18261:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18234:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73574,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"18276:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73575,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"18291:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18306:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"18291:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18318:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"18291:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"18276:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73579,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"18331:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73580,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"18346:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18361:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"18346:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18373:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72447,"src":"18346:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"18331:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18276:103:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":73599,"nodeType":"Block","src":"18477:93:111","statements":[{"expression":{"id":73597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73592,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18491:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73594,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73560,"src":"18533:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73595,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"18542:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73593,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73828,"src":"18510:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18510:49:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18491:68:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73598,"nodeType":"ExpressionStatement","src":"18491:68:111"}]},"id":73600,"nodeType":"IfStatement","src":"18272:298:111","trueBody":{"id":73591,"nodeType":"Block","src":"18381:90:111","statements":[{"expression":{"id":73589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73585,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18395:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73587,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"18443:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73586,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73754,"src":"18414:28:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18414:46:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18395:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73590,"nodeType":"ExpressionStatement","src":"18395:65:111"}]}},{"expression":{"id":73603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73601,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"18579:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":73602,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18603:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18579:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73604,"nodeType":"ExpressionStatement","src":"18579:40:111"},{"eventCall":{"arguments":[{"id":73606,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73560,"src":"18649:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73607,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"18658:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73608,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18676:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73605,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72716,"src":"18634:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18634:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73610,"nodeType":"EmitStatement","src":"18629:64:111"},{"expression":{"id":73611,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18710:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73566,"id":73612,"nodeType":"Return","src":"18703:23:111"}]},"baseFunctions":[72434],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18061:13:111","parameters":{"id":73563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73560,"mutability":"mutable","name":"_member","nameLocation":"18083:7:111","nodeType":"VariableDeclaration","scope":73614,"src":"18075:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73559,"name":"address","nodeType":"ElementaryTypeName","src":"18075:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73562,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18100:16:111","nodeType":"VariableDeclaration","scope":73614,"src":"18092:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73561,"name":"uint256","nodeType":"ElementaryTypeName","src":"18092:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18074:43:111"},"returnParameters":{"id":73566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73614,"src":"18136:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73564,"name":"uint256","nodeType":"ElementaryTypeName","src":"18136:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18135:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73624,"nodeType":"FunctionDefinition","src":"18739:126:111","nodes":[],"body":{"id":73623,"nodeType":"Block","src":"18827:38:111","nodes":[],"statements":[{"expression":{"id":73621,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73616,"src":"18844:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73620,"id":73622,"nodeType":"Return","src":"18837:21:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"18748:22:111","parameters":{"id":73617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73616,"mutability":"mutable","name":"_amountToStake","nameLocation":"18779:14:111","nodeType":"VariableDeclaration","scope":73624,"src":"18771:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73615,"name":"uint256","nodeType":"ElementaryTypeName","src":"18771:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18770:24:111"},"returnParameters":{"id":73620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73624,"src":"18818:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73618,"name":"uint256","nodeType":"ElementaryTypeName","src":"18818:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18817:9:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73666,"nodeType":"FunctionDefinition","src":"18871:624:111","nodes":[],"body":{"id":73665,"nodeType":"Block","src":"18973:522:111","nodes":[],"statements":[{"assignments":[73634],"declarations":[{"constant":false,"id":73634,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"18991:16:111","nodeType":"VariableDeclaration","scope":73665,"src":"18983:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73633,"name":"uint256","nodeType":"ElementaryTypeName","src":"18983:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73636,"initialValue":{"id":73635,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73628,"src":"19010:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18983:41:111"},{"assignments":[73638],"declarations":[{"constant":false,"id":73638,"mutability":"mutable","name":"memberPower","nameLocation":"19106:11:111","nodeType":"VariableDeclaration","scope":73665,"src":"19098:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73637,"name":"uint256","nodeType":"ElementaryTypeName","src":"19098:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73647,"initialValue":{"arguments":[{"id":73641,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73626,"src":"19163:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73644,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19180:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19172:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73642,"name":"address","nodeType":"ElementaryTypeName","src":"19172:7:111","typeDescriptions":{}}},"id":73645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19172:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73639,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"19120:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19138:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"19120:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19120:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19098:88:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73648,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73638,"src":"19252:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73649,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73634,"src":"19266:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19252:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":73651,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"19285:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19297:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"19285:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19252:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73662,"nodeType":"IfStatement","src":"19248:139:111","trueBody":{"id":73661,"nodeType":"Block","src":"19308:79:111","statements":[{"expression":{"id":73659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73654,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73634,"src":"19322:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73655,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"19341:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19353:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"19341:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73657,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73638,"src":"19365:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19341:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19322:54:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73660,"nodeType":"ExpressionStatement","src":"19322:54:111"}]}},{"expression":{"id":73663,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73634,"src":"19472:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73632,"id":73664,"nodeType":"Return","src":"19465:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"18880:19:111","parameters":{"id":73629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73626,"mutability":"mutable","name":"_member","nameLocation":"18908:7:111","nodeType":"VariableDeclaration","scope":73666,"src":"18900:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73625,"name":"address","nodeType":"ElementaryTypeName","src":"18900:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73628,"mutability":"mutable","name":"_amountToStake","nameLocation":"18925:14:111","nodeType":"VariableDeclaration","scope":73666,"src":"18917:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73627,"name":"uint256","nodeType":"ElementaryTypeName","src":"18917:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18899:41:111"},"returnParameters":{"id":73632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73666,"src":"18964:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73630,"name":"uint256","nodeType":"ElementaryTypeName","src":"18964:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18963:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73744,"nodeType":"FunctionDefinition","src":"19501:733:111","nodes":[],"body":{"id":73743,"nodeType":"Block","src":"19606:628:111","nodes":[],"statements":[{"assignments":[73676],"declarations":[{"constant":false,"id":73676,"mutability":"mutable","name":"totalStake","nameLocation":"19624:10:111","nodeType":"VariableDeclaration","scope":73743,"src":"19616:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73675,"name":"uint256","nodeType":"ElementaryTypeName","src":"19616:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73683,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73679,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73668,"src":"19677:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73677,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"19637:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19655:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78173,"src":"19637:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19637:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73681,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73670,"src":"19688:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19637:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19616:86:111"},{"assignments":[73685],"declarations":[{"constant":false,"id":73685,"mutability":"mutable","name":"decimal","nameLocation":"19721:7:111","nodeType":"VariableDeclaration","scope":73743,"src":"19713:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73684,"name":"uint256","nodeType":"ElementaryTypeName","src":"19713:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73687,"initialValue":{"hexValue":"3138","id":73686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19731:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"19713:20:111"},{"clauses":[{"block":{"id":73708,"nodeType":"Block","src":"19831:52:111","statements":[{"expression":{"id":73706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73701,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73685,"src":"19845:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73704,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73699,"src":"19863:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19855:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73702,"name":"uint256","nodeType":"ElementaryTypeName","src":"19855:7:111","typeDescriptions":{}}},"id":73705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19855:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19845:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73707,"nodeType":"ExpressionStatement","src":"19845:27:111"}]},"errorName":"","id":73709,"nodeType":"TryCatchClause","parameters":{"id":73700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73699,"mutability":"mutable","name":"_decimal","nameLocation":"19821:8:111","nodeType":"VariableDeclaration","scope":73709,"src":"19815:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73698,"name":"uint8","nodeType":"ElementaryTypeName","src":"19815:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"19814:16:111"},"src":"19806:77:111"},{"block":{"id":73710,"nodeType":"Block","src":"19890:64:111","statements":[]},"errorName":"","id":73711,"nodeType":"TryCatchClause","src":"19884:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73691,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"19761:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19779:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77103,"src":"19761:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19761:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19753:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73689,"name":"address","nodeType":"ElementaryTypeName","src":"19753:7:111","typeDescriptions":{}}},"id":73694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19753:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73688,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"19747:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19747:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19795:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"19747:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19747:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73712,"nodeType":"TryStatement","src":"19743:211:111"},{"assignments":[73714],"declarations":[{"constant":false,"id":73714,"mutability":"mutable","name":"newTotalPoints","nameLocation":"19971:14:111","nodeType":"VariableDeclaration","scope":73743,"src":"19963:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73713,"name":"uint256","nodeType":"ElementaryTypeName","src":"19963:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73723,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73717,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73676,"src":"19998:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20011:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73719,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73685,"src":"20017:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20011:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19998:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73715,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"19988:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19993:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"19988:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19988:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19963:62:111"},{"assignments":[73725],"declarations":[{"constant":false,"id":73725,"mutability":"mutable","name":"currentPoints","nameLocation":"20043:13:111","nodeType":"VariableDeclaration","scope":73743,"src":"20035:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73724,"name":"uint256","nodeType":"ElementaryTypeName","src":"20035:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73734,"initialValue":{"arguments":[{"id":73728,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73668,"src":"20102:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73731,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20119:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20111:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73729,"name":"address","nodeType":"ElementaryTypeName","src":"20111:7:111","typeDescriptions":{}}},"id":73732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20111:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73726,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"20059:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20077:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"20059:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20059:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20035:90:111"},{"assignments":[73736],"declarations":[{"constant":false,"id":73736,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20144:16:111","nodeType":"VariableDeclaration","scope":73743,"src":"20136:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73735,"name":"uint256","nodeType":"ElementaryTypeName","src":"20136:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73740,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73737,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73714,"src":"20163:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73738,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73725,"src":"20180:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20163:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20136:57:111"},{"expression":{"id":73741,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73736,"src":"20211:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73674,"id":73742,"nodeType":"Return","src":"20204:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19510:22:111","parameters":{"id":73671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73668,"mutability":"mutable","name":"_member","nameLocation":"19541:7:111","nodeType":"VariableDeclaration","scope":73744,"src":"19533:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73667,"name":"address","nodeType":"ElementaryTypeName","src":"19533:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73670,"mutability":"mutable","name":"_amountToStake","nameLocation":"19558:14:111","nodeType":"VariableDeclaration","scope":73744,"src":"19550:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73669,"name":"uint256","nodeType":"ElementaryTypeName","src":"19550:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19532:41:111"},"returnParameters":{"id":73674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73673,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73744,"src":"19597:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73672,"name":"uint256","nodeType":"ElementaryTypeName","src":"19597:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19596:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73754,"nodeType":"FunctionDefinition","src":"20240:136:111","nodes":[],"body":{"id":73753,"nodeType":"Block","src":"20336:40:111","nodes":[],"statements":[{"expression":{"id":73751,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73746,"src":"20353:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73750,"id":73752,"nodeType":"Return","src":"20346:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20249:28:111","parameters":{"id":73747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73746,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20286:16:111","nodeType":"VariableDeclaration","scope":73754,"src":"20278:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73745,"name":"uint256","nodeType":"ElementaryTypeName","src":"20278:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20277:26:111"},"returnParameters":{"id":73750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73754,"src":"20327:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73748,"name":"uint256","nodeType":"ElementaryTypeName","src":"20327:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20326:9:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73828,"nodeType":"FunctionDefinition","src":"20382:811:111","nodes":[],"body":{"id":73827,"nodeType":"Block","src":"20489:704:111","nodes":[],"statements":[{"assignments":[73764],"declarations":[{"constant":false,"id":73764,"mutability":"mutable","name":"decimal","nameLocation":"20507:7:111","nodeType":"VariableDeclaration","scope":73827,"src":"20499:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73763,"name":"uint256","nodeType":"ElementaryTypeName","src":"20499:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73766,"initialValue":{"hexValue":"3138","id":73765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20517:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20499:20:111"},{"clauses":[{"block":{"id":73787,"nodeType":"Block","src":"20617:52:111","statements":[{"expression":{"id":73785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73780,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73764,"src":"20631:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73783,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73778,"src":"20649:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20641:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73781,"name":"uint256","nodeType":"ElementaryTypeName","src":"20641:7:111","typeDescriptions":{}}},"id":73784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20641:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20631:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73786,"nodeType":"ExpressionStatement","src":"20631:27:111"}]},"errorName":"","id":73788,"nodeType":"TryCatchClause","parameters":{"id":73779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73778,"mutability":"mutable","name":"_decimal","nameLocation":"20607:8:111","nodeType":"VariableDeclaration","scope":73788,"src":"20601:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73777,"name":"uint8","nodeType":"ElementaryTypeName","src":"20601:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20600:16:111"},"src":"20592:77:111"},{"block":{"id":73789,"nodeType":"Block","src":"20676:64:111","statements":[]},"errorName":"","id":73790,"nodeType":"TryCatchClause","src":"20670:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73770,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"20547:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20565:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77103,"src":"20547:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20547:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20539:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73768,"name":"address","nodeType":"ElementaryTypeName","src":"20539:7:111","typeDescriptions":{}}},"id":73773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20539:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73767,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"20533:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20533:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20581:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"20533:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20533:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73791,"nodeType":"TryStatement","src":"20529:211:111"},{"assignments":[73793],"declarations":[{"constant":false,"id":73793,"mutability":"mutable","name":"newTotalStake","nameLocation":"20819:13:111","nodeType":"VariableDeclaration","scope":73827,"src":"20811:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73792,"name":"uint256","nodeType":"ElementaryTypeName","src":"20811:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73800,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73796,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73756,"src":"20875:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73794,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"20835:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20853:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78173,"src":"20835:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20835:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73798,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73758,"src":"20886:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20835:67:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20811:91:111"},{"assignments":[73802],"declarations":[{"constant":false,"id":73802,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20976:14:111","nodeType":"VariableDeclaration","scope":73827,"src":"20968:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73801,"name":"uint256","nodeType":"ElementaryTypeName","src":"20968:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73811,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73805,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73793,"src":"21003:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21019:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73807,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73764,"src":"21025:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21019:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21003:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73803,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"20993:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20998:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"20993:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20993:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20968:65:111"},{"assignments":[73813],"declarations":[{"constant":false,"id":73813,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21051:16:111","nodeType":"VariableDeclaration","scope":73827,"src":"21043:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73812,"name":"uint256","nodeType":"ElementaryTypeName","src":"21043:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73824,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73816,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73756,"src":"21113:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73819,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21130:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21122:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73817,"name":"address","nodeType":"ElementaryTypeName","src":"21122:7:111","typeDescriptions":{}}},"id":73820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21122:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73814,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"21070:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21088:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"21070:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73822,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73802,"src":"21139:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21070:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21043:110:111"},{"expression":{"id":73825,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73813,"src":"21170:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73762,"id":73826,"nodeType":"Return","src":"21163:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20391:22:111","parameters":{"id":73759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73756,"mutability":"mutable","name":"_member","nameLocation":"20422:7:111","nodeType":"VariableDeclaration","scope":73828,"src":"20414:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73755,"name":"address","nodeType":"ElementaryTypeName","src":"20414:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73758,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20439:16:111","nodeType":"VariableDeclaration","scope":73828,"src":"20431:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73757,"name":"uint256","nodeType":"ElementaryTypeName","src":"20431:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20413:43:111"},"returnParameters":{"id":73762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73828,"src":"20480:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73760,"name":"uint256","nodeType":"ElementaryTypeName","src":"20480:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20479:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73837,"nodeType":"FunctionDefinition","src":"21199:99:111","nodes":[],"body":{"id":73836,"nodeType":"Block","src":"21253:45:111","nodes":[],"statements":[{"expression":{"expression":{"id":73833,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"21270:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21282:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"21270:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73832,"id":73835,"nodeType":"Return","src":"21263:28:111"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21208:12:111","parameters":{"id":73829,"nodeType":"ParameterList","parameters":[],"src":"21220:2:111"},"returnParameters":{"id":73832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73837,"src":"21244:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73830,"name":"uint256","nodeType":"ElementaryTypeName","src":"21244:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21243:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73846,"nodeType":"FunctionDefinition","src":"21304:110:111","nodes":[],"body":{"id":73845,"nodeType":"Block","src":"21379:35:111","nodes":[],"statements":[{"expression":{"id":73843,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"21396:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":73842,"id":73844,"nodeType":"Return","src":"21389:18:111"}]},"baseFunctions":[72440],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21313:14:111","parameters":{"id":73838,"nodeType":"ParameterList","parameters":[],"src":"21327:2:111"},"returnParameters":{"id":73842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73846,"src":"21351:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":73840,"nodeType":"UserDefinedTypeName","pathNode":{"id":73839,"name":"StrategyStruct.PointSystem","nameLocations":["21351:14:111","21366:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"21351:26:111"},"referencedDeclaration":72450,"src":"21351:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21350:28:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73857,"nodeType":"FunctionDefinition","src":"21533:226:111","nodes":[],"body":{"id":73856,"nodeType":"Block","src":"21611:148:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73853,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72583,"src":"21676:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21676:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73855,"nodeType":"RevertStatement","src":"21669:23:111"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"21542:15:111","parameters":{"id":73851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73850,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73857,"src":"21558:39:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73848,"nodeType":"UserDefinedTypeName","pathNode":{"id":73847,"name":"StrategyStruct.ProposalSupport","nameLocations":["21558:14:111","21573:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"21558:30:111"},"referencedDeclaration":72516,"src":"21558:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73849,"nodeType":"ArrayTypeName","src":"21558:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"21557:41:111"},"returnParameters":{"id":73852,"nodeType":"ParameterList","parameters":[],"src":"21611:0:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":73922,"nodeType":"FunctionDefinition","src":"21905:650:111","nodes":[],"body":{"id":73921,"nodeType":"Block","src":"21979:576:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":73866,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22009:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73865,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73042,"src":"21989:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":73867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21989:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73868,"nodeType":"ExpressionStatement","src":"21989:28:111"},{"condition":{"id":73872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22031:27:111","subExpression":{"arguments":[{"id":73870,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22050:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73869,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"22032:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22032:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73877,"nodeType":"IfStatement","src":"22027:90:111","trueBody":{"id":73876,"nodeType":"Block","src":"22060:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73873,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"22081:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22081:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73875,"nodeType":"RevertStatement","src":"22074:32:111"}]}},{"assignments":[73879],"declarations":[{"constant":false,"id":73879,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22177:23:111","nodeType":"VariableDeclaration","scope":73921,"src":"22172:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73878,"name":"bool","nodeType":"ElementaryTypeName","src":"22172:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73888,"initialValue":{"arguments":[{"id":73882,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22249:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73885,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22266:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22258:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73883,"name":"address","nodeType":"ElementaryTypeName","src":"22258:7:111","typeDescriptions":{}}},"id":73886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22258:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73880,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"22203:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22221:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77148,"src":"22203:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22203:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22172:100:111"},{"condition":{"id":73890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22286:24:111","subExpression":{"id":73889,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73879,"src":"22287:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73895,"nodeType":"IfStatement","src":"22282:78:111","trueBody":{"id":73894,"nodeType":"Block","src":"22312:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73891,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72579,"src":"22333:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22333:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73893,"nodeType":"RevertStatement","src":"22326:23:111"}]}},{"assignments":[73901],"declarations":[{"constant":false,"id":73901,"mutability":"mutable","name":"pv","nameLocation":"22409:2:111","nodeType":"VariableDeclaration","scope":73921,"src":"22369:42:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73899,"nodeType":"UserDefinedTypeName","pathNode":{"id":73898,"name":"StrategyStruct.ProposalSupport","nameLocations":["22369:14:111","22384:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"22369:30:111"},"referencedDeclaration":72516,"src":"22369:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73900,"nodeType":"ArrayTypeName","src":"22369:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":73910,"initialValue":{"arguments":[{"id":73904,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73859,"src":"22425:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":73905,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"22433:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22448:15:111","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":72516,"src":"22433:30:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$72516_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":73907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22433:32:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":73908,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22432:34:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":73902,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22414:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22418:6:111","memberName":"decode","nodeType":"MemberAccess","src":"22414:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22414:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22369:98:111"},{"expression":{"arguments":[{"id":73912,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22502:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73913,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73901,"src":"22511:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73911,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74634,"src":"22477:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22477:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73915,"nodeType":"ExpressionStatement","src":"22477:37:111"},{"expression":{"arguments":[{"id":73917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22536:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73918,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73901,"src":"22545:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73916,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74921,"src":"22524:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22524:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73920,"nodeType":"ExpressionStatement","src":"22524:24:111"}]},"baseFunctions":[72268],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"21914:9:111","overrides":{"id":73863,"nodeType":"OverrideSpecifier","overrides":[],"src":"21970:8:111"},"parameters":{"id":73862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73859,"mutability":"mutable","name":"_data","nameLocation":"21937:5:111","nodeType":"VariableDeclaration","scope":73922,"src":"21924:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73858,"name":"bytes","nodeType":"ElementaryTypeName","src":"21924:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73861,"mutability":"mutable","name":"_sender","nameLocation":"21952:7:111","nodeType":"VariableDeclaration","scope":73922,"src":"21944:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73860,"name":"address","nodeType":"ElementaryTypeName","src":"21944:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21923:37:111"},"returnParameters":{"id":73864,"nodeType":"ParameterList","parameters":[],"src":"21979:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74089,"nodeType":"FunctionDefinition","src":"22811:1879:111","nodes":[],"body":{"id":74088,"nodeType":"Block","src":"22897:1793:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73933,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73927,"src":"22956:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22962:6:111","memberName":"length","nodeType":"MemberAccess","src":"22956:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":73935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22972:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22956:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73941,"nodeType":"IfStatement","src":"22952:76:111","trueBody":{"id":73940,"nodeType":"Block","src":"22975:53:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73937,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72615,"src":"22996:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22996:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73939,"nodeType":"RevertStatement","src":"22989:28:111"}]}},{"assignments":[73943],"declarations":[{"constant":false,"id":73943,"mutability":"mutable","name":"proposalId","nameLocation":"23046:10:111","nodeType":"VariableDeclaration","scope":74088,"src":"23038:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73942,"name":"uint256","nodeType":"ElementaryTypeName","src":"23038:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73951,"initialValue":{"arguments":[{"id":73946,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73927,"src":"23070:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":73948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23078:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73947,"name":"uint256","nodeType":"ElementaryTypeName","src":"23078:7:111","typeDescriptions":{}}}],"id":73949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23077:9:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":73944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23059:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23063:6:111","memberName":"decode","nodeType":"MemberAccess","src":"23059:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23059:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23038:49:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23102:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23116:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23102:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73959,"nodeType":"IfStatement","src":"23098:77:111","trueBody":{"id":73958,"nodeType":"Block","src":"23119:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73955,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72617,"src":"23140:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23140:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73957,"nodeType":"RevertStatement","src":"23133:31:111"}]}},{"assignments":[73964],"declarations":[{"constant":false,"id":73964,"mutability":"mutable","name":"proposal","nameLocation":"23216:8:111","nodeType":"VariableDeclaration","scope":74088,"src":"23184:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73963,"nodeType":"UserDefinedTypeName","pathNode":{"id":73962,"name":"StrategyStruct.Proposal","nameLocations":["23184:14:111","23199:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"23184:23:111"},"referencedDeclaration":72511,"src":"23184:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73968,"initialValue":{"baseExpression":{"id":73965,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"23227:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73967,"indexExpression":{"id":73966,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23237:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23227:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23184:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"id":73973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73969,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72816,"src":"23263:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73970,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"23279:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23294:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"23279:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72445_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23307:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72443,"src":"23279:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"23263:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74087,"nodeType":"IfStatement","src":"23259:1365:111","trueBody":{"id":74086,"nodeType":"Block","src":"23316:1308:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73974,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23334:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23343:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"23334:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":73976,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23357:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23334:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73983,"nodeType":"IfStatement","src":"23330:108:111","trueBody":{"id":73982,"nodeType":"Block","src":"23369:69:111","statements":[{"errorCall":{"arguments":[{"id":73979,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23412:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73978,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"23394:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":73980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23394:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73981,"nodeType":"RevertStatement","src":"23387:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73984,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23456:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23465:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23456:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":73986,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"23483:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23456:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73996,"nodeType":"IfStatement","src":"23452:152:111","trueBody":{"id":73995,"nodeType":"Block","src":"23495:109:111","statements":[{"errorCall":{"arguments":[{"id":73989,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23540:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73990,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23552:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23561:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23552:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73992,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"23578:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73988,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72643,"src":"23520:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":73993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23520:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73994,"nodeType":"RevertStatement","src":"23513:76:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"id":74002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73997,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23622:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73998,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23631:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"23622:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":73999,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"23649:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":74000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23664:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"23649:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":74001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23679:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"23649:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"23622:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74008,"nodeType":"IfStatement","src":"23618:138:111","trueBody":{"id":74007,"nodeType":"Block","src":"23687:69:111","statements":[{"errorCall":{"arguments":[{"id":74004,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23730:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74003,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72621,"src":"23712:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":74005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23712:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74006,"nodeType":"RevertStatement","src":"23705:36:111"}]}},{"assignments":[74010],"declarations":[{"constant":false,"id":74010,"mutability":"mutable","name":"convictionLast","nameLocation":"23778:14:111","nodeType":"VariableDeclaration","scope":74086,"src":"23770:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74009,"name":"uint256","nodeType":"ElementaryTypeName","src":"23770:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74014,"initialValue":{"arguments":[{"id":74012,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23820:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74011,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75450,"src":"23795:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":74013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23795:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23770:61:111"},{"assignments":[74016],"declarations":[{"constant":false,"id":74016,"mutability":"mutable","name":"threshold","nameLocation":"23853:9:111","nodeType":"VariableDeclaration","scope":74086,"src":"23845:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74015,"name":"uint256","nodeType":"ElementaryTypeName","src":"23845:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74021,"initialValue":{"arguments":[{"expression":{"id":74018,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23884:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23893:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23884:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74017,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75107,"src":"23865:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23865:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23845:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74022,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74010,"src":"23928:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":74023,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74016,"src":"23945:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23928:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74025,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23958:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23967:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23958:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23985:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23958:28:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23928:58:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74034,"nodeType":"IfStatement","src":"23924:137:111","trueBody":{"id":74033,"nodeType":"Block","src":"23988:73:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74030,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72633,"src":"24013:31:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24013:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74032,"nodeType":"RevertStatement","src":"24006:40:111"}]}},{"assignments":[74039],"declarations":[{"constant":false,"id":74039,"mutability":"mutable","name":"pool","nameLocation":"24093:4:111","nodeType":"VariableDeclaration","scope":74086,"src":"24075:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":74038,"nodeType":"UserDefinedTypeName","pathNode":{"id":74037,"name":"IAllo.Pool","nameLocations":["24075:5:111","24081:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24075:10:111"},"referencedDeclaration":2319,"src":"24075:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":74044,"initialValue":{"arguments":[{"id":74042,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71792,"src":"24113:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74040,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71786,"src":"24100:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":74041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24105:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24100:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":74043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24100:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24075:45:111"},{"expression":{"id":74048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74045,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"24135:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":74046,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24149:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24158:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"24149:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24135:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74049,"nodeType":"ExpressionStatement","src":"24135:38:111"},{"expression":{"arguments":[{"expression":{"id":74051,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74039,"src":"24211:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":74052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24216:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24211:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74053,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24223:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24232:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"24223:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74055,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24245:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24254:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"24245:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74050,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24195:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":74057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24195:75:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74058,"nodeType":"ExpressionStatement","src":"24195:75:111"},{"expression":{"id":74065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74059,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24301:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24310:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"24301:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":74062,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"24327:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":74063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24342:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"24327:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":74064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24357:8:111","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":72467,"src":"24327:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24301:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":74066,"nodeType":"ExpressionStatement","src":"24301:64:111"},{"expression":{"arguments":[{"id":74070,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"24431:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74071,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24443:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24452:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"24443:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":74073,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24463:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24472:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"24463:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":74075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24484:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"24463:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74067,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"24379:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":74069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24395:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"24379:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":74076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24379:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74077,"nodeType":"ExpressionStatement","src":"24379:143:111"},{"eventCall":{"arguments":[{"id":74079,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"24554:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74080,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24566:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74081,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24575:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"24566:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74082,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24588:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74083,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24597:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"24588:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74078,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[72686,2858],"referencedDeclaration":72686,"src":"24542:11:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":74084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24542:71:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74085,"nodeType":"EmitStatement","src":"24537:76:111"}]}}]},"baseFunctions":[72279],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"22820:11:111","overrides":{"id":73931,"nodeType":"OverrideSpecifier","overrides":[],"src":"22888:8:111"},"parameters":{"id":73930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74089,"src":"22832:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73923,"name":"address","nodeType":"ElementaryTypeName","src":"22832:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73924,"nodeType":"ArrayTypeName","src":"22832:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":73927,"mutability":"mutable","name":"_data","nameLocation":"22863:5:111","nodeType":"VariableDeclaration","scope":74089,"src":"22850:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73926,"name":"bytes","nodeType":"ElementaryTypeName","src":"22850:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74089,"src":"22870:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73928,"name":"address","nodeType":"ElementaryTypeName","src":"22870:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22831:47:111"},"returnParameters":{"id":73932,"nodeType":"ParameterList","parameters":[],"src":"22897:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74143,"nodeType":"FunctionDefinition","src":"24696:735:111","nodes":[],"body":{"id":74142,"nodeType":"Block","src":"24785:646:111","nodes":[],"statements":[{"assignments":[74100],"declarations":[{"constant":false,"id":74100,"mutability":"mutable","name":"proposal","nameLocation":"24827:8:111","nodeType":"VariableDeclaration","scope":74142,"src":"24795:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74099,"nodeType":"UserDefinedTypeName","pathNode":{"id":74098,"name":"StrategyStruct.Proposal","nameLocations":["24795:14:111","24810:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"24795:23:111"},"referencedDeclaration":72511,"src":"24795:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74104,"initialValue":{"baseExpression":{"id":74101,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"24838:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74103,"indexExpression":{"id":74102,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74091,"src":"24848:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24838:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24795:64:111"},{"assignments":[74106,74108],"declarations":[{"constant":false,"id":74106,"mutability":"mutable","name":"convictionLast","nameLocation":"24953:14:111","nodeType":"VariableDeclaration","scope":74142,"src":"24945:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74105,"name":"uint256","nodeType":"ElementaryTypeName","src":"24945:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74108,"mutability":"mutable","name":"blockNumber","nameLocation":"24977:11:111","nodeType":"VariableDeclaration","scope":74142,"src":"24969:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74107,"name":"uint256","nodeType":"ElementaryTypeName","src":"24969:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74114,"initialValue":{"arguments":[{"id":74110,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25038:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":74111,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25048:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25057:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"25048:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74109,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75303,"src":"25004:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":74113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25004:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24944:126:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74115,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74106,"src":"25085:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25103:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25085:19:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74118,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74108,"src":"25108:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25123:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25108:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25085:39:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74128,"nodeType":"IfStatement","src":"25081:110:111","trueBody":{"id":74127,"nodeType":"Block","src":"25126:65:111","statements":[{"expression":{"id":74125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74122,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74106,"src":"25140:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74123,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25157:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25166:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"25157:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25140:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74126,"nodeType":"ExpressionStatement","src":"25140:40:111"}]}},{"assignments":[74130],"declarations":[{"constant":false,"id":74130,"mutability":"mutable","name":"threshold","nameLocation":"25208:9:111","nodeType":"VariableDeclaration","scope":74142,"src":"25200:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74129,"name":"uint256","nodeType":"ElementaryTypeName","src":"25200:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74135,"initialValue":{"arguments":[{"expression":{"id":74132,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25239:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25248:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"25239:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74131,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75107,"src":"25220:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25220:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25200:64:111"},{"expression":{"id":74140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74136,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74094,"src":"25381:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74137,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74106,"src":"25397:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":74138,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74130,"src":"25415:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25397:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25381:43:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74141,"nodeType":"ExpressionStatement","src":"25381:43:111"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"24705:18:111","parameters":{"id":74092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74091,"mutability":"mutable","name":"proposalId","nameLocation":"24732:10:111","nodeType":"VariableDeclaration","scope":74143,"src":"24724:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74090,"name":"uint256","nodeType":"ElementaryTypeName","src":"24724:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24723:20:111"},"returnParameters":{"id":74095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74094,"mutability":"mutable","name":"canBeExecuted","nameLocation":"24770:13:111","nodeType":"VariableDeclaration","scope":74143,"src":"24765:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74093,"name":"bool","nodeType":"ElementaryTypeName","src":"24765:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24764:20:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74165,"nodeType":"FunctionDefinition","src":"25721:220:111","nodes":[],"body":{"id":74164,"nodeType":"Block","src":"25812:129:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74152,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74145,"src":"25872:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25896:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25888:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74153,"name":"address","nodeType":"ElementaryTypeName","src":"25888:7:111","typeDescriptions":{}}},"id":74156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25888:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25872:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":74160,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25919:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25926:8:111","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"25919:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":74162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25872:62:111","trueExpression":{"expression":{"id":74158,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25901:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25908:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"25901:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":74151,"id":74163,"nodeType":"Return","src":"25865:69:111"}]},"baseFunctions":[72299],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"25730:19:111","overrides":{"id":74147,"nodeType":"OverrideSpecifier","overrides":[],"src":"25786:8:111"},"parameters":{"id":74146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74145,"mutability":"mutable","name":"_recipientId","nameLocation":"25758:12:111","nodeType":"VariableDeclaration","scope":74165,"src":"25750:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74144,"name":"address","nodeType":"ElementaryTypeName","src":"25750:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25749:22:111"},"returnParameters":{"id":74151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74165,"src":"25804:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":74149,"nodeType":"UserDefinedTypeName","pathNode":{"id":74148,"name":"Status","nameLocations":["25804:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"25804:6:111"},"referencedDeclaration":2815,"src":"25804:6:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"25803:8:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74184,"nodeType":"FunctionDefinition","src":"26070:288:111","nodes":[],"body":{"id":74183,"nodeType":"Block","src":"26180:178:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74180,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72583,"src":"26240:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26240:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74182,"nodeType":"RevertStatement","src":"26233:23:111"}]},"baseFunctions":[72138],"documentation":{"id":74166,"nodeType":"StructuredDocumentation","src":"25947:118:111","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26079:10:111","overrides":{"id":74174,"nodeType":"OverrideSpecifier","overrides":[],"src":"26138:8:111"},"parameters":{"id":74173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74184,"src":"26090:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74167,"name":"address","nodeType":"ElementaryTypeName","src":"26090:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74168,"nodeType":"ArrayTypeName","src":"26090:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74172,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74184,"src":"26108:14:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":74170,"name":"bytes","nodeType":"ElementaryTypeName","src":"26108:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":74171,"nodeType":"ArrayTypeName","src":"26108:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26089:34:111"},"returnParameters":{"id":74179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74178,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74184,"src":"26156:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":74176,"nodeType":"UserDefinedTypeName","pathNode":{"id":74175,"name":"PayoutSummary","nameLocations":["26156:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26156:13:111"},"referencedDeclaration":2820,"src":"26156:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":74177,"nodeType":"ArrayTypeName","src":"26156:15:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26155:24:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":74203,"nodeType":"FunctionDefinition","src":"26364:264:111","nodes":[],"body":{"id":74202,"nodeType":"Block","src":"26516:112:111","nodes":[],"statements":[{"expression":{"id":74195,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74188,"src":"26569:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":74196,"nodeType":"ExpressionStatement","src":"26569:5:111"},{"expression":{"arguments":[{"id":74198,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74186,"src":"26605:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":74199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26619:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74197,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"26591:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":74200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26591:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":74194,"id":74201,"nodeType":"Return","src":"26584:37:111"}]},"baseFunctions":[72290],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26373:10:111","overrides":{"id":74190,"nodeType":"OverrideSpecifier","overrides":[],"src":"26464:8:111"},"parameters":{"id":74189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74186,"mutability":"mutable","name":"_recipientId","nameLocation":"26392:12:111","nodeType":"VariableDeclaration","scope":74203,"src":"26384:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74185,"name":"address","nodeType":"ElementaryTypeName","src":"26384:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74188,"mutability":"mutable","name":"_data","nameLocation":"26419:5:111","nodeType":"VariableDeclaration","scope":74203,"src":"26406:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74187,"name":"bytes","nodeType":"ElementaryTypeName","src":"26406:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26383:42:111"},"returnParameters":{"id":74194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74203,"src":"26490:20:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":74192,"nodeType":"UserDefinedTypeName","pathNode":{"id":74191,"name":"PayoutSummary","nameLocations":["26490:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26490:13:111"},"referencedDeclaration":2820,"src":"26490:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"26489:22:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74214,"nodeType":"FunctionDefinition","src":"26634:127:111","nodes":[],"body":{"id":74213,"nodeType":"Block","src":"26711:50:111","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":74210,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74205,"src":"26746:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74209,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72696,"src":"26726:19:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":74211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26726:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74212,"nodeType":"EmitStatement","src":"26721:33:111"}]},"baseFunctions":[72313],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"26643:24:111","overrides":{"id":74207,"nodeType":"OverrideSpecifier","overrides":[],"src":"26702:8:111"},"parameters":{"id":74206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74205,"mutability":"mutable","name":"_amount","nameLocation":"26676:7:111","nodeType":"VariableDeclaration","scope":74214,"src":"26668:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74204,"name":"uint256","nodeType":"ElementaryTypeName","src":"26668:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26667:17:111"},"returnParameters":{"id":74208,"nodeType":"ParameterList","parameters":[],"src":"26711:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":74233,"nodeType":"FunctionDefinition","src":"26856:191:111","nodes":[],"body":{"id":74232,"nodeType":"Block","src":"26941:106:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74222,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74216,"src":"27001:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27023:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27015:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74223,"name":"address","nodeType":"ElementaryTypeName","src":"27015:7:111","typeDescriptions":{}}},"id":74226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27015:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27001:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":74229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27036:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":74230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"27001:39:111","trueExpression":{"hexValue":"66616c7365","id":74228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27028:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74221,"id":74231,"nodeType":"Return","src":"26994:46:111"}]},"baseFunctions":[72250],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"26865:17:111","overrides":{"id":74218,"nodeType":"OverrideSpecifier","overrides":[],"src":"26917:8:111"},"parameters":{"id":74217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74216,"mutability":"mutable","name":"_allocator","nameLocation":"26891:10:111","nodeType":"VariableDeclaration","scope":74233,"src":"26883:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74215,"name":"address","nodeType":"ElementaryTypeName","src":"26883:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26882:20:111"},"returnParameters":{"id":74221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74233,"src":"26935:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74219,"name":"bool","nodeType":"ElementaryTypeName","src":"26935:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26934:6:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74243,"nodeType":"FunctionDefinition","src":"27053:86:111","nodes":[],"body":{"id":74242,"nodeType":"Block","src":"27099:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74239,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74235,"src":"27124:7:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74238,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72233,"src":"27109:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":74240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27109:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74241,"nodeType":"ExpressionStatement","src":"27109:23:111"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27062:13:111","parameters":{"id":74236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74235,"mutability":"mutable","name":"_active","nameLocation":"27081:7:111","nodeType":"VariableDeclaration","scope":74243,"src":"27076:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74234,"name":"bool","nodeType":"ElementaryTypeName","src":"27076:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27075:14:111"},"returnParameters":{"id":74237,"nodeType":"ParameterList","parameters":[],"src":"27099:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74331,"nodeType":"FunctionDefinition","src":"27145:836:111","nodes":[],"body":{"id":74330,"nodeType":"Block","src":"27189:792:111","nodes":[],"statements":[{"assignments":[74252],"declarations":[{"constant":false,"id":74252,"mutability":"mutable","name":"proposalsIds","nameLocation":"27264:12:111","nodeType":"VariableDeclaration","scope":74330,"src":"27247:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74250,"name":"uint256","nodeType":"ElementaryTypeName","src":"27247:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74251,"nodeType":"ArrayTypeName","src":"27247:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74256,"initialValue":{"baseExpression":{"id":74253,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"27279:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74255,"indexExpression":{"id":74254,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27300:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27279:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27247:61:111"},{"body":{"id":74328,"nodeType":"Block","src":"27368:607:111","statements":[{"assignments":[74269],"declarations":[{"constant":false,"id":74269,"mutability":"mutable","name":"proposalId","nameLocation":"27390:10:111","nodeType":"VariableDeclaration","scope":74328,"src":"27382:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74268,"name":"uint256","nodeType":"ElementaryTypeName","src":"27382:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74273,"initialValue":{"baseExpression":{"id":74270,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"27403:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74272,"indexExpression":{"id":74271,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74258,"src":"27416:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27403:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27382:36:111"},{"assignments":[74278],"declarations":[{"constant":false,"id":74278,"mutability":"mutable","name":"proposal","nameLocation":"27464:8:111","nodeType":"VariableDeclaration","scope":74328,"src":"27432:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74277,"nodeType":"UserDefinedTypeName","pathNode":{"id":74276,"name":"StrategyStruct.Proposal","nameLocations":["27432:14:111","27447:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"27432:23:111"},"referencedDeclaration":72511,"src":"27432:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74282,"initialValue":{"baseExpression":{"id":74279,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"27475:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74281,"indexExpression":{"id":74280,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74269,"src":"27485:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27475:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27432:64:111"},{"condition":{"arguments":[{"id":74284,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74269,"src":"27529:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74283,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74519,"src":"27514:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27514:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74327,"nodeType":"IfStatement","src":"27510:455:111","trueBody":{"id":74326,"nodeType":"Block","src":"27542:423:111","statements":[{"assignments":[74287],"declarations":[{"constant":false,"id":74287,"mutability":"mutable","name":"stakedPoints","nameLocation":"27568:12:111","nodeType":"VariableDeclaration","scope":74326,"src":"27560:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74286,"name":"uint256","nodeType":"ElementaryTypeName","src":"27560:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74292,"initialValue":{"baseExpression":{"expression":{"id":74288,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27583:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27592:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"27583:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74291,"indexExpression":{"id":74290,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27610:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27583:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27560:58:111"},{"expression":{"id":74299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74293,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27636:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27645:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"27636:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74297,"indexExpression":{"id":74295,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27663:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27636:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":74298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27674:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27636:39:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74300,"nodeType":"ExpressionStatement","src":"27636:39:111"},{"expression":{"id":74305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74301,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27693:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"27702:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"27693:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74304,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74287,"src":"27718:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27693:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74306,"nodeType":"ExpressionStatement","src":"27693:37:111"},{"expression":{"id":74309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74307,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72808,"src":"27748:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74308,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74287,"src":"27763:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27748:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74310,"nodeType":"ExpressionStatement","src":"27748:27:111"},{"expression":{"arguments":[{"id":74312,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27820:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74313,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74287,"src":"27830:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74311,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"27793:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27793:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74315,"nodeType":"ExpressionStatement","src":"27793:50:111"},{"eventCall":{"arguments":[{"id":74317,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27879:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74318,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74269,"src":"27888:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":74319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27900:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":74320,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27903:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27912:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"27903:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74322,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27926:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27935:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"27926:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74316,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72728,"src":"27866:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27866:84:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74325,"nodeType":"EmitStatement","src":"27861:89:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74261,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74258,"src":"27338:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74262,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"27342:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27355:6:111","memberName":"length","nodeType":"MemberAccess","src":"27342:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27338:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74329,"initializationExpression":{"assignments":[74258],"declarations":[{"constant":false,"id":74258,"mutability":"mutable","name":"i","nameLocation":"27331:1:111","nodeType":"VariableDeclaration","scope":74329,"src":"27323:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74257,"name":"uint256","nodeType":"ElementaryTypeName","src":"27323:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74260,"initialValue":{"hexValue":"30","id":74259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27335:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27323:13:111"},"loopExpression":{"expression":{"id":74266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27363:3:111","subExpression":{"id":74265,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74258,"src":"27363:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74267,"nodeType":"ExpressionStatement","src":"27363:3:111"},"nodeType":"ForStatement","src":"27318:657:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27154:8:111","parameters":{"id":74246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74245,"mutability":"mutable","name":"_member","nameLocation":"27171:7:111","nodeType":"VariableDeclaration","scope":74331,"src":"27163:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74244,"name":"address","nodeType":"ElementaryTypeName","src":"27163:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27162:17:111"},"returnParameters":{"id":74247,"nodeType":"ParameterList","parameters":[],"src":"27189:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74405,"nodeType":"FunctionDefinition","src":"28543:1038:111","nodes":[],"body":{"id":74404,"nodeType":"Block","src":"29012:569:111","nodes":[],"statements":[{"assignments":[74362],"declarations":[{"constant":false,"id":74362,"mutability":"mutable","name":"proposal","nameLocation":"29054:8:111","nodeType":"VariableDeclaration","scope":74404,"src":"29022:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74361,"nodeType":"UserDefinedTypeName","pathNode":{"id":74360,"name":"StrategyStruct.Proposal","nameLocations":["29022:14:111","29037:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"29022:23:111"},"referencedDeclaration":72511,"src":"29022:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74366,"initialValue":{"baseExpression":{"id":74363,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"29065:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74365,"indexExpression":{"id":74364,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74334,"src":"29075:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29065:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29022:65:111"},{"expression":{"id":74378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74367,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74354,"src":"29098:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74368,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29110:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29119:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"29110:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29138:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29110:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":74374,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29165:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74375,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29174:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"29165:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74373,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75107,"src":"29146:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29146:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29110:80:111","trueExpression":{"hexValue":"30","id":74372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29142:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29098:92:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74379,"nodeType":"ExpressionStatement","src":"29098:92:111"},{"expression":{"components":[{"expression":{"id":74380,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29221:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29230:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"29221:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74382,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29253:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29262:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"29253:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74384,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29287:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29296:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72493,"src":"29287:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74386,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29324:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29333:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"29324:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74388,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29362:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29371:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"29362:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74390,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29397:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29406:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"29397:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":74392,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29434:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29443:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"29434:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74394,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29466:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29475:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"29466:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74396,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74354,"src":"29503:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":74397,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29526:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29535:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"29526:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74401,"indexExpression":{"expression":{"id":74399,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"29553:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29557:6:111","memberName":"sender","nodeType":"MemberAccess","src":"29553:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29526:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74402,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29207:367:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$72470_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":74357,"id":74403,"nodeType":"Return","src":"29200:374:111"}]},"documentation":{"id":74332,"nodeType":"StructuredDocumentation","src":"27987:551:111","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"28552:11:111","parameters":{"id":74335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74334,"mutability":"mutable","name":"_proposalId","nameLocation":"28572:11:111","nodeType":"VariableDeclaration","scope":74405,"src":"28564:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74333,"name":"uint256","nodeType":"ElementaryTypeName","src":"28564:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28563:21:111"},"returnParameters":{"id":74357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74337,"mutability":"mutable","name":"submitter","nameLocation":"28653:9:111","nodeType":"VariableDeclaration","scope":74405,"src":"28645:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74336,"name":"address","nodeType":"ElementaryTypeName","src":"28645:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74339,"mutability":"mutable","name":"beneficiary","nameLocation":"28684:11:111","nodeType":"VariableDeclaration","scope":74405,"src":"28676:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74338,"name":"address","nodeType":"ElementaryTypeName","src":"28676:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74341,"mutability":"mutable","name":"requestedToken","nameLocation":"28717:14:111","nodeType":"VariableDeclaration","scope":74405,"src":"28709:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74340,"name":"address","nodeType":"ElementaryTypeName","src":"28709:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74343,"mutability":"mutable","name":"requestedAmount","nameLocation":"28753:15:111","nodeType":"VariableDeclaration","scope":74405,"src":"28745:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74342,"name":"uint256","nodeType":"ElementaryTypeName","src":"28745:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74345,"mutability":"mutable","name":"stakedAmount","nameLocation":"28790:12:111","nodeType":"VariableDeclaration","scope":74405,"src":"28782:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74344,"name":"uint256","nodeType":"ElementaryTypeName","src":"28782:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74348,"mutability":"mutable","name":"proposalStatus","nameLocation":"28846:14:111","nodeType":"VariableDeclaration","scope":74405,"src":"28816:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":74347,"nodeType":"UserDefinedTypeName","pathNode":{"id":74346,"name":"StrategyStruct.ProposalStatus","nameLocations":["28816:14:111","28831:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72470,"src":"28816:29:111"},"referencedDeclaration":72470,"src":"28816:29:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":74350,"mutability":"mutable","name":"blockLast","nameLocation":"28882:9:111","nodeType":"VariableDeclaration","scope":74405,"src":"28874:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74349,"name":"uint256","nodeType":"ElementaryTypeName","src":"28874:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74352,"mutability":"mutable","name":"convictionLast","nameLocation":"28913:14:111","nodeType":"VariableDeclaration","scope":74405,"src":"28905:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74351,"name":"uint256","nodeType":"ElementaryTypeName","src":"28905:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74354,"mutability":"mutable","name":"threshold","nameLocation":"28949:9:111","nodeType":"VariableDeclaration","scope":74405,"src":"28941:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74353,"name":"uint256","nodeType":"ElementaryTypeName","src":"28941:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74356,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"28980:17:111","nodeType":"VariableDeclaration","scope":74405,"src":"28972:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74355,"name":"uint256","nodeType":"ElementaryTypeName","src":"28972:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28631:376:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74426,"nodeType":"FunctionDefinition","src":"29587:198:111","nodes":[],"body":{"id":74425,"nodeType":"Block","src":"29669:116:111","nodes":[],"statements":[{"assignments":[74417],"declarations":[{"constant":false,"id":74417,"mutability":"mutable","name":"proposal","nameLocation":"29711:8:111","nodeType":"VariableDeclaration","scope":74425,"src":"29679:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74416,"nodeType":"UserDefinedTypeName","pathNode":{"id":74415,"name":"StrategyStruct.Proposal","nameLocations":["29679:14:111","29694:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"29679:23:111"},"referencedDeclaration":72511,"src":"29679:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74421,"initialValue":{"baseExpression":{"id":74418,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"29722:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74420,"indexExpression":{"id":74419,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74407,"src":"29732:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29722:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29679:65:111"},{"expression":{"expression":{"id":74422,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74417,"src":"29761:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29770:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72505,"src":"29761:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":74412,"id":74424,"nodeType":"Return","src":"29754:24:111"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"29596:11:111","parameters":{"id":74408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74407,"mutability":"mutable","name":"_proposalId","nameLocation":"29616:11:111","nodeType":"VariableDeclaration","scope":74426,"src":"29608:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74406,"name":"uint256","nodeType":"ElementaryTypeName","src":"29608:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29607:21:111"},"returnParameters":{"id":74412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74426,"src":"29652:15:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":74410,"nodeType":"UserDefinedTypeName","pathNode":{"id":74409,"name":"Metadata","nameLocations":["29652:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"29652:8:111"},"referencedDeclaration":3098,"src":"29652:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"29651:17:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74442,"nodeType":"FunctionDefinition","src":"29986:176:111","nodes":[],"body":{"id":74441,"nodeType":"Block","src":"30086:76:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74437,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74429,"src":"30135:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74438,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74431,"src":"30148:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74436,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"30103:31:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":74439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30103:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74435,"id":74440,"nodeType":"Return","src":"30096:59:111"}]},"documentation":{"id":74427,"nodeType":"StructuredDocumentation","src":"29791:190:111","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"29995:21:111","parameters":{"id":74432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74429,"mutability":"mutable","name":"_proposalId","nameLocation":"30025:11:111","nodeType":"VariableDeclaration","scope":74442,"src":"30017:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74428,"name":"uint256","nodeType":"ElementaryTypeName","src":"30017:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74431,"mutability":"mutable","name":"_voter","nameLocation":"30046:6:111","nodeType":"VariableDeclaration","scope":74442,"src":"30038:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74430,"name":"address","nodeType":"ElementaryTypeName","src":"30038:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30016:37:111"},"returnParameters":{"id":74435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74434,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74442,"src":"30077:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74433,"name":"uint256","nodeType":"ElementaryTypeName","src":"30077:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30076:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74455,"nodeType":"FunctionDefinition","src":"30168:145:111","nodes":[],"body":{"id":74454,"nodeType":"Block","src":"30254:59:111","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":74449,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30271:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74451,"indexExpression":{"id":74450,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74444,"src":"30281:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30271:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30294:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"30271:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74448,"id":74453,"nodeType":"Return","src":"30264:42:111"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"30177:23:111","parameters":{"id":74445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74444,"mutability":"mutable","name":"_proposalId","nameLocation":"30209:11:111","nodeType":"VariableDeclaration","scope":74455,"src":"30201:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74443,"name":"uint256","nodeType":"ElementaryTypeName","src":"30201:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30200:21:111"},"returnParameters":{"id":74448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74455,"src":"30245:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74446,"name":"uint256","nodeType":"ElementaryTypeName","src":"30245:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30244:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74467,"nodeType":"FunctionDefinition","src":"30381:127:111","nodes":[],"body":{"id":74466,"nodeType":"Block","src":"30458:50:111","nodes":[],"statements":[{"expression":{"baseExpression":{"id":74462,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72843,"src":"30475:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74464,"indexExpression":{"id":74463,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74457,"src":"30494:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30475:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74461,"id":74465,"nodeType":"Return","src":"30468:33:111"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"30390:21:111","parameters":{"id":74458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74457,"mutability":"mutable","name":"_voter","nameLocation":"30420:6:111","nodeType":"VariableDeclaration","scope":74467,"src":"30412:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74456,"name":"address","nodeType":"ElementaryTypeName","src":"30412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30411:16:111"},"returnParameters":{"id":74461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74467,"src":"30449:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74459,"name":"uint256","nodeType":"ElementaryTypeName","src":"30449:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30448:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74484,"nodeType":"FunctionDefinition","src":"30514:182:111","nodes":[],"body":{"id":74483,"nodeType":"Block","src":"30624:72:111","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":74476,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30641:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74478,"indexExpression":{"id":74477,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74469,"src":"30651:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30641:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30664:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"30641:40:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74481,"indexExpression":{"id":74480,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74471,"src":"30682:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30641:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74475,"id":74482,"nodeType":"Return","src":"30634:55:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"30523:31:111","parameters":{"id":74472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74469,"mutability":"mutable","name":"_proposalId","nameLocation":"30563:11:111","nodeType":"VariableDeclaration","scope":74484,"src":"30555:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74468,"name":"uint256","nodeType":"ElementaryTypeName","src":"30555:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74471,"mutability":"mutable","name":"_voter","nameLocation":"30584:6:111","nodeType":"VariableDeclaration","scope":74484,"src":"30576:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74470,"name":"address","nodeType":"ElementaryTypeName","src":"30576:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30554:37:111"},"returnParameters":{"id":74475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74484,"src":"30615:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74473,"name":"uint256","nodeType":"ElementaryTypeName","src":"30615:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30614:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74494,"nodeType":"FunctionDefinition","src":"30702:145:111","nodes":[],"body":{"id":74493,"nodeType":"Block","src":"30766:81:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74489,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"30783:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":74490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30801:20:111","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78560,"src":"30783:38:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30783:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74488,"id":74492,"nodeType":"Return","src":"30776:47:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"30711:20:111","parameters":{"id":74485,"nodeType":"ParameterList","parameters":[],"src":"30731:2:111"},"returnParameters":{"id":74488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74494,"src":"30757:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74486,"name":"uint256","nodeType":"ElementaryTypeName","src":"30757:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30756:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74519,"nodeType":"FunctionDefinition","src":"30853:185:111","nodes":[],"body":{"id":74518,"nodeType":"Block","src":"30927:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74501,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30944:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74503,"indexExpression":{"id":74502,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74496,"src":"30954:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30944:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30967:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"30944:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30980:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30944:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74507,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30985:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74509,"indexExpression":{"id":74508,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74496,"src":"30995:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30985:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31008:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"30985:32:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":74513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31029:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31021:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74511,"name":"address","nodeType":"ElementaryTypeName","src":"31021:7:111","typeDescriptions":{}}},"id":74514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31021:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30985:46:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30944:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74500,"id":74517,"nodeType":"Return","src":"30937:94:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"30862:14:111","parameters":{"id":74497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74496,"mutability":"mutable","name":"_proposalID","nameLocation":"30885:11:111","nodeType":"VariableDeclaration","scope":74519,"src":"30877:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74495,"name":"uint256","nodeType":"ElementaryTypeName","src":"30877:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30876:21:111"},"returnParameters":{"id":74500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74519,"src":"30921:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74498,"name":"bool","nodeType":"ElementaryTypeName","src":"30921:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30920:6:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74538,"nodeType":"FunctionDefinition","src":"31044:183:111","nodes":[],"body":{"id":74537,"nodeType":"Block","src":"31139:88:111","nodes":[],"statements":[{"expression":{"id":74535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74526,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74524,"src":"31149:14:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74527,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"31166:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31175:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72535,"src":"31166:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74529,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"31186:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31166:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74531,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74521,"src":"31200:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74532,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"31219:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31200:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31166:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"31149:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74536,"nodeType":"ExpressionStatement","src":"31149:71:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"31053:15:111","parameters":{"id":74522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74521,"mutability":"mutable","name":"_requestedAmount","nameLocation":"31077:16:111","nodeType":"VariableDeclaration","scope":74538,"src":"31069:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74520,"name":"uint256","nodeType":"ElementaryTypeName","src":"31069:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31068:26:111"},"returnParameters":{"id":74525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74524,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"31123:14:111","nodeType":"VariableDeclaration","scope":74538,"src":"31118:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74523,"name":"bool","nodeType":"ElementaryTypeName","src":"31118:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31117:21:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74634,"nodeType":"FunctionDefinition","src":"31233:1548:111","nodes":[],"body":{"id":74633,"nodeType":"Block","src":"31363:1418:111","nodes":[],"statements":[{"assignments":[74548],"declarations":[{"constant":false,"id":74548,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"31380:15:111","nodeType":"VariableDeclaration","scope":74633,"src":"31373:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74547,"name":"int256","nodeType":"ElementaryTypeName","src":"31373:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74550,"initialValue":{"hexValue":"30","id":74549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31398:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31373:26:111"},{"body":{"id":74595,"nodeType":"Block","src":"31463:576:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74562,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31536:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74564,"indexExpression":{"id":74563,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31553:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31536:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74565,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31556:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72513,"src":"31536:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31570:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31536:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74570,"nodeType":"IfStatement","src":"31532:187:111","trueBody":{"id":74569,"nodeType":"Block","src":"31573:146:111","statements":[{"id":74568,"nodeType":"Continue","src":"31696:8:111"}]}},{"assignments":[74572],"declarations":[{"constant":false,"id":74572,"mutability":"mutable","name":"proposalId","nameLocation":"31740:10:111","nodeType":"VariableDeclaration","scope":74595,"src":"31732:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74571,"name":"uint256","nodeType":"ElementaryTypeName","src":"31732:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74577,"initialValue":{"expression":{"baseExpression":{"id":74573,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31753:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74575,"indexExpression":{"id":74574,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31770:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31753:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31773:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72513,"src":"31753:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31732:51:111"},{"condition":{"id":74581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31801:27:111","subExpression":{"arguments":[{"id":74579,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74572,"src":"31817:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74578,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74519,"src":"31802:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31802:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74587,"nodeType":"IfStatement","src":"31797:167:111","trueBody":{"id":74586,"nodeType":"Block","src":"31830:134:111","statements":[{"errorCall":{"arguments":[{"id":74583,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74572,"src":"31873:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74582,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"31855:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":74584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31855:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74585,"nodeType":"RevertStatement","src":"31848:36:111"}]}},{"expression":{"id":74593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74588,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74548,"src":"31977:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":74589,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31996:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74591,"indexExpression":{"id":74590,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"32013:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31996:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32016:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72515,"src":"31996:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31977:51:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":74594,"nodeType":"ExpressionStatement","src":"31977:51:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74555,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31429:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74556,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31433:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31450:6:111","memberName":"length","nodeType":"MemberAccess","src":"31433:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31429:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74596,"initializationExpression":{"assignments":[74552],"declarations":[{"constant":false,"id":74552,"mutability":"mutable","name":"i","nameLocation":"31422:1:111","nodeType":"VariableDeclaration","scope":74596,"src":"31414:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74551,"name":"uint256","nodeType":"ElementaryTypeName","src":"31414:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74554,"initialValue":{"hexValue":"30","id":74553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31426:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31414:13:111"},"loopExpression":{"expression":{"id":74560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"31458:3:111","subExpression":{"id":74559,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31458:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74561,"nodeType":"ExpressionStatement","src":"31458:3:111"},"nodeType":"ForStatement","src":"31409:630:111"},{"assignments":[74598],"declarations":[{"constant":false,"id":74598,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"32143:21:111","nodeType":"VariableDeclaration","scope":74633,"src":"32135:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74597,"name":"uint256","nodeType":"ElementaryTypeName","src":"32135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74605,"initialValue":{"arguments":[{"arguments":[{"id":74601,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"32201:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74600,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74467,"src":"32179:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":74602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32179:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74603,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74548,"src":"32211:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74599,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74956,"src":"32167:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32167:60:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32135:92:111"},{"assignments":[74607],"declarations":[{"constant":false,"id":74607,"mutability":"mutable","name":"participantBalance","nameLocation":"32317:18:111","nodeType":"VariableDeclaration","scope":74633,"src":"32309:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74606,"name":"uint256","nodeType":"ElementaryTypeName","src":"32309:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74616,"initialValue":{"arguments":[{"id":74610,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"32381:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":74613,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"32398:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":74612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32390:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74611,"name":"address","nodeType":"ElementaryTypeName","src":"32390:7:111","typeDescriptions":{}}},"id":74614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32390:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":74608,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"32338:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":74609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32356:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"32338:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":74615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32338:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32309:95:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74617,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74598,"src":"32570:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":74618,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74607,"src":"32594:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32570:42:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74626,"nodeType":"IfStatement","src":"32566:147:111","trueBody":{"id":74625,"nodeType":"Block","src":"32614:99:111","statements":[{"errorCall":{"arguments":[{"id":74621,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74598,"src":"32660:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74622,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74607,"src":"32683:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74620,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72613,"src":"32635:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32635:67:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74624,"nodeType":"RevertStatement","src":"32628:74:111"}]}},{"expression":{"id":74631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74627,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72843,"src":"32723:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74629,"indexExpression":{"id":74628,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"32742:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32723:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74630,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74598,"src":"32753:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32723:51:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74632,"nodeType":"ExpressionStatement","src":"32723:51:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"31242:24:111","parameters":{"id":74545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74540,"mutability":"mutable","name":"_sender","nameLocation":"31275:7:111","nodeType":"VariableDeclaration","scope":74634,"src":"31267:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74539,"name":"address","nodeType":"ElementaryTypeName","src":"31267:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74544,"mutability":"mutable","name":"_proposalSupport","nameLocation":"31324:16:111","nodeType":"VariableDeclaration","scope":74634,"src":"31284:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74542,"nodeType":"UserDefinedTypeName","pathNode":{"id":74541,"name":"StrategyStruct.ProposalSupport","nameLocations":["31284:14:111","31299:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"31284:30:111"},"referencedDeclaration":72516,"src":"31284:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74543,"nodeType":"ArrayTypeName","src":"31284:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"31266:75:111"},"returnParameters":{"id":74546,"nodeType":"ParameterList","parameters":[],"src":"31363:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74921,"nodeType":"FunctionDefinition","src":"32787:3479:111","nodes":[],"body":{"id":74920,"nodeType":"Block","src":"32892:3374:111","nodes":[],"statements":[{"assignments":[74647],"declarations":[{"constant":false,"id":74647,"mutability":"mutable","name":"proposalsIds","nameLocation":"32919:12:111","nodeType":"VariableDeclaration","scope":74920,"src":"32902:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74645,"name":"uint256","nodeType":"ElementaryTypeName","src":"32902:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74646,"nodeType":"ArrayTypeName","src":"32902:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74648,"nodeType":"VariableDeclarationStatement","src":"32902:29:111"},{"body":{"id":74918,"nodeType":"Block","src":"32995:3265:111","statements":[{"assignments":[74661],"declarations":[{"constant":false,"id":74661,"mutability":"mutable","name":"proposalId","nameLocation":"33017:10:111","nodeType":"VariableDeclaration","scope":74918,"src":"33009:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74660,"name":"uint256","nodeType":"ElementaryTypeName","src":"33009:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74666,"initialValue":{"expression":{"baseExpression":{"id":74662,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"33030:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74664,"indexExpression":{"id":74663,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"33047:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33030:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33050:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72513,"src":"33030:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33009:51:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74667,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33133:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33146:6:111","memberName":"length","nodeType":"MemberAccess","src":"33133:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33156:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33133:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74769,"nodeType":"Block","src":"33285:764:111","statements":[{"assignments":[74687],"declarations":[{"constant":false,"id":74687,"mutability":"mutable","name":"exist","nameLocation":"33308:5:111","nodeType":"VariableDeclaration","scope":74769,"src":"33303:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74686,"name":"bool","nodeType":"ElementaryTypeName","src":"33303:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74689,"initialValue":{"hexValue":"66616c7365","id":74688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33316:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"33303:18:111"},{"body":{"id":74717,"nodeType":"Block","src":"33389:268:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74701,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33440:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74703,"indexExpression":{"id":74702,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33453:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33440:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":74704,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33459:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33440:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74716,"nodeType":"IfStatement","src":"33436:203:111","trueBody":{"id":74715,"nodeType":"Block","src":"33471:168:111","statements":[{"expression":{"id":74708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74706,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74687,"src":"33497:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33505:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"33497:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74709,"nodeType":"ExpressionStatement","src":"33497:12:111"},{"errorCall":{"arguments":[{"id":74711,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33568:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74712,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33580:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74710,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72631,"src":"33542:25:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33542:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74714,"nodeType":"RevertStatement","src":"33535:47:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74694,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33359:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74695,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33363:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33376:6:111","memberName":"length","nodeType":"MemberAccess","src":"33363:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33359:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74718,"initializationExpression":{"assignments":[74691],"declarations":[{"constant":false,"id":74691,"mutability":"mutable","name":"j","nameLocation":"33352:1:111","nodeType":"VariableDeclaration","scope":74718,"src":"33344:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74690,"name":"uint256","nodeType":"ElementaryTypeName","src":"33344:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74693,"initialValue":{"hexValue":"30","id":74692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33356:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33344:13:111"},"loopExpression":{"expression":{"id":74699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33384:3:111","subExpression":{"id":74698,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33384:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74700,"nodeType":"ExpressionStatement","src":"33384:3:111"},"nodeType":"ForStatement","src":"33339:318:111"},{"condition":{"id":74720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33678:6:111","subExpression":{"id":74719,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74687,"src":"33679:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74768,"nodeType":"IfStatement","src":"33674:361:111","trueBody":{"id":74767,"nodeType":"Block","src":"33686:349:111","statements":[{"assignments":[74725],"declarations":[{"constant":false,"id":74725,"mutability":"mutable","name":"temp","nameLocation":"33725:4:111","nodeType":"VariableDeclaration","scope":74767,"src":"33708:21:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74723,"name":"uint256","nodeType":"ElementaryTypeName","src":"33708:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74724,"nodeType":"ArrayTypeName","src":"33708:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74734,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74729,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33746:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33759:6:111","memberName":"length","nodeType":"MemberAccess","src":"33746:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":74731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33768:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"33746:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33732:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74726,"name":"uint256","nodeType":"ElementaryTypeName","src":"33736:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74727,"nodeType":"ArrayTypeName","src":"33736:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33732:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"33708:62:111"},{"body":{"id":74754,"nodeType":"Block","src":"33842:74:111","statements":[{"expression":{"id":74752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74746,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74725,"src":"33868:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74748,"indexExpression":{"id":74747,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33873:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33868:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":74749,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33878:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74751,"indexExpression":{"id":74750,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33891:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33878:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33868:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74753,"nodeType":"ExpressionStatement","src":"33868:25:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74739,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33812:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74740,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33816:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33829:6:111","memberName":"length","nodeType":"MemberAccess","src":"33816:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33812:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74755,"initializationExpression":{"assignments":[74736],"declarations":[{"constant":false,"id":74736,"mutability":"mutable","name":"j","nameLocation":"33805:1:111","nodeType":"VariableDeclaration","scope":74755,"src":"33797:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74735,"name":"uint256","nodeType":"ElementaryTypeName","src":"33797:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74738,"initialValue":{"hexValue":"30","id":74737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33809:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33797:13:111"},"loopExpression":{"expression":{"id":74744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33837:3:111","subExpression":{"id":74743,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33837:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74745,"nodeType":"ExpressionStatement","src":"33837:3:111"},"nodeType":"ForStatement","src":"33792:124:111"},{"expression":{"id":74761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74756,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74725,"src":"33937:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74759,"indexExpression":{"expression":{"id":74757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33942:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33955:6:111","memberName":"length","nodeType":"MemberAccess","src":"33942:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33937:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74760,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33965:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33937:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74762,"nodeType":"ExpressionStatement","src":"33937:38:111"},{"expression":{"id":74765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74763,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33997:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74764,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74725,"src":"34012:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33997:19:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74766,"nodeType":"ExpressionStatement","src":"33997:19:111"}]}}]},"id":74770,"nodeType":"IfStatement","src":"33129:920:111","trueBody":{"id":74685,"nodeType":"Block","src":"33159:120:111","statements":[{"expression":{"id":74677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74671,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33177:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":74675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33206:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":74674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33192:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74672,"name":"uint256","nodeType":"ElementaryTypeName","src":"33196:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74673,"nodeType":"ArrayTypeName","src":"33196:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33192:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33177:31:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74678,"nodeType":"ExpressionStatement","src":"33177:31:111"},{"expression":{"id":74683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74679,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33226:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74681,"indexExpression":{"hexValue":"30","id":74680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33239:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33226:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74682,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33244:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33226:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74684,"nodeType":"ExpressionStatement","src":"33226:28:111"}]}},{"assignments":[74772],"declarations":[{"constant":false,"id":74772,"mutability":"mutable","name":"delta","nameLocation":"34069:5:111","nodeType":"VariableDeclaration","scope":74918,"src":"34062:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74771,"name":"int256","nodeType":"ElementaryTypeName","src":"34062:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74777,"initialValue":{"expression":{"baseExpression":{"id":74773,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"34077:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74775,"indexExpression":{"id":74774,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"34094:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34077:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34097:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72515,"src":"34077:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"34062:47:111"},{"assignments":[74782],"declarations":[{"constant":false,"id":74782,"mutability":"mutable","name":"proposal","nameLocation":"34156:8:111","nodeType":"VariableDeclaration","scope":74918,"src":"34124:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74781,"nodeType":"UserDefinedTypeName","pathNode":{"id":74780,"name":"StrategyStruct.Proposal","nameLocations":["34124:14:111","34139:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"34124:23:111"},"referencedDeclaration":72511,"src":"34124:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74786,"initialValue":{"baseExpression":{"id":74783,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"34167:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74785,"indexExpression":{"id":74784,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"34177:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34167:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"34124:64:111"},{"assignments":[74788],"declarations":[{"constant":false,"id":74788,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"34298:20:111","nodeType":"VariableDeclaration","scope":74918,"src":"34290:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74787,"name":"uint256","nodeType":"ElementaryTypeName","src":"34290:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74793,"initialValue":{"baseExpression":{"expression":{"id":74789,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"34321:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34330:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"34321:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74792,"indexExpression":{"id":74791,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"34348:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34321:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34290:66:111"},{"assignments":[74795],"declarations":[{"constant":false,"id":74795,"mutability":"mutable","name":"stakedPoints","nameLocation":"34529:12:111","nodeType":"VariableDeclaration","scope":74918,"src":"34521:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74794,"name":"uint256","nodeType":"ElementaryTypeName","src":"34521:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74800,"initialValue":{"arguments":[{"id":74797,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"34556:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74798,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74772,"src":"34578:5:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74796,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74956,"src":"34544:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34544:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34521:63:111"},{"expression":{"id":74807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74801,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"34719:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34728:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"34719:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74805,"indexExpression":{"id":74803,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"34746:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34719:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74806,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"34757:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34719:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74808,"nodeType":"ExpressionStatement","src":"34719:50:111"},{"assignments":[74810],"declarations":[{"constant":false,"id":74810,"mutability":"mutable","name":"hasProposal","nameLocation":"35008:11:111","nodeType":"VariableDeclaration","scope":74918,"src":"35003:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74809,"name":"bool","nodeType":"ElementaryTypeName","src":"35003:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74812,"initialValue":{"hexValue":"66616c7365","id":74811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35022:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35003:24:111"},{"body":{"id":74841,"nodeType":"Block","src":"35108:179:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":74826,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"35130:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74828,"indexExpression":{"id":74827,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"35151:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35130:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74830,"indexExpression":{"id":74829,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74814,"src":"35160:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35130:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":74831,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35166:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35175:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"35166:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35130:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74840,"nodeType":"IfStatement","src":"35126:147:111","trueBody":{"id":74839,"nodeType":"Block","src":"35187:86:111","statements":[{"expression":{"id":74836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74834,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74810,"src":"35209:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35223:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35209:18:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74837,"nodeType":"ExpressionStatement","src":"35209:18:111"},{"id":74838,"nodeType":"Break","src":"35249:5:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74817,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74814,"src":"35061:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":74818,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"35065:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74820,"indexExpression":{"id":74819,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"35086:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35065:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35095:6:111","memberName":"length","nodeType":"MemberAccess","src":"35065:36:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35061:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74842,"initializationExpression":{"assignments":[74814],"declarations":[{"constant":false,"id":74814,"mutability":"mutable","name":"k","nameLocation":"35054:1:111","nodeType":"VariableDeclaration","scope":74842,"src":"35046:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74813,"name":"uint256","nodeType":"ElementaryTypeName","src":"35046:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74816,"initialValue":{"hexValue":"30","id":74815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35058:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35046:13:111"},"loopExpression":{"expression":{"id":74824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35103:3:111","subExpression":{"id":74823,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74814,"src":"35103:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74825,"nodeType":"ExpressionStatement","src":"35103:3:111"},"nodeType":"ForStatement","src":"35041:246:111"},{"condition":{"id":74844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35304:12:111","subExpression":{"id":74843,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74810,"src":"35305:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74854,"nodeType":"IfStatement","src":"35300:106:111","trueBody":{"id":74853,"nodeType":"Block","src":"35318:88:111","statements":[{"expression":{"arguments":[{"expression":{"id":74849,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35371:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35380:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"35371:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":74845,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"35336:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74847,"indexExpression":{"id":74846,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"35357:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35336:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35366:4:111","memberName":"push","nodeType":"MemberAccess","src":"35336:34:111","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":74851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35336:55:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74852,"nodeType":"ExpressionStatement","src":"35336:55:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74855,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35561:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":74856,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35585:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35561:36:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74887,"nodeType":"Block","src":"35766:161:111","statements":[{"expression":{"id":74877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74873,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72808,"src":"35784:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74874,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35799:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74875,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35822:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35799:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35784:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74878,"nodeType":"ExpressionStatement","src":"35784:50:111"},{"expression":{"id":74885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35852:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35861:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"35852:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74882,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35877:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74883,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35900:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35877:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35852:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74886,"nodeType":"ExpressionStatement","src":"35852:60:111"}]},"id":74888,"nodeType":"IfStatement","src":"35557:370:111","trueBody":{"id":74872,"nodeType":"Block","src":"35599:161:111","statements":[{"expression":{"id":74862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74858,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72808,"src":"35617:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74859,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35632:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74860,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35647:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35632:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35617:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74863,"nodeType":"ExpressionStatement","src":"35617:50:111"},{"expression":{"id":74870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74864,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35685:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35694:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"35685:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74867,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35710:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74868,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35725:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35710:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35685:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74871,"nodeType":"ExpressionStatement","src":"35685:60:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74889,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35944:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74890,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35953:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"35944:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35966:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35944:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74916,"nodeType":"Block","src":"36041:209:111","statements":[{"expression":{"arguments":[{"id":74902,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"36086:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74903,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"36096:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74901,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"36059:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36059:58:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74905,"nodeType":"ExpressionStatement","src":"36059:58:111"},{"eventCall":{"arguments":[{"id":74907,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"36153:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74908,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"36162:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74909,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"36174:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74910,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"36188:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36197:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"36188:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74912,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"36211:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36220:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"36211:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74906,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72728,"src":"36140:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36140:95:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74915,"nodeType":"EmitStatement","src":"36135:100:111"}]},"id":74917,"nodeType":"IfStatement","src":"35940:310:111","trueBody":{"id":74900,"nodeType":"Block","src":"35969:66:111","statements":[{"expression":{"id":74898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74893,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35987:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35996:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"35987:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74896,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"36008:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":74897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36014:6:111","memberName":"number","nodeType":"MemberAccess","src":"36008:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35987:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74899,"nodeType":"ExpressionStatement","src":"35987:33:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"32961:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74654,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"32965:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32982:6:111","memberName":"length","nodeType":"MemberAccess","src":"32965:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32961:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74919,"initializationExpression":{"assignments":[74650],"declarations":[{"constant":false,"id":74650,"mutability":"mutable","name":"i","nameLocation":"32954:1:111","nodeType":"VariableDeclaration","scope":74919,"src":"32946:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74649,"name":"uint256","nodeType":"ElementaryTypeName","src":"32946:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74652,"initialValue":{"hexValue":"30","id":74651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32958:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32946:13:111"},"loopExpression":{"expression":{"id":74658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32990:3:111","subExpression":{"id":74657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"32990:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74659,"nodeType":"ExpressionStatement","src":"32990:3:111"},"nodeType":"ForStatement","src":"32941:3319:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"32796:11:111","parameters":{"id":74641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74636,"mutability":"mutable","name":"_sender","nameLocation":"32816:7:111","nodeType":"VariableDeclaration","scope":74921,"src":"32808:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74635,"name":"address","nodeType":"ElementaryTypeName","src":"32808:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74640,"mutability":"mutable","name":"_proposalSupport","nameLocation":"32865:16:111","nodeType":"VariableDeclaration","scope":74921,"src":"32825:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74638,"nodeType":"UserDefinedTypeName","pathNode":{"id":74637,"name":"StrategyStruct.ProposalSupport","nameLocations":["32825:14:111","32840:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"32825:30:111"},"referencedDeclaration":72516,"src":"32825:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74639,"nodeType":"ArrayTypeName","src":"32825:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"32807:75:111"},"returnParameters":{"id":74642,"nodeType":"ParameterList","parameters":[],"src":"32892:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74956,"nodeType":"FunctionDefinition","src":"36272:276:111","nodes":[],"body":{"id":74955,"nodeType":"Block","src":"36358:190:111","nodes":[],"statements":[{"assignments":[74931],"declarations":[{"constant":false,"id":74931,"mutability":"mutable","name":"result","nameLocation":"36375:6:111","nodeType":"VariableDeclaration","scope":74955,"src":"36368:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74930,"name":"int256","nodeType":"ElementaryTypeName","src":"36368:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74938,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":74934,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74923,"src":"36391:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36384:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":74932,"name":"int256","nodeType":"ElementaryTypeName","src":"36384:6:111","typeDescriptions":{}}},"id":74935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36384:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74936,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74925,"src":"36403:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"36384:25:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"36368:41:111"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74939,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"36424:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":74940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36433:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"36424:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74949,"nodeType":"IfStatement","src":"36420:90:111","trueBody":{"id":74948,"nodeType":"Block","src":"36436:74:111","statements":[{"errorCall":{"arguments":[{"id":74943,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74923,"src":"36474:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74944,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74925,"src":"36484:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":74945,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"36492:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74942,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72603,"src":"36457:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":74946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36457:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74947,"nodeType":"RevertStatement","src":"36450:49:111"}]}},{"expression":{"arguments":[{"id":74952,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"36534:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36526:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":74950,"name":"uint256","nodeType":"ElementaryTypeName","src":"36526:7:111","typeDescriptions":{}}},"id":74953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36526:15:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74929,"id":74954,"nodeType":"Return","src":"36519:22:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"36281:11:111","parameters":{"id":74926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74923,"mutability":"mutable","name":"_support","nameLocation":"36301:8:111","nodeType":"VariableDeclaration","scope":74956,"src":"36293:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74922,"name":"uint256","nodeType":"ElementaryTypeName","src":"36293:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74925,"mutability":"mutable","name":"_delta","nameLocation":"36318:6:111","nodeType":"VariableDeclaration","scope":74956,"src":"36311:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74924,"name":"int256","nodeType":"ElementaryTypeName","src":"36311:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"36292:33:111"},"returnParameters":{"id":74929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74956,"src":"36349:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74927,"name":"uint256","nodeType":"ElementaryTypeName","src":"36349:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36348:9:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75014,"nodeType":"FunctionDefinition","src":"36965:1175:111","nodes":[],"body":{"id":75013,"nodeType":"Block","src":"37112:1028:111","nodes":[],"statements":[{"assignments":[74969],"declarations":[{"constant":false,"id":74969,"mutability":"mutable","name":"t","nameLocation":"37130:1:111","nodeType":"VariableDeclaration","scope":75013,"src":"37122:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74968,"name":"uint256","nodeType":"ElementaryTypeName","src":"37122:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74971,"initialValue":{"id":74970,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74959,"src":"37134:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37122:23:111"},{"assignments":[74973],"declarations":[{"constant":false,"id":74973,"mutability":"mutable","name":"atTWO_128","nameLocation":"37468:9:111","nodeType":"VariableDeclaration","scope":75013,"src":"37460:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74972,"name":"uint256","nodeType":"ElementaryTypeName","src":"37460:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74984,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74975,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"37486:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37495:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"37486:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":74977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37504:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37486:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74979,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37485:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74980,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"37511:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37485:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74982,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74969,"src":"37514:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74974,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75207,"src":"37480:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":74983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37480:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37460:56:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74985,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74973,"src":"38012:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74986,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74961,"src":"38024:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38012:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74988,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38011:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74989,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74963,"src":"38039:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74990,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"38052:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74992,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"38057:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74993,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74973,"src":"38067:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38057:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74995,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38056:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74997,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38038:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74998,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"38082:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":74999,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"38086:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38095:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"38086:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38082:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75002,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38081:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38038:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75004,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38037:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38011:91:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75006,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38010:93:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75007,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72778,"src":"38106:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38010:103:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75009,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38009:105:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38130:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38009:124:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74967,"id":75012,"nodeType":"Return","src":"38002:131:111"}]},"documentation":{"id":74957,"nodeType":"StructuredDocumentation","src":"36554:406:111","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"36974:19:111","parameters":{"id":74964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74959,"mutability":"mutable","name":"_timePassed","nameLocation":"37002:11:111","nodeType":"VariableDeclaration","scope":75014,"src":"36994:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74958,"name":"uint256","nodeType":"ElementaryTypeName","src":"36994:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74961,"mutability":"mutable","name":"_lastConv","nameLocation":"37023:9:111","nodeType":"VariableDeclaration","scope":75014,"src":"37015:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74960,"name":"uint256","nodeType":"ElementaryTypeName","src":"37015:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74963,"mutability":"mutable","name":"_oldAmount","nameLocation":"37042:10:111","nodeType":"VariableDeclaration","scope":75014,"src":"37034:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74962,"name":"uint256","nodeType":"ElementaryTypeName","src":"37034:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36993:60:111"},"returnParameters":{"id":74967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75014,"src":"37099:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74965,"name":"uint256","nodeType":"ElementaryTypeName","src":"37099:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37098:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75107,"nodeType":"FunctionDefinition","src":"38721:1541:111","nodes":[],"body":{"id":75106,"nodeType":"Block","src":"38816:1446:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75022,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"38950:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":75023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38964:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38950:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75029,"nodeType":"IfStatement","src":"38946:66:111","trueBody":{"id":75028,"nodeType":"Block","src":"38967:45:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75025,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72581,"src":"38988:11:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38988:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75027,"nodeType":"RevertStatement","src":"38981:20:111"}]}},{"condition":{"arguments":[{"id":75031,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"39468:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75030,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"39452:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":75032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39452:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75037,"nodeType":"IfStatement","src":"39448:91:111","trueBody":{"id":75036,"nodeType":"Block","src":"39487:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75033,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72589,"src":"39508:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39508:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75035,"nodeType":"RevertStatement","src":"39501:27:111"}]}},{"assignments":[75039],"declarations":[{"constant":false,"id":75039,"mutability":"mutable","name":"denom","nameLocation":"39695:5:111","nodeType":"VariableDeclaration","scope":75106,"src":"39687:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75038,"name":"uint256","nodeType":"ElementaryTypeName","src":"39687:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75058,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75040,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"39704:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39713:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72535,"src":"39704:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":75044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":75042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39724:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":75043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39729:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39724:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39704:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75046,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39703:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75047,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39735:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39703:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75049,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"39740:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":75052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":75050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39759:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":75051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39764:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39759:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39740:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75054,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39739:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75055,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"39770:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39739:41:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39703:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39687:93:111"},{"expression":{"id":75093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75059,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"39790:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75060,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"39822:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39831:6:111","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":72537,"src":"39822:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":75062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39841:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39822:22:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75064,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39821:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75065,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39848:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39821:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75067,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39820:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75068,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75039,"src":"39855:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75069,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75039,"src":"39863:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39855:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75071,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39854:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39873:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39854:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75074,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39853:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39820:56:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75076,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39819:58:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75077,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39880:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39819:62:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75079,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39818:64:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75080,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39886:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75081,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"39890:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39899:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"39890:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39886:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39885:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39818:87:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39817:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":75087,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75215,"src":"39925:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":75088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39925:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39817:136:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39803:160:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39967:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39803:166:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39790:179:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75094,"nodeType":"ExpressionStatement","src":"39790:179:111"},{"expression":{"id":75104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75095,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"40159:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75096,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"40172:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75097,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"40185:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40194:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72541,"src":"40185:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40172:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":75101,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"40228:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40237:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72541,"src":"40228:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"40172:83:111","trueExpression":{"id":75100,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"40215:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40159:96:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75105,"nodeType":"ExpressionStatement","src":"40159:96:111"}]},"documentation":{"id":75015,"nodeType":"StructuredDocumentation","src":"38146:570:111","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"38730:18:111","parameters":{"id":75018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75017,"mutability":"mutable","name":"_requestedAmount","nameLocation":"38757:16:111","nodeType":"VariableDeclaration","scope":75107,"src":"38749:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75016,"name":"uint256","nodeType":"ElementaryTypeName","src":"38749:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38748:26:111"},"returnParameters":{"id":75021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75020,"mutability":"mutable","name":"_threshold","nameLocation":"38804:10:111","nodeType":"VariableDeclaration","scope":75107,"src":"38796:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75019,"name":"uint256","nodeType":"ElementaryTypeName","src":"38796:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38795:20:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75142,"nodeType":"FunctionDefinition","src":"40523:269:111","nodes":[],"body":{"id":75141,"nodeType":"Block","src":"40601:191:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75118,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75110,"src":"40619:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75119,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"40625:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40619:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":75121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40634:42:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":75117,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40611:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40611:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75123,"nodeType":"ExpressionStatement","src":"40611:66:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75125,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75112,"src":"40695:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75126,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"40700:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40695:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":75128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40709:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":75124,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40687:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40687:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75130,"nodeType":"ExpressionStatement","src":"40687:53:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75131,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75110,"src":"40759:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75132,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75112,"src":"40764:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40759:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75134,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40758:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75135,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72778,"src":"40770:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40758:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75137,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40757:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40782:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40757:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75116,"id":75140,"nodeType":"Return","src":"40750:35:111"}]},"documentation":{"id":75108,"nodeType":"StructuredDocumentation","src":"40268:250:111","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"40532:4:111","parameters":{"id":75113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75110,"mutability":"mutable","name":"_a","nameLocation":"40545:2:111","nodeType":"VariableDeclaration","scope":75142,"src":"40537:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75109,"name":"uint256","nodeType":"ElementaryTypeName","src":"40537:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75112,"mutability":"mutable","name":"_b","nameLocation":"40557:2:111","nodeType":"VariableDeclaration","scope":75142,"src":"40549:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75111,"name":"uint256","nodeType":"ElementaryTypeName","src":"40549:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40536:24:111"},"returnParameters":{"id":75116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75115,"mutability":"mutable","name":"_result","nameLocation":"40592:7:111","nodeType":"VariableDeclaration","scope":75142,"src":"40584:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75114,"name":"uint256","nodeType":"ElementaryTypeName","src":"40584:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40583:17:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75207,"nodeType":"FunctionDefinition","src":"41014:447:111","nodes":[],"body":{"id":75206,"nodeType":"Block","src":"41092:369:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75153,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75145,"src":"41110:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75154,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"41115:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41110:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":75156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41124:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":75152,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41102:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41102:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75158,"nodeType":"ExpressionStatement","src":"41102:53:111"},{"assignments":[75160],"declarations":[{"constant":false,"id":75160,"mutability":"mutable","name":"a","nameLocation":"41173:1:111","nodeType":"VariableDeclaration","scope":75206,"src":"41165:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75159,"name":"uint256","nodeType":"ElementaryTypeName","src":"41165:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75162,"initialValue":{"id":75161,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75145,"src":"41177:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41165:14:111"},{"assignments":[75164],"declarations":[{"constant":false,"id":75164,"mutability":"mutable","name":"b","nameLocation":"41197:1:111","nodeType":"VariableDeclaration","scope":75206,"src":"41189:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75163,"name":"uint256","nodeType":"ElementaryTypeName","src":"41189:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75166,"initialValue":{"id":75165,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"41201:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41189:14:111"},{"expression":{"id":75169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75167,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75150,"src":"41213:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75168,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"41223:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41213:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75170,"nodeType":"ExpressionStatement","src":"41213:17:111"},{"body":{"id":75204,"nodeType":"Block","src":"41254:201:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75174,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41272:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":75175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41276:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41272:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41281:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41272:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75202,"nodeType":"Block","src":"41362:83:111","statements":[{"expression":{"id":75196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75191,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75150,"src":"41380:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75193,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75150,"src":"41395:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75194,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41404:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75192,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75142,"src":"41390:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41390:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41380:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75197,"nodeType":"ExpressionStatement","src":"41380:26:111"},{"expression":{"id":75200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75198,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41424:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":75199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41429:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41424:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75201,"nodeType":"ExpressionStatement","src":"41424:6:111"}]},"id":75203,"nodeType":"IfStatement","src":"41268:177:111","trueBody":{"id":75190,"nodeType":"Block","src":"41284:72:111","statements":[{"expression":{"id":75184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75179,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41302:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75181,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41311:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75182,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41314:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75180,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75142,"src":"41306:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41306:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41302:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75185,"nodeType":"ExpressionStatement","src":"41302:14:111"},{"expression":{"id":75188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75186,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41334:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":75187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41340:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41334:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75189,"nodeType":"ExpressionStatement","src":"41334:7:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75171,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41247:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41251:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41247:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75205,"nodeType":"WhileStatement","src":"41240:215:111"}]},"documentation":{"id":75143,"nodeType":"StructuredDocumentation","src":"40798:211:111","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"41023:4:111","parameters":{"id":75148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75145,"mutability":"mutable","name":"_a","nameLocation":"41036:2:111","nodeType":"VariableDeclaration","scope":75207,"src":"41028:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75144,"name":"uint256","nodeType":"ElementaryTypeName","src":"41028:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75147,"mutability":"mutable","name":"_b","nameLocation":"41048:2:111","nodeType":"VariableDeclaration","scope":75207,"src":"41040:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75146,"name":"uint256","nodeType":"ElementaryTypeName","src":"41040:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41027:24:111"},"returnParameters":{"id":75151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75150,"mutability":"mutable","name":"_result","nameLocation":"41083:7:111","nodeType":"VariableDeclaration","scope":75207,"src":"41075:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75149,"name":"uint256","nodeType":"ElementaryTypeName","src":"41075:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41074:17:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75215,"nodeType":"FunctionDefinition","src":"41467:112:111","nodes":[],"body":{"id":75214,"nodeType":"Block","src":"41535:44:111","nodes":[],"statements":[{"expression":{"id":75212,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"41552:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75211,"id":75213,"nodeType":"Return","src":"41545:27:111"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"41476:26:111","parameters":{"id":75208,"nodeType":"ParameterList","parameters":[],"src":"41502:2:111"},"returnParameters":{"id":75211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75215,"src":"41526:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75209,"name":"uint256","nodeType":"ElementaryTypeName","src":"41526:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41525:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75256,"nodeType":"FunctionDefinition","src":"41769:396:111","nodes":[],"body":{"id":75255,"nodeType":"Block","src":"41877:288:111","nodes":[],"statements":[{"assignments":[75225,75227],"declarations":[{"constant":false,"id":75225,"mutability":"mutable","name":"conviction","nameLocation":"41896:10:111","nodeType":"VariableDeclaration","scope":75255,"src":"41888:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75224,"name":"uint256","nodeType":"ElementaryTypeName","src":"41888:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75227,"mutability":"mutable","name":"blockNumber","nameLocation":"41916:11:111","nodeType":"VariableDeclaration","scope":75255,"src":"41908:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75226,"name":"uint256","nodeType":"ElementaryTypeName","src":"41908:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75232,"initialValue":{"arguments":[{"id":75229,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75219,"src":"41965:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":75230,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75221,"src":"41976:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75228,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75303,"src":"41931:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":75231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41931:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"41887:100:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75233,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75225,"src":"42001:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42015:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42001:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75236,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"42020:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42035:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42020:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"42001:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75242,"nodeType":"IfStatement","src":"41997:72:111","trueBody":{"id":75241,"nodeType":"Block","src":"42038:31:111","statements":[{"functionReturnParameters":75223,"id":75240,"nodeType":"Return","src":"42052:7:111"}]}},{"expression":{"id":75247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75243,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75219,"src":"42078:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42088:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42078:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75246,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"42100:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42078:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75248,"nodeType":"ExpressionStatement","src":"42078:33:111"},{"expression":{"id":75253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75249,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75219,"src":"42121:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42131:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"42121:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75252,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75225,"src":"42148:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42121:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75254,"nodeType":"ExpressionStatement","src":"42121:37:111"}]},"documentation":{"id":75216,"nodeType":"StructuredDocumentation","src":"41585:179:111","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"41778:26:111","parameters":{"id":75222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75219,"mutability":"mutable","name":"_proposal","nameLocation":"41837:9:111","nodeType":"VariableDeclaration","scope":75256,"src":"41805:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75218,"nodeType":"UserDefinedTypeName","pathNode":{"id":75217,"name":"StrategyStruct.Proposal","nameLocations":["41805:14:111","41820:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"41805:23:111"},"referencedDeclaration":72511,"src":"41805:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75221,"mutability":"mutable","name":"_oldStaked","nameLocation":"41856:10:111","nodeType":"VariableDeclaration","scope":75256,"src":"41848:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75220,"name":"uint256","nodeType":"ElementaryTypeName","src":"41848:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41804:63:111"},"returnParameters":{"id":75223,"nodeType":"ParameterList","parameters":[],"src":"41877:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75303,"nodeType":"FunctionDefinition","src":"42171:719:111","nodes":[],"body":{"id":75302,"nodeType":"Block","src":"42369:521:111","nodes":[],"statements":[{"expression":{"id":75271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75268,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42379:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75269,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"42393:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42399:6:111","memberName":"number","nodeType":"MemberAccess","src":"42393:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42379:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75272,"nodeType":"ExpressionStatement","src":"42379:26:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75274,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42422:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42432:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42422:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75276,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42445:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42422:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75273,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"42415:6:111","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":75278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42415:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75279,"nodeType":"ExpressionStatement","src":"42415:42:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75280,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42471:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42481:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42471:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75282,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42494:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42471:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75289,"nodeType":"IfStatement","src":"42467:173:111","trueBody":{"id":75288,"nodeType":"Block","src":"42507:133:111","statements":[{"expression":{"components":[{"hexValue":"30","id":75284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42595:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42598:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":75286,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"42594:6:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":75267,"id":75287,"nodeType":"Return","src":"42587:13:111"}]}},{"expression":{"id":75300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75290,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75264,"src":"42693:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75292,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42739:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75293,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42753:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42763:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42753:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42739:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75296,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42825:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42835:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"42825:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75298,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"42863:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75291,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"42706:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":75299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42706:177:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42693:190:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75301,"nodeType":"ExpressionStatement","src":"42693:190:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"42180:33:111","parameters":{"id":75262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75259,"mutability":"mutable","name":"_proposal","nameLocation":"42246:9:111","nodeType":"VariableDeclaration","scope":75303,"src":"42214:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75258,"nodeType":"UserDefinedTypeName","pathNode":{"id":75257,"name":"StrategyStruct.Proposal","nameLocations":["42214:14:111","42229:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"42214:23:111"},"referencedDeclaration":72511,"src":"42214:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75261,"mutability":"mutable","name":"_oldStaked","nameLocation":"42265:10:111","nodeType":"VariableDeclaration","scope":75303,"src":"42257:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75260,"name":"uint256","nodeType":"ElementaryTypeName","src":"42257:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42213:63:111"},"returnParameters":{"id":75267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75264,"mutability":"mutable","name":"conviction","nameLocation":"42332:10:111","nodeType":"VariableDeclaration","scope":75303,"src":"42324:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75263,"name":"uint256","nodeType":"ElementaryTypeName","src":"42324:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75266,"mutability":"mutable","name":"blockNumber","nameLocation":"42352:11:111","nodeType":"VariableDeclaration","scope":75303,"src":"42344:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75265,"name":"uint256","nodeType":"ElementaryTypeName","src":"42344:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42323:41:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75414,"nodeType":"FunctionDefinition","src":"42896:1464:111","nodes":[],"body":{"id":75413,"nodeType":"Block","src":"43051:1309:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75312,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43078:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43096:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"43078:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43120:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43112:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75314,"name":"address","nodeType":"ElementaryTypeName","src":"43112:7:111","typeDescriptions":{}}},"id":75317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43112:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43078:44:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75321,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43134:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43152:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43134:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43126:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75319,"name":"address","nodeType":"ElementaryTypeName","src":"43126:7:111","typeDescriptions":{}}},"id":75323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43126:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43175:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43167:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75324,"name":"address","nodeType":"ElementaryTypeName","src":"43167:7:111","typeDescriptions":{}}},"id":75327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43167:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43126:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43078:99:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75330,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43219:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43237:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"43219:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75332,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43253:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43270:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"43253:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43219:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},"id":75339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75335,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43310:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43328:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43310:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75337,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43342:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43359:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43342:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"src":"43310:59:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:150:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75341,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43397:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43415:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"43397:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75343,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43444:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43461:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"43444:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43397:89:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:267:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75347,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43514:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43532:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"43514:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75349,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43562:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43579:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"43562:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43514:91:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:386:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75353,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43633:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43651:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"43633:31:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75355,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43668:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43685:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"43668:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43633:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:479:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75359,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43726:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43744:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72532,"src":"43726:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75361,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43768:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75362,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43785:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72532,"src":"43768:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43726:79:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:586:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":75365,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43197:626:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43078:745:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75403,"nodeType":"IfStatement","src":"43061:1200:111","trueBody":{"id":75402,"nodeType":"Block","src":"43834:427:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":75369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75367,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72803,"src":"43852:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43868:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43852:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75374,"nodeType":"IfStatement","src":"43848:110:111","trueBody":{"id":75373,"nodeType":"Block","src":"43871:87:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75370,"name":"ArbitrationConfigCannotBeChangedDuringDispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72671,"src":"43896:45:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43896:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75372,"nodeType":"RevertStatement","src":"43889:54:111"}]}},{"expression":{"arguments":[{"expression":{"id":75380,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"44014:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44032:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"44014:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":75375,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43972:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43990:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43972:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"id":75379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44001:12:111","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":79665,"src":"43972:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":75382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43972:73:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75383,"nodeType":"ExpressionStatement","src":"43972:73:111"},{"eventCall":{"arguments":[{"arguments":[{"id":75387,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"44111:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":75386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44103:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75385,"name":"address","nodeType":"ElementaryTypeName","src":"44103:7:111","typeDescriptions":{}}},"id":75388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44103:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":75391,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"44126:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44143:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"44126:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44118:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75389,"name":"address","nodeType":"ElementaryTypeName","src":"44118:7:111","typeDescriptions":{}}},"id":75393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44118:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75394,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"44156:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44173:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"44156:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":75384,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72769,"src":"44064:21:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":75396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44064:135:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75397,"nodeType":"EmitStatement","src":"44059:140:111"},{"expression":{"id":75400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75398,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"44214:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75399,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"44233:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"44214:36:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75401,"nodeType":"ExpressionStatement","src":"44214:36:111"}]}},{"expression":{"id":75406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75404,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"44271:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75405,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75309,"src":"44282:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"44271:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75407,"nodeType":"ExpressionStatement","src":"44271:20:111"},{"eventCall":{"arguments":[{"id":75409,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75309,"src":"44324:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"id":75410,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"44335:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":75408,"name":"PoolParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"44306:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$72542_memory_ptr_$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory,struct StrategyStruct.ArbitrableConfig memory)"}},"id":75411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44306:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75412,"nodeType":"EmitStatement","src":"44301:52:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"42905:14:111","parameters":{"id":75310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75306,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"42968:17:111","nodeType":"VariableDeclaration","scope":75414,"src":"42929:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75305,"nodeType":"UserDefinedTypeName","pathNode":{"id":75304,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["42929:14:111","42944:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"42929:31:111"},"referencedDeclaration":72533,"src":"42929:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75309,"mutability":"mutable","name":"_cvParams","nameLocation":"43026:9:111","nodeType":"VariableDeclaration","scope":75414,"src":"42995:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75308,"nodeType":"UserDefinedTypeName","pathNode":{"id":75307,"name":"StrategyStruct.CVParams","nameLocations":["42995:14:111","43010:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"42995:23:111"},"referencedDeclaration":72542,"src":"42995:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"42919:122:111"},"returnParameters":{"id":75311,"nodeType":"ParameterList","parameters":[],"src":"43051:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75450,"nodeType":"FunctionDefinition","src":"44366:631:111","nodes":[],"body":{"id":75449,"nodeType":"Block","src":"44445:552:111","nodes":[],"statements":[{"assignments":[75425],"declarations":[{"constant":false,"id":75425,"mutability":"mutable","name":"proposal","nameLocation":"44487:8:111","nodeType":"VariableDeclaration","scope":75449,"src":"44455:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75424,"nodeType":"UserDefinedTypeName","pathNode":{"id":75423,"name":"StrategyStruct.Proposal","nameLocations":["44455:14:111","44470:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"44455:23:111"},"referencedDeclaration":72511,"src":"44455:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75429,"initialValue":{"baseExpression":{"id":75426,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"44498:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75428,"indexExpression":{"id":75427,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75416,"src":"44508:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44498:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"44455:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44534:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44543:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"44534:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75432,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75416,"src":"44557:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44534:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75439,"nodeType":"IfStatement","src":"44530:100:111","trueBody":{"id":75438,"nodeType":"Block","src":"44569:61:111","statements":[{"errorCall":{"arguments":[{"id":75435,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75416,"src":"44608:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75434,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"44590:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44590:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75437,"nodeType":"RevertStatement","src":"44583:36:111"}]}},{"expression":{"arguments":[{"id":75441,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44918:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":75442,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44928:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44937:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"44928:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75440,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"44891:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":75444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44891:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75445,"nodeType":"ExpressionStatement","src":"44891:59:111"},{"expression":{"expression":{"id":75446,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44967:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75447,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44976:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"44967:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75420,"id":75448,"nodeType":"Return","src":"44960:30:111"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"44375:24:111","parameters":{"id":75417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75416,"mutability":"mutable","name":"proposalId","nameLocation":"44408:10:111","nodeType":"VariableDeclaration","scope":75450,"src":"44400:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75415,"name":"uint256","nodeType":"ElementaryTypeName","src":"44400:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44399:20:111"},"returnParameters":{"id":75420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75419,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75450,"src":"44436:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75418,"name":"uint256","nodeType":"ElementaryTypeName","src":"44436:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44435:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75470,"nodeType":"FunctionDefinition","src":"45003:133:111","nodes":[],"body":{"id":75469,"nodeType":"Block","src":"45075:61:111","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75457,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"45094:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75458,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"45103:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45094:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75460,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45093:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75461,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"45109:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75462,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"45113:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45122:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"45113:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45109:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75465,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45108:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45093:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75467,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45092:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75456,"id":75468,"nodeType":"Return","src":"45085:44:111"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"45012:16:111","parameters":{"id":75453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75452,"mutability":"mutable","name":"amount","nameLocation":"45037:6:111","nodeType":"VariableDeclaration","scope":75470,"src":"45029:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75451,"name":"uint256","nodeType":"ElementaryTypeName","src":"45029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45028:16:111"},"returnParameters":{"id":75456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75470,"src":"45066:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75454,"name":"uint256","nodeType":"ElementaryTypeName","src":"45066:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45065:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75490,"nodeType":"FunctionDefinition","src":"45142:223:111","nodes":[],"body":{"id":75489,"nodeType":"Block","src":"45237:128:111","nodes":[],"statements":[{"expression":{"id":75483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75479,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"45247:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75481,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75472,"src":"45289:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75480,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"45267:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78776_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":75482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45267:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"src":"45247:61:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":75484,"nodeType":"ExpressionStatement","src":"45247:61:111"},{"eventCall":{"arguments":[{"id":75486,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75472,"src":"45339:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75485,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72740,"src":"45323:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45323:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75488,"nodeType":"EmitStatement","src":"45318:40:111"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":75475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"45225:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45229:6:111","memberName":"sender","nodeType":"MemberAccess","src":"45225:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":75477,"kind":"modifierInvocation","modifierName":{"id":75474,"name":"onlyPoolManager","nameLocations":["45209:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":71837,"src":"45209:15:111"},"nodeType":"ModifierInvocation","src":"45209:27:111"}],"name":"setRegistryCommunity","nameLocation":"45151:20:111","parameters":{"id":75473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75472,"mutability":"mutable","name":"_registryCommunity","nameLocation":"45180:18:111","nodeType":"VariableDeclaration","scope":75490,"src":"45172:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75471,"name":"address","nodeType":"ElementaryTypeName","src":"45172:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45171:28:111"},"returnParameters":{"id":75478,"nodeType":"ParameterList","parameters":[],"src":"45237:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75509,"nodeType":"FunctionDefinition","src":"45371:181:111","nodes":[],"body":{"id":75508,"nodeType":"Block","src":"45426:126:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75495,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73092,"src":"45436:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45436:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75497,"nodeType":"ExpressionStatement","src":"45436:17:111"},{"expression":{"arguments":[{"id":75499,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75492,"src":"45482:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75498,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"45463:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":75500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45463:32:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75501,"nodeType":"ExpressionStatement","src":"45463:32:111"},{"expression":{"id":75506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75502,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"45505:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75504,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75492,"src":"45532:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75503,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"45519:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76330_$","typeString":"type(contract ISybilScorer)"}},"id":75505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45519:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"src":"45505:40:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"id":75507,"nodeType":"ExpressionStatement","src":"45505:40:111"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"45380:14:111","parameters":{"id":75493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75492,"mutability":"mutable","name":"_sybilScorer","nameLocation":"45403:12:111","nodeType":"VariableDeclaration","scope":75509,"src":"45395:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75491,"name":"address","nodeType":"ElementaryTypeName","src":"45395:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45394:22:111"},"returnParameters":{"id":75494,"nodeType":"ParameterList","parameters":[],"src":"45426:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75527,"nodeType":"FunctionDefinition","src":"45558:242:111","nodes":[],"body":{"id":75526,"nodeType":"Block","src":"45712:88:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75518,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73092,"src":"45722:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45722:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75520,"nodeType":"ExpressionStatement","src":"45722:17:111"},{"expression":{"arguments":[{"id":75522,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75512,"src":"45764:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":75523,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75515,"src":"45783:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":75521,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75414,"src":"45749:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$_t_struct$_CVParams_$72542_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":75524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45749:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75525,"nodeType":"ExpressionStatement","src":"45749:44:111"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"45567:13:111","parameters":{"id":75516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75512,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"45629:17:111","nodeType":"VariableDeclaration","scope":75527,"src":"45590:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75511,"nodeType":"UserDefinedTypeName","pathNode":{"id":75510,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["45590:14:111","45605:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"45590:31:111"},"referencedDeclaration":72533,"src":"45590:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75515,"mutability":"mutable","name":"_cvParams","nameLocation":"45687:9:111","nodeType":"VariableDeclaration","scope":75527,"src":"45656:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75514,"nodeType":"UserDefinedTypeName","pathNode":{"id":75513,"name":"StrategyStruct.CVParams","nameLocations":["45656:14:111","45671:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"45656:23:111"},"referencedDeclaration":72542,"src":"45656:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"45580:122:111"},"returnParameters":{"id":75517,"nodeType":"ParameterList","parameters":[],"src":"45712:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75710,"nodeType":"FunctionDefinition","src":"45806:2270:111","nodes":[],"body":{"id":75709,"nodeType":"Block","src":"45976:2100:111","nodes":[],"statements":[{"assignments":[75542],"declarations":[{"constant":false,"id":75542,"mutability":"mutable","name":"proposal","nameLocation":"46018:8:111","nodeType":"VariableDeclaration","scope":75709,"src":"45986:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75541,"nodeType":"UserDefinedTypeName","pathNode":{"id":75540,"name":"StrategyStruct.Proposal","nameLocations":["45986:14:111","46001:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"45986:23:111"},"referencedDeclaration":72511,"src":"45986:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75546,"initialValue":{"baseExpression":{"id":75543,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"46029:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75545,"indexExpression":{"id":75544,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46039:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46029:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"45986:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75549,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"46073:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46090:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"46073:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46065:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75547,"name":"address","nodeType":"ElementaryTypeName","src":"46065:7:111","typeDescriptions":{}}},"id":75551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46065:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46113:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46105:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75552,"name":"address","nodeType":"ElementaryTypeName","src":"46105:7:111","typeDescriptions":{}}},"id":75555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46105:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46065:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75561,"nodeType":"IfStatement","src":"46061:112:111","trueBody":{"id":75560,"nodeType":"Block","src":"46117:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75557,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72661,"src":"46138:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46138:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75559,"nodeType":"RevertStatement","src":"46131:31:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75562,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46350:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75563,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46359:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"46350:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75564,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46373:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46350:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75571,"nodeType":"IfStatement","src":"46346:100:111","trueBody":{"id":75570,"nodeType":"Block","src":"46385:61:111","statements":[{"errorCall":{"arguments":[{"id":75567,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46424:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75566,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"46406:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46406:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75569,"nodeType":"RevertStatement","src":"46399:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"id":75577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75572,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46459:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46468:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"46459:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75574,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"46486:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46501:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"46486:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46516:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"46486:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"46459:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75583,"nodeType":"IfStatement","src":"46455:130:111","trueBody":{"id":75582,"nodeType":"Block","src":"46524:61:111","statements":[{"errorCall":{"arguments":[{"id":75579,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46563:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75578,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72621,"src":"46545:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46545:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75581,"nodeType":"RevertStatement","src":"46538:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75584,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46598:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46602:5:111","memberName":"value","nodeType":"MemberAccess","src":"46598:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75586,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"46610:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75587,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46627:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"46610:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46598:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75597,"nodeType":"IfStatement","src":"46594:171:111","trueBody":{"id":75596,"nodeType":"Block","src":"46655:110:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":75590,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46699:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46703:5:111","memberName":"value","nodeType":"MemberAccess","src":"46699:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75592,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"46710:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46727:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"46710:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75589,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72653,"src":"46676:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46676:78:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75595,"nodeType":"RevertStatement","src":"46669:85:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75598,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46884:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46893:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"46884:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46918:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"46884:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75602,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46939:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46948:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"46939:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75604,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"46972:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46939:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75606,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"46995:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47001:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"46995:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46939:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46884:126:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75622,"nodeType":"IfStatement","src":"46867:325:111","trueBody":{"id":75621,"nodeType":"Block","src":"47021:171:111","statements":[{"errorCall":{"arguments":[{"id":75611,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47084:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75612,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47096:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47105:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"47096:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75614,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"47129:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47096:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75616,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47152:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47158:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47152:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47096:71:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75610,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72669,"src":"47042:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47042:139:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75620,"nodeType":"RevertStatement","src":"47035:146:111"}]}},{"assignments":[75624],"declarations":[{"constant":false,"id":75624,"mutability":"mutable","name":"arbitrationFee","nameLocation":"47210:14:111","nodeType":"VariableDeclaration","scope":75709,"src":"47202:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75623,"name":"uint256","nodeType":"ElementaryTypeName","src":"47202:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75630,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75625,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47227:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47231:5:111","memberName":"value","nodeType":"MemberAccess","src":"47227:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75627,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47239:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47256:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"47239:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47227:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47202:80:111"},{"expression":{"arguments":[{"id":75637,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47379:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75638,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47391:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47395:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47391:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75631,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"47293:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47309:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79678,"src":"47293:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":75636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":75634,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47334:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47351:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"47334:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47293:85:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":75640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47293:109:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75641,"nodeType":"ExpressionStatement","src":"47293:109:111"},{"expression":{"id":75651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75642,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47413:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75648,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72787,"src":"47490:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75649,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"47506:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":75643,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47425:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75644,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47442:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"47425:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"id":75645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47453:13:111","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":79613,"src":"47425:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":75646,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75624,"src":"47474:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47425:64:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47425:92:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47413:104:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75652,"nodeType":"ExpressionStatement","src":"47413:104:111"},{"expression":{"id":75659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75653,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47528:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47537:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"47528:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75656,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"47554:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47569:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"47554:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47584:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"47554:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"47528:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75660,"nodeType":"ExpressionStatement","src":"47528:64:111"},{"expression":{"id":75667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75661,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47602:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47611:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"47602:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47623:9:111","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"47602:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75666,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47635:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47602:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75668,"nodeType":"ExpressionStatement","src":"47602:42:111"},{"expression":{"id":75676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75669,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47654:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47663:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"47654:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47675:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72474,"src":"47654:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75674,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47694:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47700:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47694:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47654:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75677,"nodeType":"ExpressionStatement","src":"47654:55:111"},{"expression":{"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75678,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47719:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47728:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"47719:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47740:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"47719:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75683,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47753:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47757:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47753:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"47719:44:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75686,"nodeType":"ExpressionStatement","src":"47719:44:111"},{"expression":{"id":75691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75687,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72852,"src":"47773:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75689,"indexExpression":{"id":75688,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47795:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"47773:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75690,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47808:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47773:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75692,"nodeType":"ExpressionStatement","src":"47773:45:111"},{"expression":{"id":75694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"47829:14:111","subExpression":{"id":75693,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72803,"src":"47829:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75695,"nodeType":"ExpressionStatement","src":"47829:14:111"},{"eventCall":{"arguments":[{"expression":{"id":75697,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47889:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47906:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"47889:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},{"id":75699,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47930:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75700,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47954:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47977:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47981:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47977:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75703,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75531,"src":"48001:7:111","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":75704,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"48022:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48031:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"48022:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48043:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72474,"src":"48022:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75696,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72761,"src":"47859:16:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79666_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":75707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47859:210:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75708,"nodeType":"EmitStatement","src":"47854:215:111"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"45815:15:111","parameters":{"id":75534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75529,"mutability":"mutable","name":"proposalId","nameLocation":"45839:10:111","nodeType":"VariableDeclaration","scope":75710,"src":"45831:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75528,"name":"uint256","nodeType":"ElementaryTypeName","src":"45831:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75531,"mutability":"mutable","name":"context","nameLocation":"45867:7:111","nodeType":"VariableDeclaration","scope":75710,"src":"45851:23:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":75530,"name":"string","nodeType":"ElementaryTypeName","src":"45851:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":75533,"mutability":"mutable","name":"_extraData","nameLocation":"45891:10:111","nodeType":"VariableDeclaration","scope":75710,"src":"45876:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":75532,"name":"bytes","nodeType":"ElementaryTypeName","src":"45876:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45830:72:111"},"returnParameters":{"id":75537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75536,"mutability":"mutable","name":"disputeId","nameLocation":"45961:9:111","nodeType":"VariableDeclaration","scope":75710,"src":"45953:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75535,"name":"uint256","nodeType":"ElementaryTypeName","src":"45953:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45952:19:111"},"scope":75969,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75955,"nodeType":"FunctionDefinition","src":"48082:2798:111","nodes":[],"body":{"id":75954,"nodeType":"Block","src":"48151:2729:111","nodes":[],"statements":[{"assignments":[75719],"declarations":[{"constant":false,"id":75719,"mutability":"mutable","name":"proposalId","nameLocation":"48169:10:111","nodeType":"VariableDeclaration","scope":75954,"src":"48161:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75718,"name":"uint256","nodeType":"ElementaryTypeName","src":"48161:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75723,"initialValue":{"baseExpression":{"id":75720,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72852,"src":"48182:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75722,"indexExpression":{"id":75721,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75712,"src":"48204:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48182:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"48161:54:111"},{"assignments":[75728],"declarations":[{"constant":false,"id":75728,"mutability":"mutable","name":"proposal","nameLocation":"48257:8:111","nodeType":"VariableDeclaration","scope":75954,"src":"48225:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75727,"nodeType":"UserDefinedTypeName","pathNode":{"id":75726,"name":"StrategyStruct.Proposal","nameLocations":["48225:14:111","48240:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"48225:23:111"},"referencedDeclaration":72511,"src":"48225:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75732,"initialValue":{"baseExpression":{"id":75729,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"48268:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75731,"indexExpression":{"id":75730,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48278:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48268:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48225:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75733,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48304:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48318:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48304:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75741,"nodeType":"IfStatement","src":"48300:82:111","trueBody":{"id":75740,"nodeType":"Block","src":"48321:61:111","statements":[{"errorCall":{"arguments":[{"id":75737,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48360:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75736,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"48342:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48342:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75739,"nodeType":"RevertStatement","src":"48335:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"id":75747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75742,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"48395:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48404:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"48395:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75744,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"48422:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48437:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"48422:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48452:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"48422:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"48395:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75753,"nodeType":"IfStatement","src":"48391:134:111","trueBody":{"id":75752,"nodeType":"Block","src":"48462:63:111","statements":[{"errorCall":{"arguments":[{"id":75749,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48503:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75748,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72659,"src":"48483:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48483:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75751,"nodeType":"RevertStatement","src":"48476:38:111"}]}},{"assignments":[75755],"declarations":[{"constant":false,"id":75755,"mutability":"mutable","name":"isTimeOut","nameLocation":"48540:9:111","nodeType":"VariableDeclaration","scope":75954,"src":"48535:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75754,"name":"bool","nodeType":"ElementaryTypeName","src":"48535:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75765,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75756,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"48552:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48558:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"48552:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75758,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"48570:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75759,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48579:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"48570:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75760,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48591:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72474,"src":"48570:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":75761,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48610:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48627:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72532,"src":"48610:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48570:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48552:95:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"48535:112:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"48662:10:111","subExpression":{"id":75766,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75755,"src":"48663:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75768,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48676:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48680:6:111","memberName":"sender","nodeType":"MemberAccess","src":"48676:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":75772,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48698:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48715:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"48698:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48690:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75770,"name":"address","nodeType":"ElementaryTypeName","src":"48690:7:111","typeDescriptions":{}}},"id":75774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48690:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"48676:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48662:64:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75781,"nodeType":"IfStatement","src":"48658:118:111","trueBody":{"id":75780,"nodeType":"Block","src":"48728:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75777,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72655,"src":"48749:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48749:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75779,"nodeType":"RevertStatement","src":"48742:23:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75782,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75755,"src":"48790:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75783,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"48803:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48814:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48803:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48790:25:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75847,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"49578:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49589:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"49578:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75876,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"49950:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49961:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49950:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75934,"nodeType":"IfStatement","src":"49946:774:111","trueBody":{"id":75933,"nodeType":"Block","src":"49964:756:111","statements":[{"expression":{"id":75885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49978:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49987:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49978:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75882,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"50004:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50019:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"50004:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50034:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72469,"src":"50004:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49978:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75886,"nodeType":"ExpressionStatement","src":"49978:64:111"},{"expression":{"arguments":[{"id":75890,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"50108:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75891,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50120:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50129:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50120:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75893,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50141:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"50120:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75894,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"50153:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50170:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"50153:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75887,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"50056:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50072:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"50056:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50056:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75897,"nodeType":"ExpressionStatement","src":"50056:154:111"},{"expression":{"arguments":[{"id":75901,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"50279:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75902,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50307:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50316:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"50307:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75906,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"50351:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":75907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50369:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77107,"src":"50351:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79792_$","typeString":"function () view external returns (contract ISafe)"}},"id":75908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50351:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":75905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50343:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75904,"name":"address","nodeType":"ElementaryTypeName","src":"50343:7:111","typeDescriptions":{}}},"id":75909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50343:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75910,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50401:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50410:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50401:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50422:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"50401:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50449:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50401:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75898,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"50224:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50240:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79698,"src":"50224:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50224:240:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75916,"nodeType":"ExpressionStatement","src":"50224:240:111"},{"expression":{"arguments":[{"id":75920,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"50533:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75921,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50561:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50570:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"50561:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75923,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50597:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50606:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50597:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50618:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"50597:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75926,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50646:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50655:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50646:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75928,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50667:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"50646:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50694:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50646:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75917,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"50478:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50494:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79698,"src":"50478:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50478:231:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75932,"nodeType":"ExpressionStatement","src":"50478:231:111"}]}},"id":75935,"nodeType":"IfStatement","src":"49574:1146:111","trueBody":{"id":75875,"nodeType":"Block","src":"49592:348:111","statements":[{"expression":{"id":75856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75850,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49606:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49615:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49606:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75853,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"49632:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49647:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49632:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49662:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"49632:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49606:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75857,"nodeType":"ExpressionStatement","src":"49606:62:111"},{"expression":{"arguments":[{"id":75861,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"49737:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75862,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49765:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75863,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49774:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"49765:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49786:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"49765:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75867,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"49822:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":75868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49840:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77107,"src":"49822:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79792_$","typeString":"function () view external returns (contract ISafe)"}},"id":75869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49822:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":75866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49814:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75865,"name":"address","nodeType":"ElementaryTypeName","src":"49814:7:111","typeDescriptions":{}}},"id":75870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49814:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75871,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"49872:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75872,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49889:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"49872:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75858,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"49682:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49698:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79698,"src":"49682:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49682:247:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75874,"nodeType":"ExpressionStatement","src":"49682:247:111"}]}},"id":75936,"nodeType":"IfStatement","src":"48786:1934:111","trueBody":{"id":75846,"nodeType":"Block","src":"48817:751:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75787,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48835:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75788,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48852:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"48835:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48869:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48835:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75795,"nodeType":"IfStatement","src":"48831:102:111","trueBody":{"id":75794,"nodeType":"Block","src":"48872:61:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75791,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72663,"src":"48897:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48897:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75793,"nodeType":"RevertStatement","src":"48890:28:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75796,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48950:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48967:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"48950:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48984:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"48950:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75809,"nodeType":"IfStatement","src":"48946:136:111","trueBody":{"id":75808,"nodeType":"Block","src":"48987:95:111","statements":[{"expression":{"id":75806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75800,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49005:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49014:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49005:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75803,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"49031:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49046:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49031:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49061:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"49031:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49005:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75807,"nodeType":"ExpressionStatement","src":"49005:62:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75810,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"49099:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49116:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"49099:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49133:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49099:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75823,"nodeType":"IfStatement","src":"49095:138:111","trueBody":{"id":75822,"nodeType":"Block","src":"49136:97:111","statements":[{"expression":{"id":75820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75814,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49154:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49163:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49154:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75817,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"49180:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49195:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49180:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49210:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72469,"src":"49180:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49154:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75821,"nodeType":"ExpressionStatement","src":"49154:64:111"}]}},{"expression":{"arguments":[{"id":75827,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"49298:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75828,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49310:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49319:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"49310:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49331:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"49310:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75831,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"49343:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49360:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"49343:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75824,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"49246:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49262:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"49246:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49246:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75834,"nodeType":"ExpressionStatement","src":"49246:154:111"},{"expression":{"arguments":[{"id":75838,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"49466:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75839,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49478:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75840,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49487:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"49478:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75841,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49498:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49507:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"49498:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49519:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"49498:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75835,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"49414:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49430:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"49414:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49414:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75845,"nodeType":"ExpressionStatement","src":"49414:143:111"}]}},{"expression":{"id":75938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"50730:14:111","subExpression":{"id":75937,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72803,"src":"50730:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75939,"nodeType":"ExpressionStatement","src":"50730:14:111"},{"expression":{"id":75945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75940,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50754:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50763:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"50754:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75943,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50787:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50793:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"50787:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50754:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75946,"nodeType":"ExpressionStatement","src":"50754:48:111"},{"eventCall":{"arguments":[{"expression":{"id":75948,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"50824:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50841:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"50824:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},{"id":75950,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75712,"src":"50853:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75951,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"50865:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75947,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79553,"src":"50817:6:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79666_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":75952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50817:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75953,"nodeType":"EmitStatement","src":"50812:61:111"}]},"baseFunctions":[79561],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"48091:4:111","overrides":{"id":75716,"nodeType":"OverrideSpecifier","overrides":[],"src":"48142:8:111"},"parameters":{"id":75715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75712,"mutability":"mutable","name":"_disputeID","nameLocation":"48104:10:111","nodeType":"VariableDeclaration","scope":75955,"src":"48096:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75711,"name":"uint256","nodeType":"ElementaryTypeName","src":"48096:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75714,"mutability":"mutable","name":"_ruling","nameLocation":"48124:7:111","nodeType":"VariableDeclaration","scope":75955,"src":"48116:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75713,"name":"uint256","nodeType":"ElementaryTypeName","src":"48116:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48095:37:111"},"returnParameters":{"id":75717,"nodeType":"ParameterList","parameters":[],"src":"48151:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75964,"nodeType":"FunctionDefinition","src":"50886:66:111","nodes":[],"body":{"id":75963,"nodeType":"Block","src":"50950:2:111","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":75961,"kind":"modifierInvocation","modifierName":{"id":75960,"name":"onlyOwner","nameLocations":["50940:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"50940:9:111"},"nodeType":"ModifierInvocation","src":"50940:9:111"}],"name":"_authorizeUpgrade","nameLocation":"50895:17:111","overrides":{"id":75959,"nodeType":"OverrideSpecifier","overrides":[],"src":"50931:8:111"},"parameters":{"id":75958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75964,"src":"50913:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75956,"name":"address","nodeType":"ElementaryTypeName","src":"50913:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50912:9:111"},"returnParameters":{"id":75962,"nodeType":"ParameterList","parameters":[],"src":"50950:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75968,"nodeType":"VariableDeclaration","src":"50958:25:111","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"50978:5:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":75965,"name":"uint256","nodeType":"ElementaryTypeName","src":"50958:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75967,"length":{"hexValue":"3530","id":75966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50966:2:111","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"50958:11:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":72564,"name":"OwnableUpgradeable","nameLocations":["4077:18:111"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"4077:18:111"},"id":72565,"nodeType":"InheritanceSpecifier","src":"4077:18:111"},{"baseName":{"id":72566,"name":"BaseStrategyUpgradeable","nameLocations":["4097:23:111"],"nodeType":"IdentifierPath","referencedDeclaration":72374,"src":"4097:23:111"},"id":72567,"nodeType":"InheritanceSpecifier","src":"4097:23:111"},{"baseName":{"id":72568,"name":"IArbitrable","nameLocations":["4122:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79562,"src":"4122:11:111"},"id":72569,"nodeType":"InheritanceSpecifier","src":"4122:11:111"},{"baseName":{"id":72570,"name":"IPointStrategy","nameLocations":["4135:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72441,"src":"4135:14:111"},"id":72571,"nodeType":"InheritanceSpecifier","src":"4135:14:111"},{"baseName":{"id":72572,"name":"ERC165","nameLocations":["4151:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":57806,"src":"4151:6:111"},"id":72573,"nodeType":"InheritanceSpecifier","src":"4151:6:111"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[75969,57806,58012,72441,79562,72374,3089,3317,3106,2969,55753,55406,55055,55065,52984,53777,53233],"name":"CVStrategyV0_0","nameLocation":"4059:14:111","scope":75970,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,72575,72577,72579,72581,72583,72585,72587,72589,72591,72593,72595,72603,72605,72607,72613,72615,72617,72621,72625,72631,72633,72635,72643,72645,72647,72653,72655,72659,72661,72663,72669,72671]}],"license":"AGPL-3.0-only"},"id":111}
\ No newline at end of file
diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json b/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json
index b9bd0a15c..311f0438d 100644
--- a/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json
+++ b/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUntake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","getPointSystem()":"c3292171","increasePower(address,uint256)":"782aadff"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc\",\"dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUntake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"IPointStrategy"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304","urls":["bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc","dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":75910,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[72314],"CVStrategyV0_0":[75909],"Clone":[3002],"ERC165":[57806],"ERC20":[56531],"IAllo":[2610],"IArbitrable":[79502],"IArbitrator":[79606],"ICollateralVault":[79639],"IERC165":[58012],"IPointStrategy":[72381],"ISybilScorer":[76270],"Math":[58878],"Metadata":[3098],"OwnableUpgradeable":[52984],"PassportData":[76188],"RegistryCommunityV0_0":[78716],"StrategyStruct":[72503],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"42:50910:111","nodes":[{"id":72316,"nodeType":"PragmaDirective","src":"42:24:111","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72318,"nodeType":"ImportDirective","src":"68:71:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":72317,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72321,"nodeType":"ImportDirective","src":"140:82:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":72319,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72320,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72323,"nodeType":"ImportDirective","src":"223:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":72322,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"231:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72326,"nodeType":"ImportDirective","src":"290:87:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":57807,"symbolAliases":[{"foreign":{"id":72324,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57806,"src":"298:6:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72325,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58012,"src":"306:7:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72328,"nodeType":"ImportDirective","src":"378:68:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":56532,"symbolAliases":[{"foreign":{"id":72327,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"386:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72330,"nodeType":"ImportDirective","src":"447:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":79607,"symbolAliases":[{"foreign":{"id":72329,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79606,"src":"455:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72332,"nodeType":"ImportDirective","src":"505:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":79503,"symbolAliases":[{"foreign":{"id":72331,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79502,"src":"513:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72334,"nodeType":"ImportDirective","src":"563:65:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":72333,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"571:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72336,"nodeType":"ImportDirective","src":"679:65:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":58879,"symbolAliases":[{"foreign":{"id":72335,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"687:4:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72339,"nodeType":"ImportDirective","src":"745:62:111","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":76271,"symbolAliases":[{"foreign":{"id":72337,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"753:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72338,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76188,"src":"767:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72341,"nodeType":"ImportDirective","src":"809:88:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":72340,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"817:15:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72343,"nodeType":"ImportDirective","src":"898:70:111","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":72315,"symbolAliases":[{"foreign":{"id":72342,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72314,"src":"906:23:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72345,"nodeType":"ImportDirective","src":"969:101:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":72344,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"977:18:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72347,"nodeType":"ImportDirective","src":"1071:67:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"./interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":79640,"symbolAliases":[{"foreign":{"id":72346,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79639,"src":"1079:16:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72349,"nodeType":"ImportDirective","src":"1139:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":72348,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"1147:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72351,"nodeType":"ImportDirective","src":"1205:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":72350,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"1213:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72381,"nodeType":"ContractDefinition","src":"1273:358:111","nodes":[{"id":72356,"nodeType":"FunctionDefinition","src":"1304:52:111","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1313:16:111","parameters":{"id":72354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72353,"mutability":"mutable","name":"_member","nameLocation":"1338:7:111","nodeType":"VariableDeclaration","scope":72356,"src":"1330:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72352,"name":"address","nodeType":"ElementaryTypeName","src":"1330:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1329:17:111"},"returnParameters":{"id":72355,"nodeType":"ParameterList","parameters":[],"src":"1355:0:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72365,"nodeType":"FunctionDefinition","src":"1362:91:111","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1371:13:111","parameters":{"id":72361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72358,"mutability":"mutable","name":"_member","nameLocation":"1393:7:111","nodeType":"VariableDeclaration","scope":72365,"src":"1385:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72357,"name":"address","nodeType":"ElementaryTypeName","src":"1385:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72360,"mutability":"mutable","name":"_amountToStake","nameLocation":"1410:14:111","nodeType":"VariableDeclaration","scope":72365,"src":"1402:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72359,"name":"uint256","nodeType":"ElementaryTypeName","src":"1402:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1384:41:111"},"returnParameters":{"id":72364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72365,"src":"1444:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72362,"name":"uint256","nodeType":"ElementaryTypeName","src":"1444:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1443:9:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72374,"nodeType":"FunctionDefinition","src":"1459:92:111","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1468:13:111","parameters":{"id":72370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72367,"mutability":"mutable","name":"_member","nameLocation":"1490:7:111","nodeType":"VariableDeclaration","scope":72374,"src":"1482:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72366,"name":"address","nodeType":"ElementaryTypeName","src":"1482:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72369,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1507:15:111","nodeType":"VariableDeclaration","scope":72374,"src":"1499:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72368,"name":"uint256","nodeType":"ElementaryTypeName","src":"1499:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1481:42:111"},"returnParameters":{"id":72373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72374,"src":"1542:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72371,"name":"uint256","nodeType":"ElementaryTypeName","src":"1542:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1541:9:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72380,"nodeType":"FunctionDefinition","src":"1557:72:111","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1566:14:111","parameters":{"id":72375,"nodeType":"ParameterList","parameters":[],"src":"1580:2:111"},"returnParameters":{"id":72379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72378,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72380,"src":"1601:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72377,"nodeType":"UserDefinedTypeName","pathNode":{"id":72376,"name":"StrategyStruct.PointSystem","nameLocations":["1601:14:111","1616:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"1601:26:111"},"referencedDeclaration":72390,"src":"1601:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1600:28:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[72381],"name":"IPointStrategy","nameLocation":"1283:14:111","scope":75910,"usedErrors":[]},{"id":72503,"nodeType":"ContractDefinition","src":"1633:2413:111","nodes":[{"id":72385,"nodeType":"EnumDefinition","src":"1662:79:111","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":72382,"name":"Signaling","nameLocation":"1690:9:111","nodeType":"EnumValue","src":"1690:9:111"},{"id":72383,"name":"Funding","nameLocation":"1709:7:111","nodeType":"EnumValue","src":"1709:7:111"},{"id":72384,"name":"Streaming","nameLocation":"1726:9:111","nodeType":"EnumValue","src":"1726:9:111"}],"name":"ProposalType","nameLocation":"1667:12:111"},{"id":72390,"nodeType":"EnumDefinition","src":"1747:92:111","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":72386,"name":"Fixed","nameLocation":"1774:5:111","nodeType":"EnumValue","src":"1774:5:111"},{"id":72387,"name":"Capped","nameLocation":"1789:6:111","nodeType":"EnumValue","src":"1789:6:111"},{"id":72388,"name":"Unlimited","nameLocation":"1805:9:111","nodeType":"EnumValue","src":"1805:9:111"},{"id":72389,"name":"Quadratic","nameLocation":"1824:9:111","nodeType":"EnumValue","src":"1824:9:111"}],"name":"PointSystem","nameLocation":"1752:11:111"},{"id":72402,"nodeType":"StructDefinition","src":"1845:243:111","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":72392,"mutability":"mutable","name":"poolId","nameLocation":"1916:6:111","nodeType":"VariableDeclaration","scope":72402,"src":"1908:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72391,"name":"uint256","nodeType":"ElementaryTypeName","src":"1908:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72394,"mutability":"mutable","name":"beneficiary","nameLocation":"1940:11:111","nodeType":"VariableDeclaration","scope":72402,"src":"1932:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72393,"name":"address","nodeType":"ElementaryTypeName","src":"1932:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72396,"mutability":"mutable","name":"amountRequested","nameLocation":"2007:15:111","nodeType":"VariableDeclaration","scope":72402,"src":"1999:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72395,"name":"uint256","nodeType":"ElementaryTypeName","src":"1999:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72398,"mutability":"mutable","name":"requestedToken","nameLocation":"2040:14:111","nodeType":"VariableDeclaration","scope":72402,"src":"2032:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72397,"name":"address","nodeType":"ElementaryTypeName","src":"2032:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72401,"mutability":"mutable","name":"metadata","nameLocation":"2073:8:111","nodeType":"VariableDeclaration","scope":72402,"src":"2064:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72400,"nodeType":"UserDefinedTypeName","pathNode":{"id":72399,"name":"Metadata","nameLocations":["2064:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2064:8:111"},"referencedDeclaration":3098,"src":"2064:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1852:14:111","scope":72503,"visibility":"public"},{"id":72410,"nodeType":"EnumDefinition","src":"2094:390:111","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":72403,"name":"Inactive","nameLocation":"2124:8:111","nodeType":"EnumValue","src":"2124:8:111"},{"id":72404,"name":"Active","nameLocation":"2154:6:111","nodeType":"EnumValue","src":"2154:6:111"},{"id":72405,"name":"Paused","nameLocation":"2217:6:111","nodeType":"EnumValue","src":"2217:6:111"},{"id":72406,"name":"Cancelled","nameLocation":"2282:9:111","nodeType":"EnumValue","src":"2282:9:111"},{"id":72407,"name":"Executed","nameLocation":"2335:8:111","nodeType":"EnumValue","src":"2335:8:111"},{"id":72408,"name":"Disputed","nameLocation":"2386:8:111","nodeType":"EnumValue","src":"2386:8:111"},{"id":72409,"name":"Rejected","nameLocation":"2437:8:111","nodeType":"EnumValue","src":"2437:8:111"}],"name":"ProposalStatus","nameLocation":"2099:14:111"},{"id":72419,"nodeType":"StructDefinition","src":"2490:165:111","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":72412,"mutability":"mutable","name":"disputeId","nameLocation":"2535:9:111","nodeType":"VariableDeclaration","scope":72419,"src":"2527:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72411,"name":"uint256","nodeType":"ElementaryTypeName","src":"2527:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72414,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2562:16:111","nodeType":"VariableDeclaration","scope":72419,"src":"2554:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72413,"name":"uint256","nodeType":"ElementaryTypeName","src":"2554:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72416,"mutability":"mutable","name":"challenger","nameLocation":"2596:10:111","nodeType":"VariableDeclaration","scope":72419,"src":"2588:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72415,"name":"address","nodeType":"ElementaryTypeName","src":"2588:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72418,"mutability":"mutable","name":"submitterCollateralVault","nameLocation":"2624:24:111","nodeType":"VariableDeclaration","scope":72419,"src":"2616:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72417,"name":"uint256","nodeType":"ElementaryTypeName","src":"2616:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2497:19:111","scope":72503,"visibility":"public"},{"id":72451,"nodeType":"StructDefinition","src":"2661:485:111","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":72421,"mutability":"mutable","name":"proposalId","nameLocation":"2695:10:111","nodeType":"VariableDeclaration","scope":72451,"src":"2687:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72420,"name":"uint256","nodeType":"ElementaryTypeName","src":"2687:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72423,"mutability":"mutable","name":"requestedAmount","nameLocation":"2723:15:111","nodeType":"VariableDeclaration","scope":72451,"src":"2715:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72422,"name":"uint256","nodeType":"ElementaryTypeName","src":"2715:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72425,"mutability":"mutable","name":"stakedAmount","nameLocation":"2756:12:111","nodeType":"VariableDeclaration","scope":72451,"src":"2748:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72424,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72427,"mutability":"mutable","name":"convictionLast","nameLocation":"2786:14:111","nodeType":"VariableDeclaration","scope":72451,"src":"2778:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72426,"name":"uint256","nodeType":"ElementaryTypeName","src":"2778:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72429,"mutability":"mutable","name":"beneficiary","nameLocation":"2818:11:111","nodeType":"VariableDeclaration","scope":72451,"src":"2810:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72428,"name":"address","nodeType":"ElementaryTypeName","src":"2810:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72431,"mutability":"mutable","name":"submitter","nameLocation":"2847:9:111","nodeType":"VariableDeclaration","scope":72451,"src":"2839:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72430,"name":"address","nodeType":"ElementaryTypeName","src":"2839:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72433,"mutability":"mutable","name":"requestedToken","nameLocation":"2874:14:111","nodeType":"VariableDeclaration","scope":72451,"src":"2866:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72432,"name":"address","nodeType":"ElementaryTypeName","src":"2866:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72435,"mutability":"mutable","name":"blockLast","nameLocation":"2906:9:111","nodeType":"VariableDeclaration","scope":72451,"src":"2898:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72434,"name":"uint256","nodeType":"ElementaryTypeName","src":"2898:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72438,"mutability":"mutable","name":"proposalStatus","nameLocation":"2940:14:111","nodeType":"VariableDeclaration","scope":72451,"src":"2925:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":72437,"nodeType":"UserDefinedTypeName","pathNode":{"id":72436,"name":"ProposalStatus","nameLocations":["2925:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72410,"src":"2925:14:111"},"referencedDeclaration":72410,"src":"2925:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":72442,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2992:17:111","nodeType":"VariableDeclaration","scope":72451,"src":"2964:45:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72441,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72439,"name":"address","nodeType":"ElementaryTypeName","src":"2972:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2964:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72440,"name":"uint256","nodeType":"ElementaryTypeName","src":"2983:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":72445,"mutability":"mutable","name":"metadata","nameLocation":"3051:8:111","nodeType":"VariableDeclaration","scope":72451,"src":"3042:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72444,"nodeType":"UserDefinedTypeName","pathNode":{"id":72443,"name":"Metadata","nameLocations":["3042:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"3042:8:111"},"referencedDeclaration":3098,"src":"3042:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":72448,"mutability":"mutable","name":"disputeInfo","nameLocation":"3089:11:111","nodeType":"VariableDeclaration","scope":72451,"src":"3069:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":72447,"nodeType":"UserDefinedTypeName","pathNode":{"id":72446,"name":"ProposalDisputeInfo","nameLocations":["3069:19:111"],"nodeType":"IdentifierPath","referencedDeclaration":72419,"src":"3069:19:111"},"referencedDeclaration":72419,"src":"3069:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":72450,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"3118:21:111","nodeType":"VariableDeclaration","scope":72451,"src":"3110:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72449,"name":"uint256","nodeType":"ElementaryTypeName","src":"3110:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2668:8:111","scope":72503,"visibility":"public"},{"id":72456,"nodeType":"StructDefinition","src":"3152:126:111","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":72453,"mutability":"mutable","name":"proposalId","nameLocation":"3193:10:111","nodeType":"VariableDeclaration","scope":72456,"src":"3185:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72452,"name":"uint256","nodeType":"ElementaryTypeName","src":"3185:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72455,"mutability":"mutable","name":"deltaSupport","nameLocation":"3220:12:111","nodeType":"VariableDeclaration","scope":72456,"src":"3213:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72454,"name":"int256","nodeType":"ElementaryTypeName","src":"3213:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3159:15:111","scope":72503,"visibility":"public"},{"id":72459,"nodeType":"StructDefinition","src":"3284:89:111","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":72458,"mutability":"mutable","name":"maxAmount","nameLocation":"3357:9:111","nodeType":"VariableDeclaration","scope":72459,"src":"3349:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72457,"name":"uint256","nodeType":"ElementaryTypeName","src":"3349:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3291:17:111","scope":72503,"visibility":"public"},{"id":72473,"nodeType":"StructDefinition","src":"3379:249:111","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":72462,"mutability":"mutable","name":"arbitrator","nameLocation":"3425:10:111","nodeType":"VariableDeclaration","scope":72473,"src":"3413:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},"typeName":{"id":72461,"nodeType":"UserDefinedTypeName","pathNode":{"id":72460,"name":"IArbitrator","nameLocations":["3413:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79606,"src":"3413:11:111"},"referencedDeclaration":79606,"src":"3413:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72464,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3453:12:111","nodeType":"VariableDeclaration","scope":72473,"src":"3445:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72463,"name":"address","nodeType":"ElementaryTypeName","src":"3445:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72466,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3483:25:111","nodeType":"VariableDeclaration","scope":72473,"src":"3475:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72465,"name":"uint256","nodeType":"ElementaryTypeName","src":"3475:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72468,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3526:26:111","nodeType":"VariableDeclaration","scope":72473,"src":"3518:34:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72467,"name":"uint256","nodeType":"ElementaryTypeName","src":"3518:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72470,"mutability":"mutable","name":"defaultRuling","nameLocation":"3570:13:111","nodeType":"VariableDeclaration","scope":72473,"src":"3562:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72469,"name":"uint256","nodeType":"ElementaryTypeName","src":"3562:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72472,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3601:20:111","nodeType":"VariableDeclaration","scope":72473,"src":"3593:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72471,"name":"uint256","nodeType":"ElementaryTypeName","src":"3593:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3386:16:111","scope":72503,"visibility":"public"},{"id":72482,"nodeType":"StructDefinition","src":"3634:132:111","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":72475,"mutability":"mutable","name":"maxRatio","nameLocation":"3668:8:111","nodeType":"VariableDeclaration","scope":72482,"src":"3660:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72474,"name":"uint256","nodeType":"ElementaryTypeName","src":"3660:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72477,"mutability":"mutable","name":"weight","nameLocation":"3694:6:111","nodeType":"VariableDeclaration","scope":72482,"src":"3686:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72476,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72479,"mutability":"mutable","name":"decay","nameLocation":"3718:5:111","nodeType":"VariableDeclaration","scope":72482,"src":"3710:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72478,"name":"uint256","nodeType":"ElementaryTypeName","src":"3710:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72481,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3741:18:111","nodeType":"VariableDeclaration","scope":72482,"src":"3733:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72480,"name":"uint256","nodeType":"ElementaryTypeName","src":"3733:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3641:8:111","scope":72503,"visibility":"public"},{"id":72502,"nodeType":"StructDefinition","src":"3772:272:111","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":72485,"mutability":"mutable","name":"cvParams","nameLocation":"3815:8:111","nodeType":"VariableDeclaration","scope":72502,"src":"3806:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72484,"nodeType":"UserDefinedTypeName","pathNode":{"id":72483,"name":"CVParams","nameLocations":["3806:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"3806:8:111"},"referencedDeclaration":72482,"src":"3806:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72488,"mutability":"mutable","name":"proposalType","nameLocation":"3846:12:111","nodeType":"VariableDeclaration","scope":72502,"src":"3833:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72487,"nodeType":"UserDefinedTypeName","pathNode":{"id":72486,"name":"ProposalType","nameLocations":["3833:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72385,"src":"3833:12:111"},"referencedDeclaration":72385,"src":"3833:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":72491,"mutability":"mutable","name":"pointSystem","nameLocation":"3880:11:111","nodeType":"VariableDeclaration","scope":72502,"src":"3868:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72490,"nodeType":"UserDefinedTypeName","pathNode":{"id":72489,"name":"PointSystem","nameLocations":["3868:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"3868:11:111"},"referencedDeclaration":72390,"src":"3868:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":72494,"mutability":"mutable","name":"pointConfig","nameLocation":"3919:11:111","nodeType":"VariableDeclaration","scope":72502,"src":"3901:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72493,"nodeType":"UserDefinedTypeName","pathNode":{"id":72492,"name":"PointSystemConfig","nameLocations":["3901:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72459,"src":"3901:17:111"},"referencedDeclaration":72459,"src":"3901:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":72497,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3957:16:111","nodeType":"VariableDeclaration","scope":72502,"src":"3940:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72496,"nodeType":"UserDefinedTypeName","pathNode":{"id":72495,"name":"ArbitrableConfig","nameLocations":["3940:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"3940:16:111"},"referencedDeclaration":72473,"src":"3940:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":72499,"mutability":"mutable","name":"registryCommunity","nameLocation":"3991:17:111","nodeType":"VariableDeclaration","scope":72502,"src":"3983:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72498,"name":"address","nodeType":"ElementaryTypeName","src":"3983:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72501,"mutability":"mutable","name":"sybilScorer","nameLocation":"4026:11:111","nodeType":"VariableDeclaration","scope":72502,"src":"4018:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72500,"name":"address","nodeType":"ElementaryTypeName","src":"4018:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3779:16:111","scope":72503,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[72503],"name":"StrategyStruct","nameLocation":"1641:14:111","scope":75910,"usedErrors":[]},{"id":75909,"nodeType":"ContractDefinition","src":"4048:46903:111","nodes":[{"id":72515,"nodeType":"ErrorDefinition","src":"4328:25:111","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4334:16:111","parameters":{"id":72514,"nodeType":"ParameterList","parameters":[],"src":"4350:2:111"}},{"id":72517,"nodeType":"ErrorDefinition","src":"4372:26:111","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4378:17:111","parameters":{"id":72516,"nodeType":"ParameterList","parameters":[],"src":"4395:2:111"}},{"id":72519,"nodeType":"ErrorDefinition","src":"4416:23:111","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4422:14:111","parameters":{"id":72518,"nodeType":"ParameterList","parameters":[],"src":"4436:2:111"}},{"id":72521,"nodeType":"ErrorDefinition","src":"4458:20:111","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4464:11:111","parameters":{"id":72520,"nodeType":"ParameterList","parameters":[],"src":"4475:2:111"}},{"id":72523,"nodeType":"ErrorDefinition","src":"4497:23:111","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4503:14:111","parameters":{"id":72522,"nodeType":"ParameterList","parameters":[],"src":"4517:2:111"}},{"id":72525,"nodeType":"ErrorDefinition","src":"4538:26:111","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4544:17:111","parameters":{"id":72524,"nodeType":"ParameterList","parameters":[],"src":"4561:2:111"}},{"id":72527,"nodeType":"ErrorDefinition","src":"4582:24:111","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4588:15:111","parameters":{"id":72526,"nodeType":"ParameterList","parameters":[],"src":"4603:2:111"}},{"id":72529,"nodeType":"ErrorDefinition","src":"4625:27:111","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4631:18:111","parameters":{"id":72528,"nodeType":"ParameterList","parameters":[],"src":"4649:2:111"}},{"id":72531,"nodeType":"ErrorDefinition","src":"4671:27:111","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4677:18:111","parameters":{"id":72530,"nodeType":"ParameterList","parameters":[],"src":"4695:2:111"}},{"id":72533,"nodeType":"ErrorDefinition","src":"4716:28:111","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4722:19:111","parameters":{"id":72532,"nodeType":"ParameterList","parameters":[],"src":"4741:2:111"}},{"id":72535,"nodeType":"ErrorDefinition","src":"4762:29:111","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4768:20:111","parameters":{"id":72534,"nodeType":"ParameterList","parameters":[],"src":"4788:2:111"}},{"id":72543,"nodeType":"ErrorDefinition","src":"4810:72:111","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4816:16:111","parameters":{"id":72542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72537,"mutability":"mutable","name":"_support","nameLocation":"4841:8:111","nodeType":"VariableDeclaration","scope":72543,"src":"4833:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72536,"name":"uint256","nodeType":"ElementaryTypeName","src":"4833:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72539,"mutability":"mutable","name":"_delta","nameLocation":"4858:6:111","nodeType":"VariableDeclaration","scope":72543,"src":"4851:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72538,"name":"int256","nodeType":"ElementaryTypeName","src":"4851:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":72541,"mutability":"mutable","name":"_result","nameLocation":"4873:7:111","nodeType":"VariableDeclaration","scope":72543,"src":"4866:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72540,"name":"int256","nodeType":"ElementaryTypeName","src":"4866:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4832:49:111"}},{"id":72545,"nodeType":"ErrorDefinition","src":"4901:25:111","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4907:16:111","parameters":{"id":72544,"nodeType":"ParameterList","parameters":[],"src":"4923:2:111"}},{"id":72547,"nodeType":"ErrorDefinition","src":"4945:32:111","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4951:23:111","parameters":{"id":72546,"nodeType":"ParameterList","parameters":[],"src":"4974:2:111"}},{"id":72553,"nodeType":"ErrorDefinition","src":"4996:77:111","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"5002:24:111","parameters":{"id":72552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72549,"mutability":"mutable","name":"pointsSupport","nameLocation":"5035:13:111","nodeType":"VariableDeclaration","scope":72553,"src":"5027:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72548,"name":"uint256","nodeType":"ElementaryTypeName","src":"5027:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72551,"mutability":"mutable","name":"pointsBalance","nameLocation":"5058:13:111","nodeType":"VariableDeclaration","scope":72553,"src":"5050:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72550,"name":"uint256","nodeType":"ElementaryTypeName","src":"5050:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5026:46:111"}},{"id":72555,"nodeType":"ErrorDefinition","src":"5093:28:111","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5099:19:111","parameters":{"id":72554,"nodeType":"ParameterList","parameters":[],"src":"5118:2:111"}},{"id":72557,"nodeType":"ErrorDefinition","src":"5139:31:111","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5145:22:111","parameters":{"id":72556,"nodeType":"ParameterList","parameters":[],"src":"5167:2:111"}},{"id":72561,"nodeType":"ErrorDefinition","src":"5188:45:111","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5194:17:111","parameters":{"id":72560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72559,"mutability":"mutable","name":"_proposalId","nameLocation":"5220:11:111","nodeType":"VariableDeclaration","scope":72561,"src":"5212:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72558,"name":"uint256","nodeType":"ElementaryTypeName","src":"5212:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5211:21:111"}},{"id":72565,"nodeType":"ErrorDefinition","src":"5252:45:111","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5258:17:111","parameters":{"id":72564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72563,"mutability":"mutable","name":"_proposalId","nameLocation":"5284:11:111","nodeType":"VariableDeclaration","scope":72565,"src":"5276:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72562,"name":"uint256","nodeType":"ElementaryTypeName","src":"5276:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5275:21:111"}},{"id":72571,"nodeType":"ErrorDefinition","src":"5316:68:111","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5322:25:111","parameters":{"id":72570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72567,"mutability":"mutable","name":"_proposalId","nameLocation":"5356:11:111","nodeType":"VariableDeclaration","scope":72571,"src":"5348:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72566,"name":"uint256","nodeType":"ElementaryTypeName","src":"5348:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72569,"mutability":"mutable","name":"index","nameLocation":"5377:5:111","nodeType":"VariableDeclaration","scope":72571,"src":"5369:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72568,"name":"uint256","nodeType":"ElementaryTypeName","src":"5369:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5347:36:111"}},{"id":72573,"nodeType":"ErrorDefinition","src":"5402:40:111","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5408:31:111","parameters":{"id":72572,"nodeType":"ParameterList","parameters":[],"src":"5439:2:111"}},{"id":72575,"nodeType":"ErrorDefinition","src":"5461:29:111","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5467:20:111","parameters":{"id":72574,"nodeType":"ParameterList","parameters":[],"src":"5487:2:111"}},{"id":72583,"nodeType":"ErrorDefinition","src":"5509:94:111","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5515:19:111","parameters":{"id":72582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72577,"mutability":"mutable","name":"_proposalId","nameLocation":"5543:11:111","nodeType":"VariableDeclaration","scope":72583,"src":"5535:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5535:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72579,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5564:16:111","nodeType":"VariableDeclaration","scope":72583,"src":"5556:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72578,"name":"uint256","nodeType":"ElementaryTypeName","src":"5556:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72581,"mutability":"mutable","name":"_poolAmount","nameLocation":"5590:11:111","nodeType":"VariableDeclaration","scope":72583,"src":"5582:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72580,"name":"uint256","nodeType":"ElementaryTypeName","src":"5582:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5534:68:111"}},{"id":72585,"nodeType":"ErrorDefinition","src":"5621:24:111","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5627:15:111","parameters":{"id":72584,"nodeType":"ParameterList","parameters":[],"src":"5642:2:111"}},{"id":72587,"nodeType":"ErrorDefinition","src":"5650:32:111","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5656:23:111","parameters":{"id":72586,"nodeType":"ParameterList","parameters":[],"src":"5679:2:111"}},{"id":72593,"nodeType":"ErrorDefinition","src":"5687:73:111","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5693:22:111","parameters":{"id":72592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72589,"mutability":"mutable","name":"sentAmount","nameLocation":"5724:10:111","nodeType":"VariableDeclaration","scope":72593,"src":"5716:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72588,"name":"uint256","nodeType":"ElementaryTypeName","src":"5716:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72591,"mutability":"mutable","name":"requiredAmount","nameLocation":"5744:14:111","nodeType":"VariableDeclaration","scope":72593,"src":"5736:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72590,"name":"uint256","nodeType":"ElementaryTypeName","src":"5736:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5715:44:111"}},{"id":72595,"nodeType":"ErrorDefinition","src":"5765:23:111","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5771:14:111","parameters":{"id":72594,"nodeType":"ParameterList","parameters":[],"src":"5785:2:111"}},{"id":72599,"nodeType":"ErrorDefinition","src":"5793:47:111","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5799:19:111","parameters":{"id":72598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72597,"mutability":"mutable","name":"_proposalId","nameLocation":"5827:11:111","nodeType":"VariableDeclaration","scope":72599,"src":"5819:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72596,"name":"uint256","nodeType":"ElementaryTypeName","src":"5819:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5818:21:111"}},{"id":72601,"nodeType":"ErrorDefinition","src":"5845:31:111","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5851:22:111","parameters":{"id":72600,"nodeType":"ParameterList","parameters":[],"src":"5873:2:111"}},{"id":72603,"nodeType":"ErrorDefinition","src":"5962:28:111","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5968:19:111","parameters":{"id":72602,"nodeType":"ParameterList","parameters":[],"src":"5987:2:111"}},{"id":72609,"nodeType":"ErrorDefinition","src":"5995:75:111","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"6001:24:111","parameters":{"id":72608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72605,"mutability":"mutable","name":"_proposalId","nameLocation":"6034:11:111","nodeType":"VariableDeclaration","scope":72609,"src":"6026:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72604,"name":"uint256","nodeType":"ElementaryTypeName","src":"6026:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72607,"mutability":"mutable","name":"_remainingSec","nameLocation":"6055:13:111","nodeType":"VariableDeclaration","scope":72609,"src":"6047:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72606,"name":"uint256","nodeType":"ElementaryTypeName","src":"6047:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6025:44:111"}},{"id":72611,"nodeType":"ErrorDefinition","src":"6075:54:111","nodes":[],"errorSelector":"fcc12b5b","name":"ArbitrationConfigCannotBeChangedDuringDispute","nameLocation":"6081:45:111","parameters":{"id":72610,"nodeType":"ParameterList","parameters":[],"src":"6126:2:111"}},{"id":72618,"nodeType":"EventDefinition","src":"6301:74:111","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6307:13:111","parameters":{"id":72617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72613,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6329:6:111","nodeType":"VariableDeclaration","scope":72618,"src":"6321:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72612,"name":"uint256","nodeType":"ElementaryTypeName","src":"6321:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72616,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6369:4:111","nodeType":"VariableDeclaration","scope":72618,"src":"6337:36:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72615,"nodeType":"UserDefinedTypeName","pathNode":{"id":72614,"name":"StrategyStruct.InitializeParams","nameLocations":["6337:14:111","6352:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"6337:31:111"},"referencedDeclaration":72502,"src":"6337:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6320:54:111"}},{"id":72626,"nodeType":"EventDefinition","src":"6380:75:111","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6386:11:111","parameters":{"id":72625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72620,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6406:10:111","nodeType":"VariableDeclaration","scope":72626,"src":"6398:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72619,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72622,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6426:11:111","nodeType":"VariableDeclaration","scope":72626,"src":"6418:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72621,"name":"address","nodeType":"ElementaryTypeName","src":"6418:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72624,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6447:6:111","nodeType":"VariableDeclaration","scope":72626,"src":"6439:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72623,"name":"uint256","nodeType":"ElementaryTypeName","src":"6439:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:57:111"}},{"id":72632,"nodeType":"EventDefinition","src":"6460:58:111","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6466:15:111","parameters":{"id":72631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72628,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6490:6:111","nodeType":"VariableDeclaration","scope":72632,"src":"6482:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72627,"name":"uint256","nodeType":"ElementaryTypeName","src":"6482:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72630,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6506:10:111","nodeType":"VariableDeclaration","scope":72632,"src":"6498:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72629,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6481:36:111"}},{"id":72636,"nodeType":"EventDefinition","src":"6523:42:111","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6529:19:111","parameters":{"id":72635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72634,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6557:6:111","nodeType":"VariableDeclaration","scope":72636,"src":"6549:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72633,"name":"uint256","nodeType":"ElementaryTypeName","src":"6549:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6548:16:111"}},{"id":72640,"nodeType":"EventDefinition","src":"6570:40:111","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6576:17:111","parameters":{"id":72639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72638,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6602:6:111","nodeType":"VariableDeclaration","scope":72640,"src":"6594:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72637,"name":"address","nodeType":"ElementaryTypeName","src":"6594:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6593:16:111"}},{"id":72648,"nodeType":"EventDefinition","src":"6615:85:111","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6621:14:111","parameters":{"id":72647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72642,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6644:6:111","nodeType":"VariableDeclaration","scope":72648,"src":"6636:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72641,"name":"address","nodeType":"ElementaryTypeName","src":"6636:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72644,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6660:12:111","nodeType":"VariableDeclaration","scope":72648,"src":"6652:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72643,"name":"uint256","nodeType":"ElementaryTypeName","src":"6652:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72646,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6682:16:111","nodeType":"VariableDeclaration","scope":72648,"src":"6674:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72645,"name":"uint256","nodeType":"ElementaryTypeName","src":"6674:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6635:64:111"}},{"id":72656,"nodeType":"EventDefinition","src":"6705:87:111","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6711:14:111","parameters":{"id":72655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72650,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6734:6:111","nodeType":"VariableDeclaration","scope":72656,"src":"6726:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72649,"name":"address","nodeType":"ElementaryTypeName","src":"6726:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72652,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6750:14:111","nodeType":"VariableDeclaration","scope":72656,"src":"6742:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72651,"name":"uint256","nodeType":"ElementaryTypeName","src":"6742:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72654,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6774:16:111","nodeType":"VariableDeclaration","scope":72656,"src":"6766:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72653,"name":"uint256","nodeType":"ElementaryTypeName","src":"6766:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6725:66:111"}},{"id":72668,"nodeType":"EventDefinition","src":"6797:134:111","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6803:12:111","parameters":{"id":72667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72658,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6833:4:111","nodeType":"VariableDeclaration","scope":72668,"src":"6825:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72657,"name":"address","nodeType":"ElementaryTypeName","src":"6825:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72660,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6847:10:111","nodeType":"VariableDeclaration","scope":72668,"src":"6839:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72659,"name":"uint256","nodeType":"ElementaryTypeName","src":"6839:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72662,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6867:6:111","nodeType":"VariableDeclaration","scope":72668,"src":"6859:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72661,"name":"uint256","nodeType":"ElementaryTypeName","src":"6859:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72664,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6883:17:111","nodeType":"VariableDeclaration","scope":72668,"src":"6875:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72663,"name":"uint256","nodeType":"ElementaryTypeName","src":"6875:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72666,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6910:14:111","nodeType":"VariableDeclaration","scope":72668,"src":"6902:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72665,"name":"uint256","nodeType":"ElementaryTypeName","src":"6902:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6815:115:111"}},{"id":72676,"nodeType":"EventDefinition","src":"6936:108:111","nodes":[],"anonymous":false,"eventSelector":"b47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d","name":"PoolParamsUpdated","nameLocation":"6942:17:111","parameters":{"id":72675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72671,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6984:8:111","nodeType":"VariableDeclaration","scope":72676,"src":"6960:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72670,"nodeType":"UserDefinedTypeName","pathNode":{"id":72669,"name":"StrategyStruct.CVParams","nameLocations":["6960:14:111","6975:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"6960:23:111"},"referencedDeclaration":72482,"src":"6960:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72674,"indexed":false,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"7026:16:111","nodeType":"VariableDeclaration","scope":72676,"src":"6994:48:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72673,"nodeType":"UserDefinedTypeName","pathNode":{"id":72672,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["6994:14:111","7009:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"6994:31:111"},"referencedDeclaration":72473,"src":"6994:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"6959:84:111"}},{"id":72680,"nodeType":"EventDefinition","src":"7049:49:111","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"7055:15:111","parameters":{"id":72679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72678,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"7079:17:111","nodeType":"VariableDeclaration","scope":72680,"src":"7071:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72677,"name":"address","nodeType":"ElementaryTypeName","src":"7071:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7070:27:111"}},{"id":72686,"nodeType":"EventDefinition","src":"7103:76:111","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"7109:25:111","parameters":{"id":72685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72682,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7143:6:111","nodeType":"VariableDeclaration","scope":72686,"src":"7135:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72681,"name":"uint256","nodeType":"ElementaryTypeName","src":"7135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72684,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7159:18:111","nodeType":"VariableDeclaration","scope":72686,"src":"7151:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72683,"name":"uint256","nodeType":"ElementaryTypeName","src":"7151:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7134:44:111"}},{"id":72701,"nodeType":"EventDefinition","src":"7184:195:111","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7190:16:111","parameters":{"id":72700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72689,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7228:10:111","nodeType":"VariableDeclaration","scope":72701,"src":"7216:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},"typeName":{"id":72688,"nodeType":"UserDefinedTypeName","pathNode":{"id":72687,"name":"IArbitrator","nameLocations":["7216:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79606,"src":"7216:11:111"},"referencedDeclaration":79606,"src":"7216:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72691,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7256:10:111","nodeType":"VariableDeclaration","scope":72701,"src":"7248:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72690,"name":"uint256","nodeType":"ElementaryTypeName","src":"7248:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72693,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7284:9:111","nodeType":"VariableDeclaration","scope":72701,"src":"7276:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72692,"name":"uint256","nodeType":"ElementaryTypeName","src":"7276:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72695,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7311:10:111","nodeType":"VariableDeclaration","scope":72701,"src":"7303:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72694,"name":"address","nodeType":"ElementaryTypeName","src":"7303:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72697,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7338:7:111","nodeType":"VariableDeclaration","scope":72701,"src":"7331:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72696,"name":"string","nodeType":"ElementaryTypeName","src":"7331:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":72699,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7363:9:111","nodeType":"VariableDeclaration","scope":72701,"src":"7355:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72698,"name":"uint256","nodeType":"ElementaryTypeName","src":"7355:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7206:172:111"}},{"id":72709,"nodeType":"EventDefinition","src":"7384:88:111","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7390:21:111","parameters":{"id":72708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72703,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7420:8:111","nodeType":"VariableDeclaration","scope":72709,"src":"7412:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72702,"name":"address","nodeType":"ElementaryTypeName","src":"7412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72705,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7438:10:111","nodeType":"VariableDeclaration","scope":72709,"src":"7430:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72704,"name":"address","nodeType":"ElementaryTypeName","src":"7430:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72707,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7458:12:111","nodeType":"VariableDeclaration","scope":72709,"src":"7450:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72706,"name":"address","nodeType":"ElementaryTypeName","src":"7450:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7411:60:111"}},{"id":72712,"nodeType":"VariableDeclaration","src":"7846:36:111","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"7870:1:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72710,"name":"uint256","nodeType":"ElementaryTypeName","src":"7846:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":72711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7874:8:111","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":72715,"nodeType":"VariableDeclaration","src":"7896:70:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"7921:7:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72713,"name":"uint256","nodeType":"ElementaryTypeName","src":"7896:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":72714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7931:35:111","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":72718,"nodeType":"VariableDeclaration","src":"7982:69:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8007:7:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72716,"name":"uint256","nodeType":"ElementaryTypeName","src":"7982:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":72717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8017:34:111","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":72721,"nodeType":"VariableDeclaration","src":"8067:53:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8092:6:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72719,"name":"uint256","nodeType":"ElementaryTypeName","src":"8067:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":72720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8101:19:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":72724,"nodeType":"VariableDeclaration","src":"8135:49:111","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8159:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72722,"name":"uint256","nodeType":"ElementaryTypeName","src":"8135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":72723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8182:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":72727,"nodeType":"VariableDeclaration","src":"8270:42:111","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8294:14:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72725,"name":"uint256","nodeType":"ElementaryTypeName","src":"8270:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":72726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8311:1:111","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":72730,"nodeType":"VariableDeclaration","src":"8318:54:111","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8342:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72728,"name":"uint256","nodeType":"ElementaryTypeName","src":"8318:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":72729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8365:7:111","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":72736,"nodeType":"VariableDeclaration","src":"8379:93:111","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8395:23:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72731,"name":"address","nodeType":"ElementaryTypeName","src":"8379:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307833623166624642303444423335383539323062326541644262383833394643393638304645386364","id":72734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8429:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x3b1fbFB04DB3585920b2eAdBb8839FC9680FE8cd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8421:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72732,"name":"address","nodeType":"ElementaryTypeName","src":"8421:7:111","typeDescriptions":{}}},"id":72735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8421:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":72738,"nodeType":"VariableDeclaration","src":"8576:47:111","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8593:30:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72737,"name":"uint256","nodeType":"ElementaryTypeName","src":"8576:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":72740,"nodeType":"VariableDeclaration","src":"8667:25:111","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8682:10:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72739,"name":"uint256","nodeType":"ElementaryTypeName","src":"8667:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72743,"nodeType":"VariableDeclaration","src":"8698:30:111","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8712:12:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72741,"name":"uint64","nodeType":"ElementaryTypeName","src":"8698:6:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"30","id":72742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8727:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72746,"nodeType":"VariableDeclaration","src":"8734:34:111","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8749:15:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72744,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":72745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8767:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72748,"nodeType":"VariableDeclaration","src":"8775:26:111","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8790:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72747,"name":"uint256","nodeType":"ElementaryTypeName","src":"8775:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72750,"nodeType":"VariableDeclaration","src":"8807:35:111","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"8822:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72749,"name":"uint256","nodeType":"ElementaryTypeName","src":"8807:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72753,"nodeType":"VariableDeclaration","src":"8849:39:111","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"8880:8:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72752,"nodeType":"UserDefinedTypeName","pathNode":{"id":72751,"name":"StrategyStruct.CVParams","nameLocations":["8849:14:111","8864:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"8849:23:111"},"referencedDeclaration":72482,"src":"8849:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":72756,"nodeType":"VariableDeclaration","src":"8935:47:111","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"8970:12:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72755,"nodeType":"UserDefinedTypeName","pathNode":{"id":72754,"name":"StrategyStruct.ProposalType","nameLocations":["8935:14:111","8950:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72385,"src":"8935:27:111"},"referencedDeclaration":72385,"src":"8935:27:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":72759,"nodeType":"VariableDeclaration","src":"9041:45:111","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9075:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72758,"nodeType":"UserDefinedTypeName","pathNode":{"id":72757,"name":"StrategyStruct.PointSystem","nameLocations":["9041:14:111","9056:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"9041:26:111"},"referencedDeclaration":72390,"src":"9041:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":72762,"nodeType":"VariableDeclaration","src":"9092:51:111","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9132:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72761,"nodeType":"UserDefinedTypeName","pathNode":{"id":72760,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9092:14:111","9107:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72459,"src":"9092:32:111"},"referencedDeclaration":72459,"src":"9092:32:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":72765,"nodeType":"VariableDeclaration","src":"9149:55:111","nodes":[],"constant":false,"functionSelector":"1073e996","mutability":"mutable","name":"arbitrableConfig","nameLocation":"9188:16:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72764,"nodeType":"UserDefinedTypeName","pathNode":{"id":72763,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9149:14:111","9164:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"9149:31:111"},"referencedDeclaration":72473,"src":"9149:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"public"},{"id":72768,"nodeType":"VariableDeclaration","src":"9237:46:111","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9266:17:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":72767,"nodeType":"UserDefinedTypeName","pathNode":{"id":72766,"name":"RegistryCommunityV0_0","nameLocations":["9237:21:111"],"nodeType":"IdentifierPath","referencedDeclaration":78716,"src":"9237:21:111"},"referencedDeclaration":78716,"src":"9237:21:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":72771,"nodeType":"VariableDeclaration","src":"9290:39:111","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9314:15:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"},"typeName":{"id":72770,"nodeType":"UserDefinedTypeName","pathNode":{"id":72769,"name":"ICollateralVault","nameLocations":["9290:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":79639,"src":"9290:16:111"},"referencedDeclaration":79639,"src":"9290:16:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":72774,"nodeType":"VariableDeclaration","src":"9335:31:111","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9355:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"},"typeName":{"id":72773,"nodeType":"UserDefinedTypeName","pathNode":{"id":72772,"name":"ISybilScorer","nameLocations":["9335:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":76270,"src":"9335:12:111"},"referencedDeclaration":76270,"src":"9335:12:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":72779,"nodeType":"VariableDeclaration","src":"9433:60:111","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9484:9:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":72778,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72775,"name":"uint256","nodeType":"ElementaryTypeName","src":"9441:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9433:43:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72777,"nodeType":"UserDefinedTypeName","pathNode":{"id":72776,"name":"StrategyStruct.Proposal","nameLocations":["9452:14:111","9467:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"9452:23:111"},"referencedDeclaration":72451,"src":"9452:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":72783,"nodeType":"VariableDeclaration","src":"9549:53:111","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9584:18:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72782,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72780,"name":"address","nodeType":"ElementaryTypeName","src":"9557:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9549:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72781,"name":"uint256","nodeType":"ElementaryTypeName","src":"9568:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72788,"nodeType":"VariableDeclaration","src":"9640:57:111","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9677:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":72787,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72784,"name":"address","nodeType":"ElementaryTypeName","src":"9648:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9640:29:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":72785,"name":"uint256","nodeType":"ElementaryTypeName","src":"9659:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72786,"nodeType":"ArrayTypeName","src":"9659:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":72792,"nodeType":"VariableDeclaration","src":"9735:56:111","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9770:21:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":72791,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72789,"name":"uint256","nodeType":"ElementaryTypeName","src":"9743:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9735:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72790,"name":"uint256","nodeType":"ElementaryTypeName","src":"9754:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72816,"nodeType":"FunctionDefinition","src":"10044:226:111","nodes":[],"body":{"id":72815,"nodeType":"Block","src":"10136:134:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72804,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72794,"src":"10157:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":72805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10164:12:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":72801,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10146:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75909_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10152:4:111","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":71758,"src":"10146:10:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":72806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10146:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72807,"nodeType":"ExpressionStatement","src":"10146:31:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72808,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"10187:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10187:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72810,"nodeType":"ExpressionStatement","src":"10187:16:111"},{"expression":{"id":72813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72811,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"10213:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72812,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72796,"src":"10239:24:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10213:50:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72814,"nodeType":"ExpressionStatement","src":"10213:50:111"}]},"functionSelector":"f09a4016","implemented":true,"kind":"function","modifiers":[{"id":72799,"kind":"modifierInvocation","modifierName":{"id":72798,"name":"initializer","nameLocations":["10124:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"10124:11:111"},"nodeType":"ModifierInvocation","src":"10124:11:111"}],"name":"init","nameLocation":"10053:4:111","parameters":{"id":72797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72794,"mutability":"mutable","name":"_allo","nameLocation":"10066:5:111","nodeType":"VariableDeclaration","scope":72816,"src":"10058:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72793,"name":"address","nodeType":"ElementaryTypeName","src":"10058:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72796,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10081:24:111","nodeType":"VariableDeclaration","scope":72816,"src":"10073:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72795,"name":"address","nodeType":"ElementaryTypeName","src":"10073:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10057:49:111"},"returnParameters":{"id":72800,"nodeType":"ParameterList","parameters":[],"src":"10136:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72912,"nodeType":"FunctionDefinition","src":"10276:824:111","nodes":[],"body":{"id":72911,"nodeType":"Block","src":"10359:741:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72826,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72818,"src":"10389:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72825,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71894,"src":"10369:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10369:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72828,"nodeType":"ExpressionStatement","src":"10369:28:111"},{"expression":{"id":72838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72829,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"10408:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":72833,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"10461:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10486:12:111","subExpression":{"id":72834,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72740,"src":"10486:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72831,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10443:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":72832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10449:11:111","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10443:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":72836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10443:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72830,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79639,"src":"10426:16:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$79639_$","typeString":"type(contract ICollateralVault)"}},"id":72837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10426:74:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"src":"10408:92:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":72839,"nodeType":"ExpressionStatement","src":"10408:92:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72840,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"10510:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":72842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10526:10:111","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":79611,"src":"10510:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":72843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10510:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72844,"nodeType":"ExpressionStatement","src":"10510:28:111"},{"assignments":[72849],"declarations":[{"constant":false,"id":72849,"mutability":"mutable","name":"ip","nameLocation":"10588:2:111","nodeType":"VariableDeclaration","scope":72911,"src":"10549:41:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72848,"nodeType":"UserDefinedTypeName","pathNode":{"id":72847,"name":"StrategyStruct.InitializeParams","nameLocations":["10549:14:111","10564:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"10549:31:111"},"referencedDeclaration":72502,"src":"10549:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":72857,"initialValue":{"arguments":[{"id":72852,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72820,"src":"10604:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":72853,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"10612:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":72854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10627:16:111","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"10612:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72502_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":72855,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10611:33:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72502_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72502_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":72850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10593:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10597:6:111","memberName":"decode","nodeType":"MemberAccess","src":"10593:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":72856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10549:96:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72858,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10660:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72859,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10663:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72499,"src":"10660:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10692:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10684:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72860,"name":"address","nodeType":"ElementaryTypeName","src":"10684:7:111","typeDescriptions":{}}},"id":72863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10684:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10660:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72869,"nodeType":"IfStatement","src":"10656:94:111","trueBody":{"id":72868,"nodeType":"Block","src":"10696:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72865,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72535,"src":"10717:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10717:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72867,"nodeType":"RevertStatement","src":"10710:29:111"}]}},{"expression":{"id":72875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72870,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"10760:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72872,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10802:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10805:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72499,"src":"10802:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72871,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"10780:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78716_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":72874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10780:43:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"src":"10760:63:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":72876,"nodeType":"ExpressionStatement","src":"10760:63:111"},{"expression":{"id":72880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72877,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72756,"src":"10834:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72878,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10849:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72879,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10852:12:111","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72488,"src":"10849:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"10834:30:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"id":72881,"nodeType":"ExpressionStatement","src":"10834:30:111"},{"expression":{"id":72885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72882,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"10874:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72883,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10888:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10891:11:111","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"10888:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"10874:28:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"id":72886,"nodeType":"ExpressionStatement","src":"10874:28:111"},{"expression":{"id":72890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72887,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"10912:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72888,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10926:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10929:11:111","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":72494,"src":"10926:14:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"10912:28:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":72891,"nodeType":"ExpressionStatement","src":"10912:28:111"},{"expression":{"id":72897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72892,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"10950:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72894,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10977:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10980:11:111","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":72501,"src":"10977:14:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72893,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"10964:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76270_$","typeString":"type(contract ISybilScorer)"}},"id":72896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10964:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"src":"10950:42:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"id":72898,"nodeType":"ExpressionStatement","src":"10950:42:111"},{"expression":{"arguments":[{"expression":{"id":72900,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"11018:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72901,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11021:16:111","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":72497,"src":"11018:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":72902,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"11039:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11042:8:111","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"11039:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":72899,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75354,"src":"11003:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$_t_struct$_CVParams_$72482_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":72904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11003:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72905,"nodeType":"ExpressionStatement","src":"11003:48:111"},{"eventCall":{"arguments":[{"id":72907,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72818,"src":"11081:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72908,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"11090:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":72906,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72618,"src":"11067:13:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$72502_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":72909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11067:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72910,"nodeType":"EmitStatement","src":"11062:31:111"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":72823,"kind":"modifierInvocation","modifierName":{"id":72822,"name":"onlyAllo","nameLocations":["10350:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":71766,"src":"10350:8:111"},"nodeType":"ModifierInvocation","src":"10350:8:111"}],"name":"initialize","nameLocation":"10285:10:111","parameters":{"id":72821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72818,"mutability":"mutable","name":"_poolId","nameLocation":"10304:7:111","nodeType":"VariableDeclaration","scope":72912,"src":"10296:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72817,"name":"uint256","nodeType":"ElementaryTypeName","src":"10296:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72820,"mutability":"mutable","name":"_data","nameLocation":"10326:5:111","nodeType":"VariableDeclaration","scope":72912,"src":"10313:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":72819,"name":"bytes","nodeType":"ElementaryTypeName","src":"10313:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10295:37:111"},"returnParameters":{"id":72824,"nodeType":"ParameterList","parameters":[],"src":"10359:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72916,"nodeType":"FunctionDefinition","src":"11271:83:111","nodes":[],"body":{"id":72915,"nodeType":"Block","src":"11299:55:111","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72913,"nodeType":"ParameterList","parameters":[],"src":"11279:2:111"},"returnParameters":{"id":72914,"nodeType":"ParameterList","parameters":[],"src":"11299:0:111"},"scope":75909,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72920,"nodeType":"FunctionDefinition","src":"11360:135:111","nodes":[],"body":{"id":72919,"nodeType":"Block","src":"11387:108:111","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72917,"nodeType":"ParameterList","parameters":[],"src":"11367:2:111"},"returnParameters":{"id":72918,"nodeType":"ParameterList","parameters":[],"src":"11387:0:111"},"scope":75909,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72941,"nodeType":"FunctionDefinition","src":"11501:202:111","nodes":[],"body":{"id":72940,"nodeType":"Block","src":"11592:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":72938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":72933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72928,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72922,"src":"11609:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":72930,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"11629:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}],"id":72929,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11624:4:111","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11624:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72381","typeString":"type(contract IPointStrategy)"}},"id":72932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11645:11:111","memberName":"interfaceId","nodeType":"MemberAccess","src":"11624:32:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11609:47:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":72936,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72922,"src":"11684:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72934,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11660:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75909_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11666:17:111","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57805,"src":"11660:23:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":72937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11660:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11609:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72927,"id":72939,"nodeType":"Return","src":"11602:94:111"}]},"baseFunctions":[57805],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11510:17:111","overrides":{"id":72924,"nodeType":"OverrideSpecifier","overrides":[],"src":"11568:8:111"},"parameters":{"id":72923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72922,"mutability":"mutable","name":"interfaceId","nameLocation":"11535:11:111","nodeType":"VariableDeclaration","scope":72941,"src":"11528:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":72921,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11528:6:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11527:20:111"},"returnParameters":{"id":72927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72941,"src":"11586:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72925,"name":"bool","nodeType":"ElementaryTypeName","src":"11586:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11585:6:111"},"scope":75909,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72982,"nodeType":"FunctionDefinition","src":"11874:377:111","nodes":[],"body":{"id":72981,"nodeType":"Block","src":"11933:318:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72946,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72943,"src":"11947:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11966:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11958:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72947,"name":"address","nodeType":"ElementaryTypeName","src":"11958:7:111","typeDescriptions":{}}},"id":72950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11958:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11947:21:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72956,"nodeType":"IfStatement","src":"11943:77:111","trueBody":{"id":72955,"nodeType":"Block","src":"11970:50:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72952,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72515,"src":"11991:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11991:18:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72954,"nodeType":"RevertStatement","src":"11984:25:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":72959,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12041:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":72958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12033:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72957,"name":"address","nodeType":"ElementaryTypeName","src":"12033:7:111","typeDescriptions":{}}},"id":72960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12033:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12071:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12063:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72961,"name":"address","nodeType":"ElementaryTypeName","src":"12063:7:111","typeDescriptions":{}}},"id":72964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12063:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12033:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72970,"nodeType":"IfStatement","src":"12029:100:111","trueBody":{"id":72969,"nodeType":"Block","src":"12075:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72966,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72535,"src":"12096:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12096:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72968,"nodeType":"RevertStatement","src":"12089:29:111"}]}},{"condition":{"id":72975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12142:36:111","subExpression":{"arguments":[{"id":72973,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72943,"src":"12170:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72971,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12143:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":72972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12161:8:111","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":78324,"src":"12143:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":72974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12143:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72980,"nodeType":"IfStatement","src":"12138:93:111","trueBody":{"id":72979,"nodeType":"Block","src":"12180:51:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72976,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72517,"src":"12201:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12201:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72978,"nodeType":"RevertStatement","src":"12194:26:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"11883:19:111","parameters":{"id":72944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72943,"mutability":"mutable","name":"_sender","nameLocation":"11911:7:111","nodeType":"VariableDeclaration","scope":72982,"src":"11903:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72942,"name":"address","nodeType":"ElementaryTypeName","src":"11903:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11902:17:111"},"returnParameters":{"id":72945,"nodeType":"ParameterList","parameters":[],"src":"11933:0:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":72998,"nodeType":"FunctionDefinition","src":"12257:162:111","nodes":[],"body":{"id":72997,"nodeType":"Block","src":"12303:116:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72985,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12317:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12321:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12317:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":72989,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12339:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":72988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12331:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72987,"name":"address","nodeType":"ElementaryTypeName","src":"12331:7:111","typeDescriptions":{}}},"id":72990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12331:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12317:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72996,"nodeType":"IfStatement","src":"12313:100:111","trueBody":{"id":72995,"nodeType":"Block","src":"12359:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72992,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72575,"src":"12380:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12380:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72994,"nodeType":"RevertStatement","src":"12373:29:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12266:21:111","parameters":{"id":72983,"nodeType":"ParameterList","parameters":[],"src":"12287:2:111"},"returnParameters":{"id":72984,"nodeType":"ParameterList","parameters":[],"src":"12303:0:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":73014,"nodeType":"FunctionDefinition","src":"12425:133:111","nodes":[],"body":{"id":73013,"nodeType":"Block","src":"12485:73:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73003,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73000,"src":"12499:8:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12519:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12511:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73004,"name":"address","nodeType":"ElementaryTypeName","src":"12511:7:111","typeDescriptions":{}}},"id":73007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12511:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12499:22:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73012,"nodeType":"IfStatement","src":"12495:56:111","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73009,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72533,"src":"12530:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12530:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73011,"nodeType":"RevertStatement","src":"12523:28:111"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12434:18:111","parameters":{"id":73001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73000,"mutability":"mutable","name":"_address","nameLocation":"12461:8:111","nodeType":"VariableDeclaration","scope":73014,"src":"12453:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72999,"name":"address","nodeType":"ElementaryTypeName","src":"12453:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12452:18:111"},"returnParameters":{"id":73002,"nodeType":"ParameterList","parameters":[],"src":"12485:0:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73032,"nodeType":"FunctionDefinition","src":"12564:166:111","nodes":[],"body":{"id":73031,"nodeType":"Block","src":"12605:125:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73017,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12619:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12623:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12619:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73021,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12641:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12659:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77047,"src":"12641:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79732_$","typeString":"function () view external returns (contract ISafe)"}},"id":73023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12641:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":73020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12633:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73019,"name":"address","nodeType":"ElementaryTypeName","src":"12633:7:111","typeDescriptions":{}}},"id":73024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12633:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12619:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73030,"nodeType":"IfStatement","src":"12615:109:111","trueBody":{"id":73029,"nodeType":"Block","src":"12675:49:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73026,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72585,"src":"12696:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12696:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73028,"nodeType":"RevertStatement","src":"12689:24:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12573:15:111","parameters":{"id":73015,"nodeType":"ParameterList","parameters":[],"src":"12588:2:111"},"returnParameters":{"id":73016,"nodeType":"ParameterList","parameters":[],"src":"12605:0:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73062,"nodeType":"FunctionDefinition","src":"12736:230:111","nodes":[],"body":{"id":73061,"nodeType":"Block","src":"12807:159:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73041,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"12829:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}],"id":73040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12821:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73039,"name":"address","nodeType":"ElementaryTypeName","src":"12821:7:111","typeDescriptions":{}}},"id":73042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12821:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12853:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12845:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73043,"name":"address","nodeType":"ElementaryTypeName","src":"12845:7:111","typeDescriptions":{}}},"id":73046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12845:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12821:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73051,"nodeType":"IfStatement","src":"12817:76:111","trueBody":{"id":73050,"nodeType":"Block","src":"12857:36:111","statements":[{"expression":{"hexValue":"74727565","id":73048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12878:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":73038,"id":73049,"nodeType":"Return","src":"12871:11:111"}]}},{"expression":{"arguments":[{"id":73054,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73034,"src":"12938:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73057,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12953:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12945:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73055,"name":"address","nodeType":"ElementaryTypeName","src":"12945:7:111","typeDescriptions":{}}},"id":73058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12945:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73052,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"12909:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"id":73053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12921:16:111","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76227,"src":"12909:28:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12909:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73038,"id":73060,"nodeType":"Return","src":"12902:57:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12745:17:111","parameters":{"id":73035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73034,"mutability":"mutable","name":"_user","nameLocation":"12771:5:111","nodeType":"VariableDeclaration","scope":73062,"src":"12763:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73033,"name":"address","nodeType":"ElementaryTypeName","src":"12763:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12762:15:111"},"returnParameters":{"id":73038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73062,"src":"12801:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73036,"name":"bool","nodeType":"ElementaryTypeName","src":"12801:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12800:6:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73300,"nodeType":"FunctionDefinition","src":"13292:2658:111","nodes":[],"body":{"id":73299,"nodeType":"Block","src":"13393:2557:111","nodes":[],"statements":[{"condition":{"id":73075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13407:27:111","subExpression":{"arguments":[{"id":73073,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73066,"src":"13426:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73072,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"13408:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13408:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73080,"nodeType":"IfStatement","src":"13403:90:111","trueBody":{"id":73079,"nodeType":"Block","src":"13436:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73076,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"13457:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13457:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73078,"nodeType":"RevertStatement","src":"13450:32:111"}]}},{"expression":{"id":73081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73064,"src":"13547:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73082,"nodeType":"ExpressionStatement","src":"13547:5:111"},{"assignments":[73087],"declarations":[{"constant":false,"id":73087,"mutability":"mutable","name":"proposal","nameLocation":"13599:8:111","nodeType":"VariableDeclaration","scope":73299,"src":"13562:45:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":73086,"nodeType":"UserDefinedTypeName","pathNode":{"id":73085,"name":"StrategyStruct.CreateProposal","nameLocations":["13562:14:111","13577:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72402,"src":"13562:29:111"},"referencedDeclaration":72402,"src":"13562:29:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":73095,"initialValue":{"arguments":[{"id":73090,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73064,"src":"13621:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":73091,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"13629:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13644:14:111","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":72402,"src":"13629:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72402_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":73093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13628:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72402_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72402_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":73088,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13610:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13614:6:111","memberName":"decode","nodeType":"MemberAccess","src":"13610:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13610:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13562:98:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73096,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"13775:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73097,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13784:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72392,"src":"13775:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13794:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13775:20:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73104,"nodeType":"IfStatement","src":"13771:78:111","trueBody":{"id":73103,"nodeType":"Block","src":"13797:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73100,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72531,"src":"13818:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13818:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73102,"nodeType":"RevertStatement","src":"13811:27:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"id":73109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73105,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72756,"src":"13925:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73106,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"13941:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13956:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72385,"src":"13941:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72385_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13969:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72383,"src":"13941:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"13925:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73165,"nodeType":"IfStatement","src":"13921:764:111","trueBody":{"id":73164,"nodeType":"Block","src":"13978:707:111","statements":[{"expression":{"arguments":[{"expression":{"id":73111,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14011:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14020:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72394,"src":"14011:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73110,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73014,"src":"13992:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13992:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73114,"nodeType":"ExpressionStatement","src":"13992:40:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73115,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14098:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14107:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72398,"src":"14098:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14133:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14125:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73117,"name":"address","nodeType":"ElementaryTypeName","src":"14125:7:111","typeDescriptions":{}}},"id":73120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14125:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14098:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73126,"nodeType":"IfStatement","src":"14094:102:111","trueBody":{"id":73125,"nodeType":"Block","src":"14137:59:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73122,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72525,"src":"14162:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14162:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73124,"nodeType":"RevertStatement","src":"14155:26:111"}]}},{"assignments":[73129],"declarations":[{"constant":false,"id":73129,"mutability":"mutable","name":"_allo","nameLocation":"14215:5:111","nodeType":"VariableDeclaration","scope":73164,"src":"14209:11:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":73128,"nodeType":"UserDefinedTypeName","pathNode":{"id":73127,"name":"IAllo","nameLocations":["14209:5:111"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14209:5:111"},"referencedDeclaration":2610,"src":"14209:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":73133,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73130,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14223:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}},"id":73131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14228:7:111","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":71812,"src":"14223:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":73132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14223:14:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14209:28:111"},{"assignments":[73138],"declarations":[{"constant":false,"id":73138,"mutability":"mutable","name":"pool","nameLocation":"14269:4:111","nodeType":"VariableDeclaration","scope":73164,"src":"14251:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73137,"nodeType":"UserDefinedTypeName","pathNode":{"id":73136,"name":"IAllo.Pool","nameLocations":["14251:5:111","14257:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14251:10:111"},"referencedDeclaration":2319,"src":"14251:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":73144,"initialValue":{"arguments":[{"expression":{"id":73141,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14290:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14299:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72392,"src":"14290:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73139,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73129,"src":"14276:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":73140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14282:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14276:13:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":73143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14276:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14251:55:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73145,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14324:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14333:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72398,"src":"14324:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":73147,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73138,"src":"14351:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":73148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14356:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14351:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14324:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73154,"nodeType":"IfStatement","src":"14320:235:111","trueBody":{"id":73153,"nodeType":"Block","src":"14363:192:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73150,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72527,"src":"14523:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73152,"nodeType":"RevertStatement","src":"14516:24:111"}]}},{"condition":{"arguments":[{"expression":{"id":73156,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14588:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14597:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72396,"src":"14588:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73155,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74478,"src":"14572:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":73158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14572:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73163,"nodeType":"IfStatement","src":"14568:107:111","trueBody":{"id":73162,"nodeType":"Block","src":"14615:60:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73159,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72529,"src":"14640:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14640:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73161,"nodeType":"RevertStatement","src":"14633:27:111"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":73168,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"14720:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14737:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"14720:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":73167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14712:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73166,"name":"address","nodeType":"ElementaryTypeName","src":"14712:7:111","typeDescriptions":{}}},"id":73170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14712:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":73173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14760:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14752:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73171,"name":"address","nodeType":"ElementaryTypeName","src":"14752:7:111","typeDescriptions":{}}},"id":73174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14752:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14712:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73176,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14766:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14770:5:111","memberName":"value","nodeType":"MemberAccess","src":"14766:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":73178,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"14778:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14795:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"14778:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14766:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14712:108:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73190,"nodeType":"IfStatement","src":"14695:245:111","trueBody":{"id":73189,"nodeType":"Block","src":"14831:109:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":73183,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14875:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14879:5:111","memberName":"value","nodeType":"MemberAccess","src":"14875:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73185,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"14886:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73186,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14903:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"14886:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73182,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"14852:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":73187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14852:77:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73188,"nodeType":"RevertStatement","src":"14845:84:111"}]}},{"assignments":[73192],"declarations":[{"constant":false,"id":73192,"mutability":"mutable","name":"proposalId","nameLocation":"14958:10:111","nodeType":"VariableDeclaration","scope":73299,"src":"14950:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73191,"name":"uint256","nodeType":"ElementaryTypeName","src":"14950:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73195,"initialValue":{"id":73194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"14971:17:111","subExpression":{"id":73193,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72746,"src":"14973:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14950:38:111"},{"assignments":[73200],"declarations":[{"constant":false,"id":73200,"mutability":"mutable","name":"p","nameLocation":"15030:1:111","nodeType":"VariableDeclaration","scope":73299,"src":"14998:33:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73199,"nodeType":"UserDefinedTypeName","pathNode":{"id":73198,"name":"StrategyStruct.Proposal","nameLocations":["14998:14:111","15013:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"14998:23:111"},"referencedDeclaration":72451,"src":"14998:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73204,"initialValue":{"baseExpression":{"id":73201,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"15034:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73203,"indexExpression":{"id":73202,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15044:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15034:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14998:57:111"},{"expression":{"id":73209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73205,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15066:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15068:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"15066:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73208,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15081:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15066:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73210,"nodeType":"ExpressionStatement","src":"15066:25:111"},{"expression":{"id":73215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73211,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15101:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15103:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"15101:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73214,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73066,"src":"15115:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15101:21:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73216,"nodeType":"ExpressionStatement","src":"15101:21:111"},{"expression":{"id":73222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73217,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15132:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15134:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"15132:13:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73220,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15148:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15157:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72394,"src":"15148:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15132:36:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73223,"nodeType":"ExpressionStatement","src":"15132:36:111"},{"expression":{"id":73229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73224,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15178:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15180:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72433,"src":"15178:16:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73227,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15197:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73228,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15206:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72398,"src":"15197:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15178:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73230,"nodeType":"ExpressionStatement","src":"15178:42:111"},{"expression":{"id":73236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73231,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15230:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15232:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"15230:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73234,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15250:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15259:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72396,"src":"15250:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15230:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73237,"nodeType":"ExpressionStatement","src":"15230:44:111"},{"expression":{"id":73244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73238,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15335:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73240,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15337:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"15335:16:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":73241,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"15354:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15369:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"15354:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":73243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15384:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"15354:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15335:55:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":73245,"nodeType":"ExpressionStatement","src":"15335:55:111"},{"expression":{"id":73251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73246,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15400:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15402:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"15400:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73249,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15414:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":73250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15420:6:111","memberName":"number","nodeType":"MemberAccess","src":"15414:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15400:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73252,"nodeType":"ExpressionStatement","src":"15400:26:111"},{"expression":{"id":73257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73253,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15436:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15438:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"15436:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":73256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15455:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15436:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73258,"nodeType":"ExpressionStatement","src":"15436:20:111"},{"expression":{"id":73264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73259,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15502:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15504:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"15502:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73262,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15515:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15524:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72401,"src":"15515:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"15502:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":73265,"nodeType":"ExpressionStatement","src":"15502:30:111"},{"expression":{"id":73273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73266,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15629:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15631:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"15629:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":73270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15643:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"15629:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73271,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"15670:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73272,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15687:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"15670:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15629:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73274,"nodeType":"ExpressionStatement","src":"15629:83:111"},{"expression":{"arguments":[{"id":73281,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15774:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73282,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15786:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15788:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"15786:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73275,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"15722:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":73277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15738:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79618,"src":"15722:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":73280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":73278,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15763:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15767:5:111","memberName":"value","nodeType":"MemberAccess","src":"15763:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15722:51:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":73284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15722:76:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73285,"nodeType":"ExpressionStatement","src":"15722:76:111"},{"eventCall":{"arguments":[{"id":73287,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71732,"src":"15830:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73288,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15838:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73286,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72632,"src":"15814:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":73289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15814:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73290,"nodeType":"EmitStatement","src":"15809:40:111"},{"expression":{"arguments":[{"arguments":[{"id":73295,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15931:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15923:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":73293,"name":"uint160","nodeType":"ElementaryTypeName","src":"15923:7:111","typeDescriptions":{}}},"id":73296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15923:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":73292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15915:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73291,"name":"address","nodeType":"ElementaryTypeName","src":"15915:7:111","typeDescriptions":{}}},"id":73297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15915:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73071,"id":73298,"nodeType":"Return","src":"15908:35:111"}]},"baseFunctions":[72200],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13301:18:111","overrides":{"id":73068,"nodeType":"OverrideSpecifier","overrides":[],"src":"13366:8:111"},"parameters":{"id":73067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73064,"mutability":"mutable","name":"_data","nameLocation":"13333:5:111","nodeType":"VariableDeclaration","scope":73300,"src":"13320:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73063,"name":"bytes","nodeType":"ElementaryTypeName","src":"13320:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73066,"mutability":"mutable","name":"_sender","nameLocation":"13348:7:111","nodeType":"VariableDeclaration","scope":73300,"src":"13340:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73065,"name":"address","nodeType":"ElementaryTypeName","src":"13340:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13319:37:111"},"returnParameters":{"id":73071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73300,"src":"13384:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73069,"name":"address","nodeType":"ElementaryTypeName","src":"13384:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13383:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73309,"nodeType":"FunctionDefinition","src":"15956:90:111","nodes":[],"body":{"id":73308,"nodeType":"Block","src":"16008:38:111","nodes":[],"statements":[{"expression":{"expression":{"id":73305,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"16025:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":73306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16034:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"16025:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73304,"id":73307,"nodeType":"Return","src":"16018:21:111"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"15965:8:111","parameters":{"id":73301,"nodeType":"ParameterList","parameters":[],"src":"15973:2:111"},"returnParameters":{"id":73304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73303,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73309,"src":"15999:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73302,"name":"uint256","nodeType":"ElementaryTypeName","src":"15999:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15998:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73348,"nodeType":"FunctionDefinition","src":"16052:351:111","nodes":[],"body":{"id":73347,"nodeType":"Block","src":"16087:316:111","nodes":[],"statements":[{"assignments":[73313],"declarations":[{"constant":false,"id":73313,"mutability":"mutable","name":"member","nameLocation":"16105:6:111","nodeType":"VariableDeclaration","scope":73347,"src":"16097:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73312,"name":"address","nodeType":"ElementaryTypeName","src":"16097:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":73316,"initialValue":{"expression":{"id":73314,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16114:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16118:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16114:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16097:27:111"},{"condition":{"id":73320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16138:26:111","subExpression":{"arguments":[{"id":73318,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"16157:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73317,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"16139:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16139:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73325,"nodeType":"IfStatement","src":"16134:89:111","trueBody":{"id":73324,"nodeType":"Block","src":"16166:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73321,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"16187:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16187:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73323,"nodeType":"RevertStatement","src":"16180:32:111"}]}},{"expression":{"arguments":[{"id":73329,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"16275:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73332,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16291:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16283:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73330,"name":"address","nodeType":"ElementaryTypeName","src":"16283:7:111","typeDescriptions":{}}},"id":73333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16283:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73326,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16232:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16250:24:111","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"16232:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16232:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73335,"nodeType":"ExpressionStatement","src":"16232:65:111"},{"expression":{"id":73345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73336,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"16307:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":73339,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"16374:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73342,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16390:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16382:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73340,"name":"address","nodeType":"ElementaryTypeName","src":"16382:7:111","typeDescriptions":{}}},"id":73343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16382:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73337,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16331:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16349:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"16331:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16331:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16307:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73346,"nodeType":"ExpressionStatement","src":"16307:89:111"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16061:14:111","parameters":{"id":73310,"nodeType":"ParameterList","parameters":[],"src":"16075:2:111"},"returnParameters":{"id":73311,"nodeType":"ParameterList","parameters":[],"src":"16087:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73357,"nodeType":"FunctionDefinition","src":"16409:81:111","nodes":[],"body":{"id":73356,"nodeType":"Block","src":"16444:46:111","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":73352,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16472:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16476:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16472:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73351,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73405,"src":"16454:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16454:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73355,"nodeType":"ExpressionStatement","src":"16454:29:111"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16418:16:111","parameters":{"id":73349,"nodeType":"ParameterList","parameters":[],"src":"16434:2:111"},"returnParameters":{"id":73350,"nodeType":"ParameterList","parameters":[],"src":"16444:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73370,"nodeType":"FunctionDefinition","src":"16496:128:111","nodes":[],"body":{"id":73369,"nodeType":"Block","src":"16548:76:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73362,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72998,"src":"16558:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16558:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73364,"nodeType":"ExpressionStatement","src":"16558:23:111"},{"expression":{"arguments":[{"id":73366,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73359,"src":"16609:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73365,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73405,"src":"16591:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73368,"nodeType":"ExpressionStatement","src":"16591:26:111"}]},"baseFunctions":[72356],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16505:16:111","parameters":{"id":73360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73359,"mutability":"mutable","name":"_member","nameLocation":"16530:7:111","nodeType":"VariableDeclaration","scope":73370,"src":"16522:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73358,"name":"address","nodeType":"ElementaryTypeName","src":"16522:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16521:17:111"},"returnParameters":{"id":73361,"nodeType":"ParameterList","parameters":[],"src":"16548:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73405,"nodeType":"FunctionDefinition","src":"16630:351:111","nodes":[],"body":{"id":73404,"nodeType":"Block","src":"16683:298:111","nodes":[],"statements":[{"expression":{"id":73384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73375,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"16693:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":73378,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16760:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73381,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16777:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16769:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73379,"name":"address","nodeType":"ElementaryTypeName","src":"16769:7:111","typeDescriptions":{}}},"id":73382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16769:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73376,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16717:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16735:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"16717:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16717:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16693:90:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73385,"nodeType":"ExpressionStatement","src":"16693:90:111"},{"expression":{"arguments":[{"id":73389,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16838:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73392,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16855:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16847:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73390,"name":"address","nodeType":"ElementaryTypeName","src":"16847:7:111","typeDescriptions":{}}},"id":73393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16847:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73386,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16793:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16811:26:111","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77790,"src":"16793:44:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16793:68:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73395,"nodeType":"ExpressionStatement","src":"16793:68:111"},{"expression":{"arguments":[{"id":73397,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16925:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73396,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"16916:8:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73399,"nodeType":"ExpressionStatement","src":"16916:17:111"},{"eventCall":{"arguments":[{"id":73401,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16966:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73400,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72640,"src":"16948:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16948:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73403,"nodeType":"EmitStatement","src":"16943:31:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"16639:17:111","parameters":{"id":73373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73372,"mutability":"mutable","name":"_member","nameLocation":"16665:7:111","nodeType":"VariableDeclaration","scope":73405,"src":"16657:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73371,"name":"address","nodeType":"ElementaryTypeName","src":"16657:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16656:17:111"},"returnParameters":{"id":73374,"nodeType":"ParameterList","parameters":[],"src":"16683:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73498,"nodeType":"FunctionDefinition","src":"16987:1057:111","nodes":[],"body":{"id":73497,"nodeType":"Block","src":"17078:966:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73414,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72998,"src":"17133:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17133:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73416,"nodeType":"ExpressionStatement","src":"17133:23:111"},{"condition":{"id":73420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17170:27:111","subExpression":{"arguments":[{"id":73418,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17189:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73417,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"17171:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17171:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73425,"nodeType":"IfStatement","src":"17166:90:111","trueBody":{"id":73424,"nodeType":"Block","src":"17199:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73421,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"17220:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17220:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73423,"nodeType":"RevertStatement","src":"17213:32:111"}]}},{"assignments":[73427],"declarations":[{"constant":false,"id":73427,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17273:16:111","nodeType":"VariableDeclaration","scope":73497,"src":"17265:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73426,"name":"uint256","nodeType":"ElementaryTypeName","src":"17265:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73429,"initialValue":{"hexValue":"30","id":73428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17292:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17265:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73430,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"17307:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73431,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"17322:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17337:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"17322:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17349:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72388,"src":"17322:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"17307:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73442,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"17452:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73443,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"17467:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17482:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"17467:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17494:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72387,"src":"17467:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"17452:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73455,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"17600:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73456,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"17615:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17630:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"17615:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17642:9:111","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":72389,"src":"17615:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"17600:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73468,"nodeType":"IfStatement","src":"17596:148:111","trueBody":{"id":73467,"nodeType":"Block","src":"17653:91:111","statements":[{"expression":{"id":73465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73460,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17667:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73462,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17709:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73463,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17718:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73461,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73684,"src":"17686:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17686:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17667:66:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73466,"nodeType":"ExpressionStatement","src":"17667:66:111"}]}},"id":73469,"nodeType":"IfStatement","src":"17448:296:111","trueBody":{"id":73454,"nodeType":"Block","src":"17502:88:111","statements":[{"expression":{"id":73452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73447,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17516:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73449,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17555:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73450,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17564:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73448,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73606,"src":"17535:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17535:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17516:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73453,"nodeType":"ExpressionStatement","src":"17516:63:111"}]}},"id":73470,"nodeType":"IfStatement","src":"17303:441:111","trueBody":{"id":73441,"nodeType":"Block","src":"17360:82:111","statements":[{"expression":{"id":73439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73435,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17374:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73437,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17416:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73436,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73564,"src":"17393:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17393:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17374:57:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73440,"nodeType":"ExpressionStatement","src":"17374:57:111"}]}},{"assignments":[73472],"declarations":[{"constant":false,"id":73472,"mutability":"mutable","name":"isActivated","nameLocation":"17758:11:111","nodeType":"VariableDeclaration","scope":73497,"src":"17753:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73471,"name":"bool","nodeType":"ElementaryTypeName","src":"17753:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73481,"initialValue":{"arguments":[{"id":73475,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17818:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73478,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17835:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17827:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73476,"name":"address","nodeType":"ElementaryTypeName","src":"17827:7:111","typeDescriptions":{}}},"id":73479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17827:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73473,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"17772:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17790:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77088,"src":"17772:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17772:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"17753:88:111"},{"condition":{"id":73482,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73472,"src":"17855:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73488,"nodeType":"IfStatement","src":"17851:82:111","trueBody":{"id":73487,"nodeType":"Block","src":"17868:65:111","statements":[{"expression":{"id":73485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73483,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"17882:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":73484,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17906:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17882:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73486,"nodeType":"ExpressionStatement","src":"17882:40:111"}]}},{"eventCall":{"arguments":[{"id":73490,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17962:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73491,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17971:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73492,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17987:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73489,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72648,"src":"17947:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17947:57:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73494,"nodeType":"EmitStatement","src":"17942:62:111"},{"expression":{"id":73495,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"18021:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73413,"id":73496,"nodeType":"Return","src":"18014:23:111"}]},"baseFunctions":[72365],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"16996:13:111","parameters":{"id":73410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73407,"mutability":"mutable","name":"_member","nameLocation":"17018:7:111","nodeType":"VariableDeclaration","scope":73498,"src":"17010:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73406,"name":"address","nodeType":"ElementaryTypeName","src":"17010:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73409,"mutability":"mutable","name":"_amountToStake","nameLocation":"17035:14:111","nodeType":"VariableDeclaration","scope":73498,"src":"17027:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73408,"name":"uint256","nodeType":"ElementaryTypeName","src":"17027:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17009:41:111"},"returnParameters":{"id":73413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73498,"src":"17069:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73411,"name":"uint256","nodeType":"ElementaryTypeName","src":"17069:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17068:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73554,"nodeType":"FunctionDefinition","src":"18050:681:111","nodes":[],"body":{"id":73553,"nodeType":"Block","src":"18143:588:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73507,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72998,"src":"18153:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18153:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73509,"nodeType":"ExpressionStatement","src":"18153:23:111"},{"assignments":[73511],"declarations":[{"constant":false,"id":73511,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18240:16:111","nodeType":"VariableDeclaration","scope":73553,"src":"18232:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18232:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73513,"initialValue":{"hexValue":"30","id":73512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18259:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18232:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73514,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"18274:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73515,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"18289:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18304:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"18289:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18316:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72388,"src":"18289:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"18274:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73519,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"18329:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73520,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"18344:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18359:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"18344:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18371:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72387,"src":"18344:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"18329:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18274:103:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":73539,"nodeType":"Block","src":"18475:93:111","statements":[{"expression":{"id":73537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73532,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18489:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73534,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"18531:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73535,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"18540:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73533,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73768,"src":"18508:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18508:49:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18489:68:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73538,"nodeType":"ExpressionStatement","src":"18489:68:111"}]},"id":73540,"nodeType":"IfStatement","src":"18270:298:111","trueBody":{"id":73531,"nodeType":"Block","src":"18379:90:111","statements":[{"expression":{"id":73529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73525,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18393:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73527,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"18441:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73526,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73694,"src":"18412:28:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18412:46:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18393:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73530,"nodeType":"ExpressionStatement","src":"18393:65:111"}]}},{"expression":{"id":73543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73541,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"18577:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":73542,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18601:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18577:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73544,"nodeType":"ExpressionStatement","src":"18577:40:111"},{"eventCall":{"arguments":[{"id":73546,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"18647:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73547,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"18656:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73548,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18674:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73545,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72656,"src":"18632:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18632:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73550,"nodeType":"EmitStatement","src":"18627:64:111"},{"expression":{"id":73551,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18708:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73506,"id":73552,"nodeType":"Return","src":"18701:23:111"}]},"baseFunctions":[72374],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18059:13:111","parameters":{"id":73503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73500,"mutability":"mutable","name":"_member","nameLocation":"18081:7:111","nodeType":"VariableDeclaration","scope":73554,"src":"18073:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73499,"name":"address","nodeType":"ElementaryTypeName","src":"18073:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73502,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18098:16:111","nodeType":"VariableDeclaration","scope":73554,"src":"18090:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73501,"name":"uint256","nodeType":"ElementaryTypeName","src":"18090:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18072:43:111"},"returnParameters":{"id":73506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73554,"src":"18134:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73504,"name":"uint256","nodeType":"ElementaryTypeName","src":"18134:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18133:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73564,"nodeType":"FunctionDefinition","src":"18737:126:111","nodes":[],"body":{"id":73563,"nodeType":"Block","src":"18825:38:111","nodes":[],"statements":[{"expression":{"id":73561,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73556,"src":"18842:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73560,"id":73562,"nodeType":"Return","src":"18835:21:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"18746:22:111","parameters":{"id":73557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73556,"mutability":"mutable","name":"_amountToStake","nameLocation":"18777:14:111","nodeType":"VariableDeclaration","scope":73564,"src":"18769:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73555,"name":"uint256","nodeType":"ElementaryTypeName","src":"18769:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18768:24:111"},"returnParameters":{"id":73560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73564,"src":"18816:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73558,"name":"uint256","nodeType":"ElementaryTypeName","src":"18816:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18815:9:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73606,"nodeType":"FunctionDefinition","src":"18869:624:111","nodes":[],"body":{"id":73605,"nodeType":"Block","src":"18971:522:111","nodes":[],"statements":[{"assignments":[73574],"declarations":[{"constant":false,"id":73574,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"18989:16:111","nodeType":"VariableDeclaration","scope":73605,"src":"18981:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73573,"name":"uint256","nodeType":"ElementaryTypeName","src":"18981:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73576,"initialValue":{"id":73575,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73568,"src":"19008:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18981:41:111"},{"assignments":[73578],"declarations":[{"constant":false,"id":73578,"mutability":"mutable","name":"memberPower","nameLocation":"19104:11:111","nodeType":"VariableDeclaration","scope":73605,"src":"19096:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73577,"name":"uint256","nodeType":"ElementaryTypeName","src":"19096:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73587,"initialValue":{"arguments":[{"id":73581,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73566,"src":"19161:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73584,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19178:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19170:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73582,"name":"address","nodeType":"ElementaryTypeName","src":"19170:7:111","typeDescriptions":{}}},"id":73585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19170:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73579,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"19118:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19136:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"19118:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19118:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19096:88:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73588,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73578,"src":"19250:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73589,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73574,"src":"19264:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19250:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":73591,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"19283:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19295:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"19283:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19250:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73602,"nodeType":"IfStatement","src":"19246:139:111","trueBody":{"id":73601,"nodeType":"Block","src":"19306:79:111","statements":[{"expression":{"id":73599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73594,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73574,"src":"19320:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73595,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"19339:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19351:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"19339:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73597,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73578,"src":"19363:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19339:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19320:54:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73600,"nodeType":"ExpressionStatement","src":"19320:54:111"}]}},{"expression":{"id":73603,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73574,"src":"19470:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73572,"id":73604,"nodeType":"Return","src":"19463:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"18878:19:111","parameters":{"id":73569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73566,"mutability":"mutable","name":"_member","nameLocation":"18906:7:111","nodeType":"VariableDeclaration","scope":73606,"src":"18898:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73565,"name":"address","nodeType":"ElementaryTypeName","src":"18898:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73568,"mutability":"mutable","name":"_amountToStake","nameLocation":"18923:14:111","nodeType":"VariableDeclaration","scope":73606,"src":"18915:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73567,"name":"uint256","nodeType":"ElementaryTypeName","src":"18915:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18897:41:111"},"returnParameters":{"id":73572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73606,"src":"18962:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73570,"name":"uint256","nodeType":"ElementaryTypeName","src":"18962:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18961:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73684,"nodeType":"FunctionDefinition","src":"19499:733:111","nodes":[],"body":{"id":73683,"nodeType":"Block","src":"19604:628:111","nodes":[],"statements":[{"assignments":[73616],"declarations":[{"constant":false,"id":73616,"mutability":"mutable","name":"totalStake","nameLocation":"19622:10:111","nodeType":"VariableDeclaration","scope":73683,"src":"19614:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73615,"name":"uint256","nodeType":"ElementaryTypeName","src":"19614:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73623,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73619,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73608,"src":"19675:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73617,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"19635:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19653:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78113,"src":"19635:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19635:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73621,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73610,"src":"19686:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19635:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19614:86:111"},{"assignments":[73625],"declarations":[{"constant":false,"id":73625,"mutability":"mutable","name":"decimal","nameLocation":"19719:7:111","nodeType":"VariableDeclaration","scope":73683,"src":"19711:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73624,"name":"uint256","nodeType":"ElementaryTypeName","src":"19711:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73627,"initialValue":{"hexValue":"3138","id":73626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19729:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"19711:20:111"},{"clauses":[{"block":{"id":73648,"nodeType":"Block","src":"19829:52:111","statements":[{"expression":{"id":73646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73641,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73625,"src":"19843:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73644,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73639,"src":"19861:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19853:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73642,"name":"uint256","nodeType":"ElementaryTypeName","src":"19853:7:111","typeDescriptions":{}}},"id":73645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19853:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19843:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73647,"nodeType":"ExpressionStatement","src":"19843:27:111"}]},"errorName":"","id":73649,"nodeType":"TryCatchClause","parameters":{"id":73640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73639,"mutability":"mutable","name":"_decimal","nameLocation":"19819:8:111","nodeType":"VariableDeclaration","scope":73649,"src":"19813:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73638,"name":"uint8","nodeType":"ElementaryTypeName","src":"19813:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"19812:16:111"},"src":"19804:77:111"},{"block":{"id":73650,"nodeType":"Block","src":"19888:64:111","statements":[]},"errorName":"","id":73651,"nodeType":"TryCatchClause","src":"19882:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73631,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"19759:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19777:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77043,"src":"19759:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19759:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19751:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73629,"name":"address","nodeType":"ElementaryTypeName","src":"19751:7:111","typeDescriptions":{}}},"id":73634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19751:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73628,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"19745:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19745:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19793:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"19745:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19745:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73652,"nodeType":"TryStatement","src":"19741:211:111"},{"assignments":[73654],"declarations":[{"constant":false,"id":73654,"mutability":"mutable","name":"newTotalPoints","nameLocation":"19969:14:111","nodeType":"VariableDeclaration","scope":73683,"src":"19961:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73653,"name":"uint256","nodeType":"ElementaryTypeName","src":"19961:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73663,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73657,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73616,"src":"19996:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20009:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73659,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73625,"src":"20015:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20009:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19996:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73655,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"19986:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19991:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"19986:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19986:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19961:62:111"},{"assignments":[73665],"declarations":[{"constant":false,"id":73665,"mutability":"mutable","name":"currentPoints","nameLocation":"20041:13:111","nodeType":"VariableDeclaration","scope":73683,"src":"20033:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73664,"name":"uint256","nodeType":"ElementaryTypeName","src":"20033:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73674,"initialValue":{"arguments":[{"id":73668,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73608,"src":"20100:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73671,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20117:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20109:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73669,"name":"address","nodeType":"ElementaryTypeName","src":"20109:7:111","typeDescriptions":{}}},"id":73672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20109:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73666,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"20057:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20075:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"20057:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20057:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20033:90:111"},{"assignments":[73676],"declarations":[{"constant":false,"id":73676,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20142:16:111","nodeType":"VariableDeclaration","scope":73683,"src":"20134:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73675,"name":"uint256","nodeType":"ElementaryTypeName","src":"20134:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73680,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73677,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73654,"src":"20161:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73678,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73665,"src":"20178:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20161:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20134:57:111"},{"expression":{"id":73681,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73676,"src":"20209:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73614,"id":73682,"nodeType":"Return","src":"20202:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19508:22:111","parameters":{"id":73611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73608,"mutability":"mutable","name":"_member","nameLocation":"19539:7:111","nodeType":"VariableDeclaration","scope":73684,"src":"19531:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73607,"name":"address","nodeType":"ElementaryTypeName","src":"19531:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73610,"mutability":"mutable","name":"_amountToStake","nameLocation":"19556:14:111","nodeType":"VariableDeclaration","scope":73684,"src":"19548:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73609,"name":"uint256","nodeType":"ElementaryTypeName","src":"19548:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19530:41:111"},"returnParameters":{"id":73614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73684,"src":"19595:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73612,"name":"uint256","nodeType":"ElementaryTypeName","src":"19595:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19594:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73694,"nodeType":"FunctionDefinition","src":"20238:136:111","nodes":[],"body":{"id":73693,"nodeType":"Block","src":"20334:40:111","nodes":[],"statements":[{"expression":{"id":73691,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73686,"src":"20351:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73690,"id":73692,"nodeType":"Return","src":"20344:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20247:28:111","parameters":{"id":73687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73686,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20284:16:111","nodeType":"VariableDeclaration","scope":73694,"src":"20276:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73685,"name":"uint256","nodeType":"ElementaryTypeName","src":"20276:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20275:26:111"},"returnParameters":{"id":73690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73689,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73694,"src":"20325:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73688,"name":"uint256","nodeType":"ElementaryTypeName","src":"20325:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20324:9:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73768,"nodeType":"FunctionDefinition","src":"20380:811:111","nodes":[],"body":{"id":73767,"nodeType":"Block","src":"20487:704:111","nodes":[],"statements":[{"assignments":[73704],"declarations":[{"constant":false,"id":73704,"mutability":"mutable","name":"decimal","nameLocation":"20505:7:111","nodeType":"VariableDeclaration","scope":73767,"src":"20497:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73703,"name":"uint256","nodeType":"ElementaryTypeName","src":"20497:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73706,"initialValue":{"hexValue":"3138","id":73705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20515:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20497:20:111"},{"clauses":[{"block":{"id":73727,"nodeType":"Block","src":"20615:52:111","statements":[{"expression":{"id":73725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73720,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73704,"src":"20629:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73723,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73718,"src":"20647:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20639:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73721,"name":"uint256","nodeType":"ElementaryTypeName","src":"20639:7:111","typeDescriptions":{}}},"id":73724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20639:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20629:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73726,"nodeType":"ExpressionStatement","src":"20629:27:111"}]},"errorName":"","id":73728,"nodeType":"TryCatchClause","parameters":{"id":73719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73718,"mutability":"mutable","name":"_decimal","nameLocation":"20605:8:111","nodeType":"VariableDeclaration","scope":73728,"src":"20599:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73717,"name":"uint8","nodeType":"ElementaryTypeName","src":"20599:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20598:16:111"},"src":"20590:77:111"},{"block":{"id":73729,"nodeType":"Block","src":"20674:64:111","statements":[]},"errorName":"","id":73730,"nodeType":"TryCatchClause","src":"20668:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73710,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"20545:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20563:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77043,"src":"20545:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20545:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20537:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73708,"name":"address","nodeType":"ElementaryTypeName","src":"20537:7:111","typeDescriptions":{}}},"id":73713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20537:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73707,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"20531:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20531:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20579:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"20531:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20531:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73731,"nodeType":"TryStatement","src":"20527:211:111"},{"assignments":[73733],"declarations":[{"constant":false,"id":73733,"mutability":"mutable","name":"newTotalStake","nameLocation":"20817:13:111","nodeType":"VariableDeclaration","scope":73767,"src":"20809:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73732,"name":"uint256","nodeType":"ElementaryTypeName","src":"20809:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73740,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73736,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73696,"src":"20873:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73734,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"20833:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20851:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78113,"src":"20833:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20833:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73738,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73698,"src":"20884:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20833:67:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20809:91:111"},{"assignments":[73742],"declarations":[{"constant":false,"id":73742,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20974:14:111","nodeType":"VariableDeclaration","scope":73767,"src":"20966:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73741,"name":"uint256","nodeType":"ElementaryTypeName","src":"20966:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73751,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73745,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73733,"src":"21001:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21017:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73747,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73704,"src":"21023:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21017:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21001:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73743,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"20991:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20996:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"20991:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20991:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20966:65:111"},{"assignments":[73753],"declarations":[{"constant":false,"id":73753,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21049:16:111","nodeType":"VariableDeclaration","scope":73767,"src":"21041:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73752,"name":"uint256","nodeType":"ElementaryTypeName","src":"21041:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73764,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73756,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73696,"src":"21111:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73759,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21128:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21120:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73757,"name":"address","nodeType":"ElementaryTypeName","src":"21120:7:111","typeDescriptions":{}}},"id":73760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21120:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73754,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"21068:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21086:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"21068:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21068:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73762,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73742,"src":"21137:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21068:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21041:110:111"},{"expression":{"id":73765,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73753,"src":"21168:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73702,"id":73766,"nodeType":"Return","src":"21161:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20389:22:111","parameters":{"id":73699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73696,"mutability":"mutable","name":"_member","nameLocation":"20420:7:111","nodeType":"VariableDeclaration","scope":73768,"src":"20412:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73695,"name":"address","nodeType":"ElementaryTypeName","src":"20412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73698,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20437:16:111","nodeType":"VariableDeclaration","scope":73768,"src":"20429:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73697,"name":"uint256","nodeType":"ElementaryTypeName","src":"20429:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20411:43:111"},"returnParameters":{"id":73702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73701,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73768,"src":"20478:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73700,"name":"uint256","nodeType":"ElementaryTypeName","src":"20478:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20477:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73777,"nodeType":"FunctionDefinition","src":"21197:99:111","nodes":[],"body":{"id":73776,"nodeType":"Block","src":"21251:45:111","nodes":[],"statements":[{"expression":{"expression":{"id":73773,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"21268:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73774,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21280:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"21268:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73772,"id":73775,"nodeType":"Return","src":"21261:28:111"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21206:12:111","parameters":{"id":73769,"nodeType":"ParameterList","parameters":[],"src":"21218:2:111"},"returnParameters":{"id":73772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73777,"src":"21242:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73770,"name":"uint256","nodeType":"ElementaryTypeName","src":"21242:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21241:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73786,"nodeType":"FunctionDefinition","src":"21302:110:111","nodes":[],"body":{"id":73785,"nodeType":"Block","src":"21377:35:111","nodes":[],"statements":[{"expression":{"id":73783,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"21394:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":73782,"id":73784,"nodeType":"Return","src":"21387:18:111"}]},"baseFunctions":[72380],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21311:14:111","parameters":{"id":73778,"nodeType":"ParameterList","parameters":[],"src":"21325:2:111"},"returnParameters":{"id":73782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73786,"src":"21349:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":73780,"nodeType":"UserDefinedTypeName","pathNode":{"id":73779,"name":"StrategyStruct.PointSystem","nameLocations":["21349:14:111","21364:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"21349:26:111"},"referencedDeclaration":72390,"src":"21349:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21348:28:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73797,"nodeType":"FunctionDefinition","src":"21531:226:111","nodes":[],"body":{"id":73796,"nodeType":"Block","src":"21609:148:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73793,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72523,"src":"21674:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21674:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73795,"nodeType":"RevertStatement","src":"21667:23:111"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"21540:15:111","parameters":{"id":73791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73797,"src":"21556:39:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73788,"nodeType":"UserDefinedTypeName","pathNode":{"id":73787,"name":"StrategyStruct.ProposalSupport","nameLocations":["21556:14:111","21571:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"21556:30:111"},"referencedDeclaration":72456,"src":"21556:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73789,"nodeType":"ArrayTypeName","src":"21556:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"21555:41:111"},"returnParameters":{"id":73792,"nodeType":"ParameterList","parameters":[],"src":"21609:0:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":73862,"nodeType":"FunctionDefinition","src":"21903:650:111","nodes":[],"body":{"id":73861,"nodeType":"Block","src":"21977:576:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":73806,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22007:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73805,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72982,"src":"21987:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":73807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73808,"nodeType":"ExpressionStatement","src":"21987:28:111"},{"condition":{"id":73812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22029:27:111","subExpression":{"arguments":[{"id":73810,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22048:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73809,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"22030:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22030:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73817,"nodeType":"IfStatement","src":"22025:90:111","trueBody":{"id":73816,"nodeType":"Block","src":"22058:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73813,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"22079:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22079:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73815,"nodeType":"RevertStatement","src":"22072:32:111"}]}},{"assignments":[73819],"declarations":[{"constant":false,"id":73819,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22175:23:111","nodeType":"VariableDeclaration","scope":73861,"src":"22170:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73818,"name":"bool","nodeType":"ElementaryTypeName","src":"22170:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73828,"initialValue":{"arguments":[{"id":73822,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22247:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73825,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22264:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22256:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73823,"name":"address","nodeType":"ElementaryTypeName","src":"22256:7:111","typeDescriptions":{}}},"id":73826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22256:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73820,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"22201:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22219:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77088,"src":"22201:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22201:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22170:100:111"},{"condition":{"id":73830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22284:24:111","subExpression":{"id":73829,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73819,"src":"22285:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73835,"nodeType":"IfStatement","src":"22280:78:111","trueBody":{"id":73834,"nodeType":"Block","src":"22310:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73831,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72519,"src":"22331:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22331:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73833,"nodeType":"RevertStatement","src":"22324:23:111"}]}},{"assignments":[73841],"declarations":[{"constant":false,"id":73841,"mutability":"mutable","name":"pv","nameLocation":"22407:2:111","nodeType":"VariableDeclaration","scope":73861,"src":"22367:42:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73839,"nodeType":"UserDefinedTypeName","pathNode":{"id":73838,"name":"StrategyStruct.ProposalSupport","nameLocations":["22367:14:111","22382:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"22367:30:111"},"referencedDeclaration":72456,"src":"22367:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73840,"nodeType":"ArrayTypeName","src":"22367:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":73850,"initialValue":{"arguments":[{"id":73844,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73799,"src":"22423:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":73845,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"22431:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22446:15:111","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"22431:30:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$72456_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":73847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22431:32:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":73848,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22430:34:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":73842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22412:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22416:6:111","memberName":"decode","nodeType":"MemberAccess","src":"22412:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22412:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22367:98:111"},{"expression":{"arguments":[{"id":73852,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22500:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73853,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73841,"src":"22509:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73851,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74574,"src":"22475:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22475:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73855,"nodeType":"ExpressionStatement","src":"22475:37:111"},{"expression":{"arguments":[{"id":73857,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22534:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73858,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73841,"src":"22543:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73856,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74861,"src":"22522:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22522:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73860,"nodeType":"ExpressionStatement","src":"22522:24:111"}]},"baseFunctions":[72208],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"21912:9:111","overrides":{"id":73803,"nodeType":"OverrideSpecifier","overrides":[],"src":"21968:8:111"},"parameters":{"id":73802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73799,"mutability":"mutable","name":"_data","nameLocation":"21935:5:111","nodeType":"VariableDeclaration","scope":73862,"src":"21922:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73798,"name":"bytes","nodeType":"ElementaryTypeName","src":"21922:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73801,"mutability":"mutable","name":"_sender","nameLocation":"21950:7:111","nodeType":"VariableDeclaration","scope":73862,"src":"21942:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73800,"name":"address","nodeType":"ElementaryTypeName","src":"21942:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21921:37:111"},"returnParameters":{"id":73804,"nodeType":"ParameterList","parameters":[],"src":"21977:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74029,"nodeType":"FunctionDefinition","src":"22809:1879:111","nodes":[],"body":{"id":74028,"nodeType":"Block","src":"22895:1793:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73873,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73867,"src":"22954:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22960:6:111","memberName":"length","nodeType":"MemberAccess","src":"22954:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":73875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22970:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22954:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73881,"nodeType":"IfStatement","src":"22950:76:111","trueBody":{"id":73880,"nodeType":"Block","src":"22973:53:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73877,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72555,"src":"22994:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22994:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73879,"nodeType":"RevertStatement","src":"22987:28:111"}]}},{"assignments":[73883],"declarations":[{"constant":false,"id":73883,"mutability":"mutable","name":"proposalId","nameLocation":"23044:10:111","nodeType":"VariableDeclaration","scope":74028,"src":"23036:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73882,"name":"uint256","nodeType":"ElementaryTypeName","src":"23036:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73891,"initialValue":{"arguments":[{"id":73886,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73867,"src":"23068:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":73888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23076:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73887,"name":"uint256","nodeType":"ElementaryTypeName","src":"23076:7:111","typeDescriptions":{}}}],"id":73889,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23075:9:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":73884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23057:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23061:6:111","memberName":"decode","nodeType":"MemberAccess","src":"23057:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23057:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23036:49:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73892,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23100:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23114:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23100:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73899,"nodeType":"IfStatement","src":"23096:77:111","trueBody":{"id":73898,"nodeType":"Block","src":"23117:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73895,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72557,"src":"23138:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23138:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73897,"nodeType":"RevertStatement","src":"23131:31:111"}]}},{"assignments":[73904],"declarations":[{"constant":false,"id":73904,"mutability":"mutable","name":"proposal","nameLocation":"23214:8:111","nodeType":"VariableDeclaration","scope":74028,"src":"23182:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73903,"nodeType":"UserDefinedTypeName","pathNode":{"id":73902,"name":"StrategyStruct.Proposal","nameLocations":["23182:14:111","23197:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"23182:23:111"},"referencedDeclaration":72451,"src":"23182:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73908,"initialValue":{"baseExpression":{"id":73905,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"23225:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73907,"indexExpression":{"id":73906,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23235:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23225:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23182:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"id":73913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73909,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72756,"src":"23261:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73910,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"23277:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23292:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72385,"src":"23277:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72385_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23305:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72383,"src":"23277:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"23261:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74027,"nodeType":"IfStatement","src":"23257:1365:111","trueBody":{"id":74026,"nodeType":"Block","src":"23314:1308:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73914,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23332:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23341:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"23332:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":73916,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23355:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23332:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73923,"nodeType":"IfStatement","src":"23328:108:111","trueBody":{"id":73922,"nodeType":"Block","src":"23367:69:111","statements":[{"errorCall":{"arguments":[{"id":73919,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23410:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73918,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"23392:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":73920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23392:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73921,"nodeType":"RevertStatement","src":"23385:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73924,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23454:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23463:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23454:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":73926,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"23481:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23454:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73936,"nodeType":"IfStatement","src":"23450:152:111","trueBody":{"id":73935,"nodeType":"Block","src":"23493:109:111","statements":[{"errorCall":{"arguments":[{"id":73929,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23538:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73930,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23550:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23559:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23550:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73932,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"23576:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73928,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72583,"src":"23518:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":73933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23518:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73934,"nodeType":"RevertStatement","src":"23511:76:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"id":73942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73937,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23620:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23629:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"23620:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":73939,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"23647:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23662:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"23647:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":73941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23677:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"23647:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"23620:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73948,"nodeType":"IfStatement","src":"23616:138:111","trueBody":{"id":73947,"nodeType":"Block","src":"23685:69:111","statements":[{"errorCall":{"arguments":[{"id":73944,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23728:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73943,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72561,"src":"23710:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":73945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23710:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73946,"nodeType":"RevertStatement","src":"23703:36:111"}]}},{"assignments":[73950],"declarations":[{"constant":false,"id":73950,"mutability":"mutable","name":"convictionLast","nameLocation":"23776:14:111","nodeType":"VariableDeclaration","scope":74026,"src":"23768:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73949,"name":"uint256","nodeType":"ElementaryTypeName","src":"23768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73954,"initialValue":{"arguments":[{"id":73952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23818:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73951,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"23793:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":73953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23793:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23768:61:111"},{"assignments":[73956],"declarations":[{"constant":false,"id":73956,"mutability":"mutable","name":"threshold","nameLocation":"23851:9:111","nodeType":"VariableDeclaration","scope":74026,"src":"23843:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73955,"name":"uint256","nodeType":"ElementaryTypeName","src":"23843:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73961,"initialValue":{"arguments":[{"expression":{"id":73958,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23882:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23891:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23882:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73957,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75047,"src":"23863:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":73960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23863:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23843:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73962,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73950,"src":"23926:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":73963,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73956,"src":"23943:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23926:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73965,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23956:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23965:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23956:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":73967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23983:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23956:28:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23926:58:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73974,"nodeType":"IfStatement","src":"23922:137:111","trueBody":{"id":73973,"nodeType":"Block","src":"23986:73:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73970,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72573,"src":"24011:31:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24011:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73972,"nodeType":"RevertStatement","src":"24004:40:111"}]}},{"assignments":[73979],"declarations":[{"constant":false,"id":73979,"mutability":"mutable","name":"pool","nameLocation":"24091:4:111","nodeType":"VariableDeclaration","scope":74026,"src":"24073:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73978,"nodeType":"UserDefinedTypeName","pathNode":{"id":73977,"name":"IAllo.Pool","nameLocations":["24073:5:111","24079:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24073:10:111"},"referencedDeclaration":2319,"src":"24073:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":73984,"initialValue":{"arguments":[{"id":73982,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71732,"src":"24111:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73980,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71726,"src":"24098:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":73981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24103:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24098:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":73983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24098:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24073:45:111"},{"expression":{"id":73988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73985,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"24133:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":73986,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24147:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73987,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24156:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"24147:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24133:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73989,"nodeType":"ExpressionStatement","src":"24133:38:111"},{"expression":{"arguments":[{"expression":{"id":73991,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73979,"src":"24209:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":73992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24214:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24209:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24221:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24230:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"24221:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73995,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24243:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73996,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24252:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"24243:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73990,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24193:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":73997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24193:75:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73998,"nodeType":"ExpressionStatement","src":"24193:75:111"},{"expression":{"id":74005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73999,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24299:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24308:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"24299:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":74002,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"24325:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":74003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24340:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"24325:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":74004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24355:8:111","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":72407,"src":"24325:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24299:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":74006,"nodeType":"ExpressionStatement","src":"24299:64:111"},{"expression":{"arguments":[{"id":74010,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"24429:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74011,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24441:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24450:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"24441:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":74013,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24461:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24470:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"24461:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":74015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24482:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"24461:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74007,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"24377:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":74009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24393:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"24377:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":74016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24377:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74017,"nodeType":"ExpressionStatement","src":"24377:143:111"},{"eventCall":{"arguments":[{"id":74019,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"24552:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74020,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24564:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24573:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"24564:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74022,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24586:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74023,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24595:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"24586:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74018,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[72626,2858],"referencedDeclaration":72626,"src":"24540:11:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":74024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24540:71:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74025,"nodeType":"EmitStatement","src":"24535:76:111"}]}}]},"baseFunctions":[72219],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"22818:11:111","overrides":{"id":73871,"nodeType":"OverrideSpecifier","overrides":[],"src":"22886:8:111"},"parameters":{"id":73870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74029,"src":"22830:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73863,"name":"address","nodeType":"ElementaryTypeName","src":"22830:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73864,"nodeType":"ArrayTypeName","src":"22830:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":73867,"mutability":"mutable","name":"_data","nameLocation":"22861:5:111","nodeType":"VariableDeclaration","scope":74029,"src":"22848:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73866,"name":"bytes","nodeType":"ElementaryTypeName","src":"22848:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74029,"src":"22868:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73868,"name":"address","nodeType":"ElementaryTypeName","src":"22868:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22829:47:111"},"returnParameters":{"id":73872,"nodeType":"ParameterList","parameters":[],"src":"22895:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74083,"nodeType":"FunctionDefinition","src":"24694:735:111","nodes":[],"body":{"id":74082,"nodeType":"Block","src":"24783:646:111","nodes":[],"statements":[{"assignments":[74040],"declarations":[{"constant":false,"id":74040,"mutability":"mutable","name":"proposal","nameLocation":"24825:8:111","nodeType":"VariableDeclaration","scope":74082,"src":"24793:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74039,"nodeType":"UserDefinedTypeName","pathNode":{"id":74038,"name":"StrategyStruct.Proposal","nameLocations":["24793:14:111","24808:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"24793:23:111"},"referencedDeclaration":72451,"src":"24793:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74044,"initialValue":{"baseExpression":{"id":74041,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"24836:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74043,"indexExpression":{"id":74042,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74031,"src":"24846:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24836:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24793:64:111"},{"assignments":[74046,74048],"declarations":[{"constant":false,"id":74046,"mutability":"mutable","name":"convictionLast","nameLocation":"24951:14:111","nodeType":"VariableDeclaration","scope":74082,"src":"24943:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74045,"name":"uint256","nodeType":"ElementaryTypeName","src":"24943:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74048,"mutability":"mutable","name":"blockNumber","nameLocation":"24975:11:111","nodeType":"VariableDeclaration","scope":74082,"src":"24967:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74047,"name":"uint256","nodeType":"ElementaryTypeName","src":"24967:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74054,"initialValue":{"arguments":[{"id":74050,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25036:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":74051,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25046:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25055:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"25046:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74049,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75243,"src":"25002:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":74053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25002:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24942:126:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74055,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"25083:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25101:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25083:19:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74058,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74048,"src":"25106:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25121:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25106:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25083:39:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74068,"nodeType":"IfStatement","src":"25079:110:111","trueBody":{"id":74067,"nodeType":"Block","src":"25124:65:111","statements":[{"expression":{"id":74065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74062,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"25138:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74063,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25155:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25164:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"25155:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25138:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74066,"nodeType":"ExpressionStatement","src":"25138:40:111"}]}},{"assignments":[74070],"declarations":[{"constant":false,"id":74070,"mutability":"mutable","name":"threshold","nameLocation":"25206:9:111","nodeType":"VariableDeclaration","scope":74082,"src":"25198:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74069,"name":"uint256","nodeType":"ElementaryTypeName","src":"25198:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74075,"initialValue":{"arguments":[{"expression":{"id":74072,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25237:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25246:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"25237:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74071,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75047,"src":"25218:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25218:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25198:64:111"},{"expression":{"id":74080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74076,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74034,"src":"25379:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74077,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"25395:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":74078,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74070,"src":"25413:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25395:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25379:43:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74081,"nodeType":"ExpressionStatement","src":"25379:43:111"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"24703:18:111","parameters":{"id":74032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74031,"mutability":"mutable","name":"proposalId","nameLocation":"24730:10:111","nodeType":"VariableDeclaration","scope":74083,"src":"24722:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74030,"name":"uint256","nodeType":"ElementaryTypeName","src":"24722:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24721:20:111"},"returnParameters":{"id":74035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74034,"mutability":"mutable","name":"canBeExecuted","nameLocation":"24768:13:111","nodeType":"VariableDeclaration","scope":74083,"src":"24763:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74033,"name":"bool","nodeType":"ElementaryTypeName","src":"24763:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24762:20:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74105,"nodeType":"FunctionDefinition","src":"25719:220:111","nodes":[],"body":{"id":74104,"nodeType":"Block","src":"25810:129:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74092,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74085,"src":"25870:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25894:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25886:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74093,"name":"address","nodeType":"ElementaryTypeName","src":"25886:7:111","typeDescriptions":{}}},"id":74096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25886:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25870:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":74100,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25917:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25924:8:111","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"25917:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":74102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25870:62:111","trueExpression":{"expression":{"id":74098,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25899:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25906:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"25899:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":74091,"id":74103,"nodeType":"Return","src":"25863:69:111"}]},"baseFunctions":[72239],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"25728:19:111","overrides":{"id":74087,"nodeType":"OverrideSpecifier","overrides":[],"src":"25784:8:111"},"parameters":{"id":74086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74085,"mutability":"mutable","name":"_recipientId","nameLocation":"25756:12:111","nodeType":"VariableDeclaration","scope":74105,"src":"25748:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74084,"name":"address","nodeType":"ElementaryTypeName","src":"25748:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25747:22:111"},"returnParameters":{"id":74091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74105,"src":"25802:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":74089,"nodeType":"UserDefinedTypeName","pathNode":{"id":74088,"name":"Status","nameLocations":["25802:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"25802:6:111"},"referencedDeclaration":2815,"src":"25802:6:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"25801:8:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74124,"nodeType":"FunctionDefinition","src":"26068:288:111","nodes":[],"body":{"id":74123,"nodeType":"Block","src":"26178:178:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74120,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72523,"src":"26238:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26238:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74122,"nodeType":"RevertStatement","src":"26231:23:111"}]},"baseFunctions":[72078],"documentation":{"id":74106,"nodeType":"StructuredDocumentation","src":"25945:118:111","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26077:10:111","overrides":{"id":74114,"nodeType":"OverrideSpecifier","overrides":[],"src":"26136:8:111"},"parameters":{"id":74113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74124,"src":"26088:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74107,"name":"address","nodeType":"ElementaryTypeName","src":"26088:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74108,"nodeType":"ArrayTypeName","src":"26088:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74124,"src":"26106:14:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":74110,"name":"bytes","nodeType":"ElementaryTypeName","src":"26106:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":74111,"nodeType":"ArrayTypeName","src":"26106:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26087:34:111"},"returnParameters":{"id":74119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74118,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74124,"src":"26154:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":74116,"nodeType":"UserDefinedTypeName","pathNode":{"id":74115,"name":"PayoutSummary","nameLocations":["26154:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26154:13:111"},"referencedDeclaration":2820,"src":"26154:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":74117,"nodeType":"ArrayTypeName","src":"26154:15:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26153:24:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":74143,"nodeType":"FunctionDefinition","src":"26362:264:111","nodes":[],"body":{"id":74142,"nodeType":"Block","src":"26514:112:111","nodes":[],"statements":[{"expression":{"id":74135,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74128,"src":"26567:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":74136,"nodeType":"ExpressionStatement","src":"26567:5:111"},{"expression":{"arguments":[{"id":74138,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74126,"src":"26603:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":74139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26617:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74137,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"26589:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":74140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26589:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":74134,"id":74141,"nodeType":"Return","src":"26582:37:111"}]},"baseFunctions":[72230],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26371:10:111","overrides":{"id":74130,"nodeType":"OverrideSpecifier","overrides":[],"src":"26462:8:111"},"parameters":{"id":74129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74126,"mutability":"mutable","name":"_recipientId","nameLocation":"26390:12:111","nodeType":"VariableDeclaration","scope":74143,"src":"26382:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74125,"name":"address","nodeType":"ElementaryTypeName","src":"26382:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74128,"mutability":"mutable","name":"_data","nameLocation":"26417:5:111","nodeType":"VariableDeclaration","scope":74143,"src":"26404:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74127,"name":"bytes","nodeType":"ElementaryTypeName","src":"26404:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26381:42:111"},"returnParameters":{"id":74134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74143,"src":"26488:20:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":74132,"nodeType":"UserDefinedTypeName","pathNode":{"id":74131,"name":"PayoutSummary","nameLocations":["26488:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26488:13:111"},"referencedDeclaration":2820,"src":"26488:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"26487:22:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74154,"nodeType":"FunctionDefinition","src":"26632:127:111","nodes":[],"body":{"id":74153,"nodeType":"Block","src":"26709:50:111","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":74150,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74145,"src":"26744:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74149,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72636,"src":"26724:19:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":74151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26724:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74152,"nodeType":"EmitStatement","src":"26719:33:111"}]},"baseFunctions":[72253],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"26641:24:111","overrides":{"id":74147,"nodeType":"OverrideSpecifier","overrides":[],"src":"26700:8:111"},"parameters":{"id":74146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74145,"mutability":"mutable","name":"_amount","nameLocation":"26674:7:111","nodeType":"VariableDeclaration","scope":74154,"src":"26666:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74144,"name":"uint256","nodeType":"ElementaryTypeName","src":"26666:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26665:17:111"},"returnParameters":{"id":74148,"nodeType":"ParameterList","parameters":[],"src":"26709:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":74173,"nodeType":"FunctionDefinition","src":"26854:191:111","nodes":[],"body":{"id":74172,"nodeType":"Block","src":"26939:106:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74162,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74156,"src":"26999:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27021:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27013:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74163,"name":"address","nodeType":"ElementaryTypeName","src":"27013:7:111","typeDescriptions":{}}},"id":74166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27013:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26999:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":74169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27034:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":74170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26999:39:111","trueExpression":{"hexValue":"66616c7365","id":74168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27026:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74161,"id":74171,"nodeType":"Return","src":"26992:46:111"}]},"baseFunctions":[72190],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"26863:17:111","overrides":{"id":74158,"nodeType":"OverrideSpecifier","overrides":[],"src":"26915:8:111"},"parameters":{"id":74157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74156,"mutability":"mutable","name":"_allocator","nameLocation":"26889:10:111","nodeType":"VariableDeclaration","scope":74173,"src":"26881:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74155,"name":"address","nodeType":"ElementaryTypeName","src":"26881:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26880:20:111"},"returnParameters":{"id":74161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74173,"src":"26933:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74159,"name":"bool","nodeType":"ElementaryTypeName","src":"26933:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26932:6:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74183,"nodeType":"FunctionDefinition","src":"27051:86:111","nodes":[],"body":{"id":74182,"nodeType":"Block","src":"27097:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74179,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74175,"src":"27122:7:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74178,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72173,"src":"27107:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":74180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27107:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74181,"nodeType":"ExpressionStatement","src":"27107:23:111"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27060:13:111","parameters":{"id":74176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74175,"mutability":"mutable","name":"_active","nameLocation":"27079:7:111","nodeType":"VariableDeclaration","scope":74183,"src":"27074:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74174,"name":"bool","nodeType":"ElementaryTypeName","src":"27074:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27073:14:111"},"returnParameters":{"id":74177,"nodeType":"ParameterList","parameters":[],"src":"27097:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74271,"nodeType":"FunctionDefinition","src":"27143:836:111","nodes":[],"body":{"id":74270,"nodeType":"Block","src":"27187:792:111","nodes":[],"statements":[{"assignments":[74192],"declarations":[{"constant":false,"id":74192,"mutability":"mutable","name":"proposalsIds","nameLocation":"27262:12:111","nodeType":"VariableDeclaration","scope":74270,"src":"27245:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74190,"name":"uint256","nodeType":"ElementaryTypeName","src":"27245:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74191,"nodeType":"ArrayTypeName","src":"27245:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74196,"initialValue":{"baseExpression":{"id":74193,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"27277:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74195,"indexExpression":{"id":74194,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27298:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27277:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27245:61:111"},{"body":{"id":74268,"nodeType":"Block","src":"27366:607:111","statements":[{"assignments":[74209],"declarations":[{"constant":false,"id":74209,"mutability":"mutable","name":"proposalId","nameLocation":"27388:10:111","nodeType":"VariableDeclaration","scope":74268,"src":"27380:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74208,"name":"uint256","nodeType":"ElementaryTypeName","src":"27380:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74213,"initialValue":{"baseExpression":{"id":74210,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74192,"src":"27401:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74212,"indexExpression":{"id":74211,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74198,"src":"27414:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27401:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27380:36:111"},{"assignments":[74218],"declarations":[{"constant":false,"id":74218,"mutability":"mutable","name":"proposal","nameLocation":"27462:8:111","nodeType":"VariableDeclaration","scope":74268,"src":"27430:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74217,"nodeType":"UserDefinedTypeName","pathNode":{"id":74216,"name":"StrategyStruct.Proposal","nameLocations":["27430:14:111","27445:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"27430:23:111"},"referencedDeclaration":72451,"src":"27430:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74222,"initialValue":{"baseExpression":{"id":74219,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"27473:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74221,"indexExpression":{"id":74220,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74209,"src":"27483:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27473:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27430:64:111"},{"condition":{"arguments":[{"id":74224,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74209,"src":"27527:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74223,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74459,"src":"27512:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27512:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74267,"nodeType":"IfStatement","src":"27508:455:111","trueBody":{"id":74266,"nodeType":"Block","src":"27540:423:111","statements":[{"assignments":[74227],"declarations":[{"constant":false,"id":74227,"mutability":"mutable","name":"stakedPoints","nameLocation":"27566:12:111","nodeType":"VariableDeclaration","scope":74266,"src":"27558:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74226,"name":"uint256","nodeType":"ElementaryTypeName","src":"27558:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74232,"initialValue":{"baseExpression":{"expression":{"id":74228,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27581:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27590:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"27581:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74231,"indexExpression":{"id":74230,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27608:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27581:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27558:58:111"},{"expression":{"id":74239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74233,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27634:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27643:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"27634:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74237,"indexExpression":{"id":74235,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27661:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27634:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":74238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27672:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27634:39:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74240,"nodeType":"ExpressionStatement","src":"27634:39:111"},{"expression":{"id":74245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74241,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27691:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"27700:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"27691:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74244,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74227,"src":"27716:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27691:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74246,"nodeType":"ExpressionStatement","src":"27691:37:111"},{"expression":{"id":74249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74247,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72748,"src":"27746:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74248,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74227,"src":"27761:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27746:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74250,"nodeType":"ExpressionStatement","src":"27746:27:111"},{"expression":{"arguments":[{"id":74252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27818:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74253,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74227,"src":"27828:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74251,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75196,"src":"27791:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27791:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74255,"nodeType":"ExpressionStatement","src":"27791:50:111"},{"eventCall":{"arguments":[{"id":74257,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27877:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74258,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74209,"src":"27886:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":74259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27898:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":74260,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27901:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27910:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"27901:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74262,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27924:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27933:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"27924:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74256,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72668,"src":"27864:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27864:84:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74265,"nodeType":"EmitStatement","src":"27859:89:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74201,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74198,"src":"27336:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74202,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74192,"src":"27340:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27353:6:111","memberName":"length","nodeType":"MemberAccess","src":"27340:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27336:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74269,"initializationExpression":{"assignments":[74198],"declarations":[{"constant":false,"id":74198,"mutability":"mutable","name":"i","nameLocation":"27329:1:111","nodeType":"VariableDeclaration","scope":74269,"src":"27321:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74197,"name":"uint256","nodeType":"ElementaryTypeName","src":"27321:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74200,"initialValue":{"hexValue":"30","id":74199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27333:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27321:13:111"},"loopExpression":{"expression":{"id":74206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27361:3:111","subExpression":{"id":74205,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74198,"src":"27361:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74207,"nodeType":"ExpressionStatement","src":"27361:3:111"},"nodeType":"ForStatement","src":"27316:657:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27152:8:111","parameters":{"id":74186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74185,"mutability":"mutable","name":"_member","nameLocation":"27169:7:111","nodeType":"VariableDeclaration","scope":74271,"src":"27161:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74184,"name":"address","nodeType":"ElementaryTypeName","src":"27161:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27160:17:111"},"returnParameters":{"id":74187,"nodeType":"ParameterList","parameters":[],"src":"27187:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74345,"nodeType":"FunctionDefinition","src":"28541:1038:111","nodes":[],"body":{"id":74344,"nodeType":"Block","src":"29010:569:111","nodes":[],"statements":[{"assignments":[74302],"declarations":[{"constant":false,"id":74302,"mutability":"mutable","name":"proposal","nameLocation":"29052:8:111","nodeType":"VariableDeclaration","scope":74344,"src":"29020:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74301,"nodeType":"UserDefinedTypeName","pathNode":{"id":74300,"name":"StrategyStruct.Proposal","nameLocations":["29020:14:111","29035:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"29020:23:111"},"referencedDeclaration":72451,"src":"29020:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74306,"initialValue":{"baseExpression":{"id":74303,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"29063:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74305,"indexExpression":{"id":74304,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74274,"src":"29073:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29063:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29020:65:111"},{"expression":{"id":74318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74307,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74294,"src":"29096:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74308,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29108:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74309,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29117:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"29108:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29136:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29108:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":74314,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29163:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29172:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"29163:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74313,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75047,"src":"29144:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29144:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29108:80:111","trueExpression":{"hexValue":"30","id":74312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29140:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29096:92:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74319,"nodeType":"ExpressionStatement","src":"29096:92:111"},{"expression":{"components":[{"expression":{"id":74320,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29219:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29228:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"29219:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74322,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29251:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29260:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"29251:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74324,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29285:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29294:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72433,"src":"29285:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74326,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29322:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74327,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29331:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"29322:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74328,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29360:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29369:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"29360:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74330,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29395:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29404:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"29395:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":74332,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29432:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29441:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"29432:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74334,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29464:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29473:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"29464:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74336,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74294,"src":"29501:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":74337,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29524:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29533:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"29524:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74341,"indexExpression":{"expression":{"id":74339,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"29551:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29555:6:111","memberName":"sender","nodeType":"MemberAccess","src":"29551:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29524:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74342,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29205:367:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$72410_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":74297,"id":74343,"nodeType":"Return","src":"29198:374:111"}]},"documentation":{"id":74272,"nodeType":"StructuredDocumentation","src":"27985:551:111","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"28550:11:111","parameters":{"id":74275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74274,"mutability":"mutable","name":"_proposalId","nameLocation":"28570:11:111","nodeType":"VariableDeclaration","scope":74345,"src":"28562:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74273,"name":"uint256","nodeType":"ElementaryTypeName","src":"28562:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28561:21:111"},"returnParameters":{"id":74297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74277,"mutability":"mutable","name":"submitter","nameLocation":"28651:9:111","nodeType":"VariableDeclaration","scope":74345,"src":"28643:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74276,"name":"address","nodeType":"ElementaryTypeName","src":"28643:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74279,"mutability":"mutable","name":"beneficiary","nameLocation":"28682:11:111","nodeType":"VariableDeclaration","scope":74345,"src":"28674:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74278,"name":"address","nodeType":"ElementaryTypeName","src":"28674:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74281,"mutability":"mutable","name":"requestedToken","nameLocation":"28715:14:111","nodeType":"VariableDeclaration","scope":74345,"src":"28707:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74280,"name":"address","nodeType":"ElementaryTypeName","src":"28707:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74283,"mutability":"mutable","name":"requestedAmount","nameLocation":"28751:15:111","nodeType":"VariableDeclaration","scope":74345,"src":"28743:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74282,"name":"uint256","nodeType":"ElementaryTypeName","src":"28743:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74285,"mutability":"mutable","name":"stakedAmount","nameLocation":"28788:12:111","nodeType":"VariableDeclaration","scope":74345,"src":"28780:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74284,"name":"uint256","nodeType":"ElementaryTypeName","src":"28780:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74288,"mutability":"mutable","name":"proposalStatus","nameLocation":"28844:14:111","nodeType":"VariableDeclaration","scope":74345,"src":"28814:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":74287,"nodeType":"UserDefinedTypeName","pathNode":{"id":74286,"name":"StrategyStruct.ProposalStatus","nameLocations":["28814:14:111","28829:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72410,"src":"28814:29:111"},"referencedDeclaration":72410,"src":"28814:29:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":74290,"mutability":"mutable","name":"blockLast","nameLocation":"28880:9:111","nodeType":"VariableDeclaration","scope":74345,"src":"28872:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74289,"name":"uint256","nodeType":"ElementaryTypeName","src":"28872:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74292,"mutability":"mutable","name":"convictionLast","nameLocation":"28911:14:111","nodeType":"VariableDeclaration","scope":74345,"src":"28903:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74291,"name":"uint256","nodeType":"ElementaryTypeName","src":"28903:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74294,"mutability":"mutable","name":"threshold","nameLocation":"28947:9:111","nodeType":"VariableDeclaration","scope":74345,"src":"28939:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74293,"name":"uint256","nodeType":"ElementaryTypeName","src":"28939:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74296,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"28978:17:111","nodeType":"VariableDeclaration","scope":74345,"src":"28970:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74295,"name":"uint256","nodeType":"ElementaryTypeName","src":"28970:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28629:376:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74366,"nodeType":"FunctionDefinition","src":"29585:198:111","nodes":[],"body":{"id":74365,"nodeType":"Block","src":"29667:116:111","nodes":[],"statements":[{"assignments":[74357],"declarations":[{"constant":false,"id":74357,"mutability":"mutable","name":"proposal","nameLocation":"29709:8:111","nodeType":"VariableDeclaration","scope":74365,"src":"29677:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74356,"nodeType":"UserDefinedTypeName","pathNode":{"id":74355,"name":"StrategyStruct.Proposal","nameLocations":["29677:14:111","29692:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"29677:23:111"},"referencedDeclaration":72451,"src":"29677:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74361,"initialValue":{"baseExpression":{"id":74358,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"29720:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74360,"indexExpression":{"id":74359,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74347,"src":"29730:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29720:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29677:65:111"},{"expression":{"expression":{"id":74362,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74357,"src":"29759:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29768:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"29759:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":74352,"id":74364,"nodeType":"Return","src":"29752:24:111"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"29594:11:111","parameters":{"id":74348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74347,"mutability":"mutable","name":"_proposalId","nameLocation":"29614:11:111","nodeType":"VariableDeclaration","scope":74366,"src":"29606:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74346,"name":"uint256","nodeType":"ElementaryTypeName","src":"29606:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29605:21:111"},"returnParameters":{"id":74352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74366,"src":"29650:15:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":74350,"nodeType":"UserDefinedTypeName","pathNode":{"id":74349,"name":"Metadata","nameLocations":["29650:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"29650:8:111"},"referencedDeclaration":3098,"src":"29650:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"29649:17:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74382,"nodeType":"FunctionDefinition","src":"29984:176:111","nodes":[],"body":{"id":74381,"nodeType":"Block","src":"30084:76:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74377,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74369,"src":"30133:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74378,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74371,"src":"30146:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74376,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74424,"src":"30101:31:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":74379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30101:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74375,"id":74380,"nodeType":"Return","src":"30094:59:111"}]},"documentation":{"id":74367,"nodeType":"StructuredDocumentation","src":"29789:190:111","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"29993:21:111","parameters":{"id":74372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74369,"mutability":"mutable","name":"_proposalId","nameLocation":"30023:11:111","nodeType":"VariableDeclaration","scope":74382,"src":"30015:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74368,"name":"uint256","nodeType":"ElementaryTypeName","src":"30015:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74371,"mutability":"mutable","name":"_voter","nameLocation":"30044:6:111","nodeType":"VariableDeclaration","scope":74382,"src":"30036:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74370,"name":"address","nodeType":"ElementaryTypeName","src":"30036:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30014:37:111"},"returnParameters":{"id":74375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74374,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74382,"src":"30075:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74373,"name":"uint256","nodeType":"ElementaryTypeName","src":"30075:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30074:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74395,"nodeType":"FunctionDefinition","src":"30166:145:111","nodes":[],"body":{"id":74394,"nodeType":"Block","src":"30252:59:111","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":74389,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30269:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74391,"indexExpression":{"id":74390,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74384,"src":"30279:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30269:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30292:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"30269:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74388,"id":74393,"nodeType":"Return","src":"30262:42:111"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"30175:23:111","parameters":{"id":74385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74384,"mutability":"mutable","name":"_proposalId","nameLocation":"30207:11:111","nodeType":"VariableDeclaration","scope":74395,"src":"30199:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74383,"name":"uint256","nodeType":"ElementaryTypeName","src":"30199:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30198:21:111"},"returnParameters":{"id":74388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74387,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74395,"src":"30243:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74386,"name":"uint256","nodeType":"ElementaryTypeName","src":"30243:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30242:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74407,"nodeType":"FunctionDefinition","src":"30379:127:111","nodes":[],"body":{"id":74406,"nodeType":"Block","src":"30456:50:111","nodes":[],"statements":[{"expression":{"baseExpression":{"id":74402,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72783,"src":"30473:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74404,"indexExpression":{"id":74403,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74397,"src":"30492:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30473:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74401,"id":74405,"nodeType":"Return","src":"30466:33:111"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"30388:21:111","parameters":{"id":74398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74397,"mutability":"mutable","name":"_voter","nameLocation":"30418:6:111","nodeType":"VariableDeclaration","scope":74407,"src":"30410:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74396,"name":"address","nodeType":"ElementaryTypeName","src":"30410:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30409:16:111"},"returnParameters":{"id":74401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74400,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74407,"src":"30447:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74399,"name":"uint256","nodeType":"ElementaryTypeName","src":"30447:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30446:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74424,"nodeType":"FunctionDefinition","src":"30512:182:111","nodes":[],"body":{"id":74423,"nodeType":"Block","src":"30622:72:111","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":74416,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30639:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74418,"indexExpression":{"id":74417,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74409,"src":"30649:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30639:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30662:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"30639:40:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74421,"indexExpression":{"id":74420,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74411,"src":"30680:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30639:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74415,"id":74422,"nodeType":"Return","src":"30632:55:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"30521:31:111","parameters":{"id":74412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74409,"mutability":"mutable","name":"_proposalId","nameLocation":"30561:11:111","nodeType":"VariableDeclaration","scope":74424,"src":"30553:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74408,"name":"uint256","nodeType":"ElementaryTypeName","src":"30553:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74411,"mutability":"mutable","name":"_voter","nameLocation":"30582:6:111","nodeType":"VariableDeclaration","scope":74424,"src":"30574:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74410,"name":"address","nodeType":"ElementaryTypeName","src":"30574:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30552:37:111"},"returnParameters":{"id":74415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74424,"src":"30613:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74413,"name":"uint256","nodeType":"ElementaryTypeName","src":"30613:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30612:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74434,"nodeType":"FunctionDefinition","src":"30700:145:111","nodes":[],"body":{"id":74433,"nodeType":"Block","src":"30764:81:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74429,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"30781:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":74430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30799:20:111","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78500,"src":"30781:38:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30781:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74428,"id":74432,"nodeType":"Return","src":"30774:47:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"30709:20:111","parameters":{"id":74425,"nodeType":"ParameterList","parameters":[],"src":"30729:2:111"},"returnParameters":{"id":74428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74434,"src":"30755:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74426,"name":"uint256","nodeType":"ElementaryTypeName","src":"30755:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30754:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74459,"nodeType":"FunctionDefinition","src":"30851:185:111","nodes":[],"body":{"id":74458,"nodeType":"Block","src":"30925:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74441,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30942:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74443,"indexExpression":{"id":74442,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74436,"src":"30952:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30942:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30965:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"30942:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30978:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30942:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74447,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30983:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74449,"indexExpression":{"id":74448,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74436,"src":"30993:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30983:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31006:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"30983:32:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":74453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31027:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31019:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74451,"name":"address","nodeType":"ElementaryTypeName","src":"31019:7:111","typeDescriptions":{}}},"id":74454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31019:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30983:46:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30942:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74440,"id":74457,"nodeType":"Return","src":"30935:94:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"30860:14:111","parameters":{"id":74437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74436,"mutability":"mutable","name":"_proposalID","nameLocation":"30883:11:111","nodeType":"VariableDeclaration","scope":74459,"src":"30875:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74435,"name":"uint256","nodeType":"ElementaryTypeName","src":"30875:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30874:21:111"},"returnParameters":{"id":74440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74459,"src":"30919:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74438,"name":"bool","nodeType":"ElementaryTypeName","src":"30919:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30918:6:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74478,"nodeType":"FunctionDefinition","src":"31042:183:111","nodes":[],"body":{"id":74477,"nodeType":"Block","src":"31137:88:111","nodes":[],"statements":[{"expression":{"id":74475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74466,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74464,"src":"31147:14:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74467,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"31164:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31173:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72475,"src":"31164:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74469,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"31184:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31164:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74471,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74461,"src":"31198:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74472,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"31217:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31198:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31164:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"31147:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74476,"nodeType":"ExpressionStatement","src":"31147:71:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"31051:15:111","parameters":{"id":74462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74461,"mutability":"mutable","name":"_requestedAmount","nameLocation":"31075:16:111","nodeType":"VariableDeclaration","scope":74478,"src":"31067:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74460,"name":"uint256","nodeType":"ElementaryTypeName","src":"31067:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31066:26:111"},"returnParameters":{"id":74465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74464,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"31121:14:111","nodeType":"VariableDeclaration","scope":74478,"src":"31116:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74463,"name":"bool","nodeType":"ElementaryTypeName","src":"31116:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31115:21:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74574,"nodeType":"FunctionDefinition","src":"31231:1548:111","nodes":[],"body":{"id":74573,"nodeType":"Block","src":"31361:1418:111","nodes":[],"statements":[{"assignments":[74488],"declarations":[{"constant":false,"id":74488,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"31378:15:111","nodeType":"VariableDeclaration","scope":74573,"src":"31371:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74487,"name":"int256","nodeType":"ElementaryTypeName","src":"31371:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74490,"initialValue":{"hexValue":"30","id":74489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31396:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31371:26:111"},{"body":{"id":74535,"nodeType":"Block","src":"31461:576:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74502,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31534:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74504,"indexExpression":{"id":74503,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31551:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31534:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31554:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72453,"src":"31534:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31568:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31534:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74510,"nodeType":"IfStatement","src":"31530:187:111","trueBody":{"id":74509,"nodeType":"Block","src":"31571:146:111","statements":[{"id":74508,"nodeType":"Continue","src":"31694:8:111"}]}},{"assignments":[74512],"declarations":[{"constant":false,"id":74512,"mutability":"mutable","name":"proposalId","nameLocation":"31738:10:111","nodeType":"VariableDeclaration","scope":74535,"src":"31730:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74511,"name":"uint256","nodeType":"ElementaryTypeName","src":"31730:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74517,"initialValue":{"expression":{"baseExpression":{"id":74513,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31751:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74515,"indexExpression":{"id":74514,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31768:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31751:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31771:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72453,"src":"31751:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31730:51:111"},{"condition":{"id":74521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31799:27:111","subExpression":{"arguments":[{"id":74519,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74512,"src":"31815:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74518,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74459,"src":"31800:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31800:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74527,"nodeType":"IfStatement","src":"31795:167:111","trueBody":{"id":74526,"nodeType":"Block","src":"31828:134:111","statements":[{"errorCall":{"arguments":[{"id":74523,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74512,"src":"31871:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74522,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"31853:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":74524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31853:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74525,"nodeType":"RevertStatement","src":"31846:36:111"}]}},{"expression":{"id":74533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74528,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74488,"src":"31975:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":74529,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31994:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74531,"indexExpression":{"id":74530,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"32011:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31994:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32014:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72455,"src":"31994:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31975:51:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":74534,"nodeType":"ExpressionStatement","src":"31975:51:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74495,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31427:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74496,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31431:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31448:6:111","memberName":"length","nodeType":"MemberAccess","src":"31431:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31427:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74536,"initializationExpression":{"assignments":[74492],"declarations":[{"constant":false,"id":74492,"mutability":"mutable","name":"i","nameLocation":"31420:1:111","nodeType":"VariableDeclaration","scope":74536,"src":"31412:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74491,"name":"uint256","nodeType":"ElementaryTypeName","src":"31412:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74494,"initialValue":{"hexValue":"30","id":74493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31424:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31412:13:111"},"loopExpression":{"expression":{"id":74500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"31456:3:111","subExpression":{"id":74499,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31456:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74501,"nodeType":"ExpressionStatement","src":"31456:3:111"},"nodeType":"ForStatement","src":"31407:630:111"},{"assignments":[74538],"declarations":[{"constant":false,"id":74538,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"32141:21:111","nodeType":"VariableDeclaration","scope":74573,"src":"32133:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74537,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74545,"initialValue":{"arguments":[{"arguments":[{"id":74541,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74480,"src":"32199:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74540,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74407,"src":"32177:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":74542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32177:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74543,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74488,"src":"32209:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74539,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74896,"src":"32165:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32165:60:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32133:92:111"},{"assignments":[74547],"declarations":[{"constant":false,"id":74547,"mutability":"mutable","name":"participantBalance","nameLocation":"32315:18:111","nodeType":"VariableDeclaration","scope":74573,"src":"32307:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74546,"name":"uint256","nodeType":"ElementaryTypeName","src":"32307:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74556,"initialValue":{"arguments":[{"id":74550,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74480,"src":"32379:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":74553,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"32396:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":74552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32388:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74551,"name":"address","nodeType":"ElementaryTypeName","src":"32388:7:111","typeDescriptions":{}}},"id":74554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32388:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":74548,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"32336:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":74549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32354:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"32336:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":74555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32336:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32307:95:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74557,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"32568:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":74558,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74547,"src":"32592:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32568:42:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74566,"nodeType":"IfStatement","src":"32564:147:111","trueBody":{"id":74565,"nodeType":"Block","src":"32612:99:111","statements":[{"errorCall":{"arguments":[{"id":74561,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"32658:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74562,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74547,"src":"32681:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74560,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72553,"src":"32633:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32633:67:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74564,"nodeType":"RevertStatement","src":"32626:74:111"}]}},{"expression":{"id":74571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74567,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72783,"src":"32721:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74569,"indexExpression":{"id":74568,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74480,"src":"32740:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32721:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74570,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"32751:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32721:51:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74572,"nodeType":"ExpressionStatement","src":"32721:51:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"31240:24:111","parameters":{"id":74485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74480,"mutability":"mutable","name":"_sender","nameLocation":"31273:7:111","nodeType":"VariableDeclaration","scope":74574,"src":"31265:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74479,"name":"address","nodeType":"ElementaryTypeName","src":"31265:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74484,"mutability":"mutable","name":"_proposalSupport","nameLocation":"31322:16:111","nodeType":"VariableDeclaration","scope":74574,"src":"31282:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74482,"nodeType":"UserDefinedTypeName","pathNode":{"id":74481,"name":"StrategyStruct.ProposalSupport","nameLocations":["31282:14:111","31297:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"31282:30:111"},"referencedDeclaration":72456,"src":"31282:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74483,"nodeType":"ArrayTypeName","src":"31282:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"31264:75:111"},"returnParameters":{"id":74486,"nodeType":"ParameterList","parameters":[],"src":"31361:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74861,"nodeType":"FunctionDefinition","src":"32785:3479:111","nodes":[],"body":{"id":74860,"nodeType":"Block","src":"32890:3374:111","nodes":[],"statements":[{"assignments":[74587],"declarations":[{"constant":false,"id":74587,"mutability":"mutable","name":"proposalsIds","nameLocation":"32917:12:111","nodeType":"VariableDeclaration","scope":74860,"src":"32900:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74585,"name":"uint256","nodeType":"ElementaryTypeName","src":"32900:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74586,"nodeType":"ArrayTypeName","src":"32900:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74588,"nodeType":"VariableDeclarationStatement","src":"32900:29:111"},{"body":{"id":74858,"nodeType":"Block","src":"32993:3265:111","statements":[{"assignments":[74601],"declarations":[{"constant":false,"id":74601,"mutability":"mutable","name":"proposalId","nameLocation":"33015:10:111","nodeType":"VariableDeclaration","scope":74858,"src":"33007:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74600,"name":"uint256","nodeType":"ElementaryTypeName","src":"33007:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74606,"initialValue":{"expression":{"baseExpression":{"id":74602,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74580,"src":"33028:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74604,"indexExpression":{"id":74603,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"33045:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33028:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33048:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72453,"src":"33028:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33007:51:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74607,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33131:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33144:6:111","memberName":"length","nodeType":"MemberAccess","src":"33131:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33154:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33131:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74709,"nodeType":"Block","src":"33283:764:111","statements":[{"assignments":[74627],"declarations":[{"constant":false,"id":74627,"mutability":"mutable","name":"exist","nameLocation":"33306:5:111","nodeType":"VariableDeclaration","scope":74709,"src":"33301:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74626,"name":"bool","nodeType":"ElementaryTypeName","src":"33301:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74629,"initialValue":{"hexValue":"66616c7365","id":74628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33314:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"33301:18:111"},{"body":{"id":74657,"nodeType":"Block","src":"33387:268:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74641,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33438:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74643,"indexExpression":{"id":74642,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33451:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33438:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":74644,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33457:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33438:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74656,"nodeType":"IfStatement","src":"33434:203:111","trueBody":{"id":74655,"nodeType":"Block","src":"33469:168:111","statements":[{"expression":{"id":74648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74646,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74627,"src":"33495:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33503:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"33495:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74649,"nodeType":"ExpressionStatement","src":"33495:12:111"},{"errorCall":{"arguments":[{"id":74651,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33566:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74652,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33578:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74650,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72571,"src":"33540:25:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33540:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74654,"nodeType":"RevertStatement","src":"33533:47:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74634,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33357:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74635,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33361:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33374:6:111","memberName":"length","nodeType":"MemberAccess","src":"33361:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33357:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74658,"initializationExpression":{"assignments":[74631],"declarations":[{"constant":false,"id":74631,"mutability":"mutable","name":"j","nameLocation":"33350:1:111","nodeType":"VariableDeclaration","scope":74658,"src":"33342:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74630,"name":"uint256","nodeType":"ElementaryTypeName","src":"33342:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74633,"initialValue":{"hexValue":"30","id":74632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33354:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33342:13:111"},"loopExpression":{"expression":{"id":74639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33382:3:111","subExpression":{"id":74638,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33382:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74640,"nodeType":"ExpressionStatement","src":"33382:3:111"},"nodeType":"ForStatement","src":"33337:318:111"},{"condition":{"id":74660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33676:6:111","subExpression":{"id":74659,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74627,"src":"33677:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74708,"nodeType":"IfStatement","src":"33672:361:111","trueBody":{"id":74707,"nodeType":"Block","src":"33684:349:111","statements":[{"assignments":[74665],"declarations":[{"constant":false,"id":74665,"mutability":"mutable","name":"temp","nameLocation":"33723:4:111","nodeType":"VariableDeclaration","scope":74707,"src":"33706:21:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74663,"name":"uint256","nodeType":"ElementaryTypeName","src":"33706:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74664,"nodeType":"ArrayTypeName","src":"33706:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74674,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74669,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33744:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33757:6:111","memberName":"length","nodeType":"MemberAccess","src":"33744:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":74671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33766:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"33744:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33730:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74666,"name":"uint256","nodeType":"ElementaryTypeName","src":"33734:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74667,"nodeType":"ArrayTypeName","src":"33734:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33730:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"33706:62:111"},{"body":{"id":74694,"nodeType":"Block","src":"33840:74:111","statements":[{"expression":{"id":74692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74686,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74665,"src":"33866:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74688,"indexExpression":{"id":74687,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33871:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33866:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":74689,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33876:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74691,"indexExpression":{"id":74690,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33889:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33876:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33866:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74693,"nodeType":"ExpressionStatement","src":"33866:25:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74679,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33810:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74680,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33814:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33827:6:111","memberName":"length","nodeType":"MemberAccess","src":"33814:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33810:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74695,"initializationExpression":{"assignments":[74676],"declarations":[{"constant":false,"id":74676,"mutability":"mutable","name":"j","nameLocation":"33803:1:111","nodeType":"VariableDeclaration","scope":74695,"src":"33795:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74675,"name":"uint256","nodeType":"ElementaryTypeName","src":"33795:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74678,"initialValue":{"hexValue":"30","id":74677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33807:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33795:13:111"},"loopExpression":{"expression":{"id":74684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33835:3:111","subExpression":{"id":74683,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33835:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74685,"nodeType":"ExpressionStatement","src":"33835:3:111"},"nodeType":"ForStatement","src":"33790:124:111"},{"expression":{"id":74701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74696,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74665,"src":"33935:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74699,"indexExpression":{"expression":{"id":74697,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33940:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33953:6:111","memberName":"length","nodeType":"MemberAccess","src":"33940:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33935:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74700,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33963:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33935:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74702,"nodeType":"ExpressionStatement","src":"33935:38:111"},{"expression":{"id":74705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74703,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33995:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74704,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74665,"src":"34010:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33995:19:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74706,"nodeType":"ExpressionStatement","src":"33995:19:111"}]}}]},"id":74710,"nodeType":"IfStatement","src":"33127:920:111","trueBody":{"id":74625,"nodeType":"Block","src":"33157:120:111","statements":[{"expression":{"id":74617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74611,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33175:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":74615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33204:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":74614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33190:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74612,"name":"uint256","nodeType":"ElementaryTypeName","src":"33194:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74613,"nodeType":"ArrayTypeName","src":"33194:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33190:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33175:31:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74618,"nodeType":"ExpressionStatement","src":"33175:31:111"},{"expression":{"id":74623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74619,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33224:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74621,"indexExpression":{"hexValue":"30","id":74620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33237:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33224:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74622,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33242:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33224:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74624,"nodeType":"ExpressionStatement","src":"33224:28:111"}]}},{"assignments":[74712],"declarations":[{"constant":false,"id":74712,"mutability":"mutable","name":"delta","nameLocation":"34067:5:111","nodeType":"VariableDeclaration","scope":74858,"src":"34060:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74711,"name":"int256","nodeType":"ElementaryTypeName","src":"34060:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74717,"initialValue":{"expression":{"baseExpression":{"id":74713,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74580,"src":"34075:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74715,"indexExpression":{"id":74714,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"34092:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34075:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34095:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72455,"src":"34075:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"34060:47:111"},{"assignments":[74722],"declarations":[{"constant":false,"id":74722,"mutability":"mutable","name":"proposal","nameLocation":"34154:8:111","nodeType":"VariableDeclaration","scope":74858,"src":"34122:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74721,"nodeType":"UserDefinedTypeName","pathNode":{"id":74720,"name":"StrategyStruct.Proposal","nameLocations":["34122:14:111","34137:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"34122:23:111"},"referencedDeclaration":72451,"src":"34122:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74726,"initialValue":{"baseExpression":{"id":74723,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"34165:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74725,"indexExpression":{"id":74724,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"34175:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34165:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"34122:64:111"},{"assignments":[74728],"declarations":[{"constant":false,"id":74728,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"34296:20:111","nodeType":"VariableDeclaration","scope":74858,"src":"34288:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74727,"name":"uint256","nodeType":"ElementaryTypeName","src":"34288:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74733,"initialValue":{"baseExpression":{"expression":{"id":74729,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"34319:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34328:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"34319:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74732,"indexExpression":{"id":74731,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"34346:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34319:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34288:66:111"},{"assignments":[74735],"declarations":[{"constant":false,"id":74735,"mutability":"mutable","name":"stakedPoints","nameLocation":"34527:12:111","nodeType":"VariableDeclaration","scope":74858,"src":"34519:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74734,"name":"uint256","nodeType":"ElementaryTypeName","src":"34519:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74740,"initialValue":{"arguments":[{"id":74737,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"34554:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74738,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74712,"src":"34576:5:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74736,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74896,"src":"34542:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34542:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34519:63:111"},{"expression":{"id":74747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74741,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"34717:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34726:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"34717:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74745,"indexExpression":{"id":74743,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"34744:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34717:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74746,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"34755:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34717:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74748,"nodeType":"ExpressionStatement","src":"34717:50:111"},{"assignments":[74750],"declarations":[{"constant":false,"id":74750,"mutability":"mutable","name":"hasProposal","nameLocation":"35006:11:111","nodeType":"VariableDeclaration","scope":74858,"src":"35001:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74749,"name":"bool","nodeType":"ElementaryTypeName","src":"35001:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74752,"initialValue":{"hexValue":"66616c7365","id":74751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35020:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35001:24:111"},{"body":{"id":74781,"nodeType":"Block","src":"35106:179:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":74766,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"35128:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74768,"indexExpression":{"id":74767,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"35149:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35128:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74770,"indexExpression":{"id":74769,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74754,"src":"35158:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35128:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":74771,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35164:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35173:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"35164:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35128:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74780,"nodeType":"IfStatement","src":"35124:147:111","trueBody":{"id":74779,"nodeType":"Block","src":"35185:86:111","statements":[{"expression":{"id":74776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74774,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74750,"src":"35207:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35221:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35207:18:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74777,"nodeType":"ExpressionStatement","src":"35207:18:111"},{"id":74778,"nodeType":"Break","src":"35247:5:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74757,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74754,"src":"35059:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":74758,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"35063:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74760,"indexExpression":{"id":74759,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"35084:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35063:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35093:6:111","memberName":"length","nodeType":"MemberAccess","src":"35063:36:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35059:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74782,"initializationExpression":{"assignments":[74754],"declarations":[{"constant":false,"id":74754,"mutability":"mutable","name":"k","nameLocation":"35052:1:111","nodeType":"VariableDeclaration","scope":74782,"src":"35044:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74753,"name":"uint256","nodeType":"ElementaryTypeName","src":"35044:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74756,"initialValue":{"hexValue":"30","id":74755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35056:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35044:13:111"},"loopExpression":{"expression":{"id":74764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35101:3:111","subExpression":{"id":74763,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74754,"src":"35101:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74765,"nodeType":"ExpressionStatement","src":"35101:3:111"},"nodeType":"ForStatement","src":"35039:246:111"},{"condition":{"id":74784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35302:12:111","subExpression":{"id":74783,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74750,"src":"35303:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74794,"nodeType":"IfStatement","src":"35298:106:111","trueBody":{"id":74793,"nodeType":"Block","src":"35316:88:111","statements":[{"expression":{"arguments":[{"expression":{"id":74789,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35369:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35378:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"35369:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":74785,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"35334:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74787,"indexExpression":{"id":74786,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"35355:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35334:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35364:4:111","memberName":"push","nodeType":"MemberAccess","src":"35334:34:111","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":74791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35334:55:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74792,"nodeType":"ExpressionStatement","src":"35334:55:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74795,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35559:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":74796,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35583:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35559:36:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74827,"nodeType":"Block","src":"35764:161:111","statements":[{"expression":{"id":74817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74813,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72748,"src":"35782:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74814,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35797:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74815,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35820:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35797:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35782:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74818,"nodeType":"ExpressionStatement","src":"35782:50:111"},{"expression":{"id":74825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74819,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35850:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35859:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"35850:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74822,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35875:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74823,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35898:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35875:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35850:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74826,"nodeType":"ExpressionStatement","src":"35850:60:111"}]},"id":74828,"nodeType":"IfStatement","src":"35555:370:111","trueBody":{"id":74812,"nodeType":"Block","src":"35597:161:111","statements":[{"expression":{"id":74802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74798,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72748,"src":"35615:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74799,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35630:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74800,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35645:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35630:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35615:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74803,"nodeType":"ExpressionStatement","src":"35615:50:111"},{"expression":{"id":74810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74804,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35683:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35692:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"35683:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74807,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35708:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74808,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35723:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35708:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35683:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74811,"nodeType":"ExpressionStatement","src":"35683:60:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74829,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35942:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35951:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"35942:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35964:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35942:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74856,"nodeType":"Block","src":"36039:209:111","statements":[{"expression":{"arguments":[{"id":74842,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"36084:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74843,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"36094:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74841,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75196,"src":"36057:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36057:58:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74845,"nodeType":"ExpressionStatement","src":"36057:58:111"},{"eventCall":{"arguments":[{"id":74847,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"36151:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74848,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"36160:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74849,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"36172:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74850,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"36186:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36195:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"36186:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74852,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"36209:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36218:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"36209:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74846,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72668,"src":"36138:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36138:95:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74855,"nodeType":"EmitStatement","src":"36133:100:111"}]},"id":74857,"nodeType":"IfStatement","src":"35938:310:111","trueBody":{"id":74840,"nodeType":"Block","src":"35967:66:111","statements":[{"expression":{"id":74838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74833,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35985:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35994:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"35985:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74836,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"36006:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":74837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36012:6:111","memberName":"number","nodeType":"MemberAccess","src":"36006:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35985:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74839,"nodeType":"ExpressionStatement","src":"35985:33:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74593,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"32959:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74594,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74580,"src":"32963:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32980:6:111","memberName":"length","nodeType":"MemberAccess","src":"32963:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32959:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74859,"initializationExpression":{"assignments":[74590],"declarations":[{"constant":false,"id":74590,"mutability":"mutable","name":"i","nameLocation":"32952:1:111","nodeType":"VariableDeclaration","scope":74859,"src":"32944:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74589,"name":"uint256","nodeType":"ElementaryTypeName","src":"32944:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74592,"initialValue":{"hexValue":"30","id":74591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32956:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32944:13:111"},"loopExpression":{"expression":{"id":74598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32988:3:111","subExpression":{"id":74597,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"32988:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74599,"nodeType":"ExpressionStatement","src":"32988:3:111"},"nodeType":"ForStatement","src":"32939:3319:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"32794:11:111","parameters":{"id":74581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74576,"mutability":"mutable","name":"_sender","nameLocation":"32814:7:111","nodeType":"VariableDeclaration","scope":74861,"src":"32806:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74575,"name":"address","nodeType":"ElementaryTypeName","src":"32806:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74580,"mutability":"mutable","name":"_proposalSupport","nameLocation":"32863:16:111","nodeType":"VariableDeclaration","scope":74861,"src":"32823:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74578,"nodeType":"UserDefinedTypeName","pathNode":{"id":74577,"name":"StrategyStruct.ProposalSupport","nameLocations":["32823:14:111","32838:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"32823:30:111"},"referencedDeclaration":72456,"src":"32823:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74579,"nodeType":"ArrayTypeName","src":"32823:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"32805:75:111"},"returnParameters":{"id":74582,"nodeType":"ParameterList","parameters":[],"src":"32890:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74896,"nodeType":"FunctionDefinition","src":"36270:276:111","nodes":[],"body":{"id":74895,"nodeType":"Block","src":"36356:190:111","nodes":[],"statements":[{"assignments":[74871],"declarations":[{"constant":false,"id":74871,"mutability":"mutable","name":"result","nameLocation":"36373:6:111","nodeType":"VariableDeclaration","scope":74895,"src":"36366:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74870,"name":"int256","nodeType":"ElementaryTypeName","src":"36366:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74878,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":74874,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74863,"src":"36389:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36382:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":74872,"name":"int256","nodeType":"ElementaryTypeName","src":"36382:6:111","typeDescriptions":{}}},"id":74875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36382:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74876,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74865,"src":"36401:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"36382:25:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"36366:41:111"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74879,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74871,"src":"36422:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":74880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36431:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"36422:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74889,"nodeType":"IfStatement","src":"36418:90:111","trueBody":{"id":74888,"nodeType":"Block","src":"36434:74:111","statements":[{"errorCall":{"arguments":[{"id":74883,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74863,"src":"36472:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74884,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74865,"src":"36482:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":74885,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74871,"src":"36490:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74882,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72543,"src":"36455:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":74886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36455:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74887,"nodeType":"RevertStatement","src":"36448:49:111"}]}},{"expression":{"arguments":[{"id":74892,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74871,"src":"36532:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36524:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":74890,"name":"uint256","nodeType":"ElementaryTypeName","src":"36524:7:111","typeDescriptions":{}}},"id":74893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36524:15:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74869,"id":74894,"nodeType":"Return","src":"36517:22:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"36279:11:111","parameters":{"id":74866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74863,"mutability":"mutable","name":"_support","nameLocation":"36299:8:111","nodeType":"VariableDeclaration","scope":74896,"src":"36291:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74862,"name":"uint256","nodeType":"ElementaryTypeName","src":"36291:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74865,"mutability":"mutable","name":"_delta","nameLocation":"36316:6:111","nodeType":"VariableDeclaration","scope":74896,"src":"36309:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74864,"name":"int256","nodeType":"ElementaryTypeName","src":"36309:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"36290:33:111"},"returnParameters":{"id":74869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74868,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74896,"src":"36347:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74867,"name":"uint256","nodeType":"ElementaryTypeName","src":"36347:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36346:9:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74954,"nodeType":"FunctionDefinition","src":"36963:1175:111","nodes":[],"body":{"id":74953,"nodeType":"Block","src":"37110:1028:111","nodes":[],"statements":[{"assignments":[74909],"declarations":[{"constant":false,"id":74909,"mutability":"mutable","name":"t","nameLocation":"37128:1:111","nodeType":"VariableDeclaration","scope":74953,"src":"37120:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74908,"name":"uint256","nodeType":"ElementaryTypeName","src":"37120:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74911,"initialValue":{"id":74910,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74899,"src":"37132:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37120:23:111"},{"assignments":[74913],"declarations":[{"constant":false,"id":74913,"mutability":"mutable","name":"atTWO_128","nameLocation":"37466:9:111","nodeType":"VariableDeclaration","scope":74953,"src":"37458:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74912,"name":"uint256","nodeType":"ElementaryTypeName","src":"37458:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74924,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74915,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"37484:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74916,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37493:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"37484:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":74917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37502:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37484:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74919,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37483:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74920,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"37509:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37483:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74922,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74909,"src":"37512:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74914,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"37478:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":74923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37478:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37458:56:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74925,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74913,"src":"38010:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74926,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74901,"src":"38022:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38010:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74928,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38009:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74929,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74903,"src":"38037:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74930,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"38050:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38037:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74932,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"38055:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74933,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74913,"src":"38065:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38055:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74935,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38054:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38037:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74937,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38036:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74938,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"38080:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":74939,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"38084:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38093:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"38084:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38080:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74942,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38079:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38036:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74944,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38035:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38009:91:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74946,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38008:93:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74947,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72718,"src":"38104:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38008:103:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38007:105:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":74950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38128:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38007:124:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74907,"id":74952,"nodeType":"Return","src":"38000:131:111"}]},"documentation":{"id":74897,"nodeType":"StructuredDocumentation","src":"36552:406:111","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"36972:19:111","parameters":{"id":74904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74899,"mutability":"mutable","name":"_timePassed","nameLocation":"37000:11:111","nodeType":"VariableDeclaration","scope":74954,"src":"36992:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74898,"name":"uint256","nodeType":"ElementaryTypeName","src":"36992:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74901,"mutability":"mutable","name":"_lastConv","nameLocation":"37021:9:111","nodeType":"VariableDeclaration","scope":74954,"src":"37013:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74900,"name":"uint256","nodeType":"ElementaryTypeName","src":"37013:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74903,"mutability":"mutable","name":"_oldAmount","nameLocation":"37040:10:111","nodeType":"VariableDeclaration","scope":74954,"src":"37032:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74902,"name":"uint256","nodeType":"ElementaryTypeName","src":"37032:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36991:60:111"},"returnParameters":{"id":74907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74954,"src":"37097:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74905,"name":"uint256","nodeType":"ElementaryTypeName","src":"37097:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37096:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75047,"nodeType":"FunctionDefinition","src":"38719:1541:111","nodes":[],"body":{"id":75046,"nodeType":"Block","src":"38814:1446:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74962,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"38948:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":74963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38962:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38948:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74969,"nodeType":"IfStatement","src":"38944:66:111","trueBody":{"id":74968,"nodeType":"Block","src":"38965:45:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74965,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72521,"src":"38986:11:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38986:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74967,"nodeType":"RevertStatement","src":"38979:20:111"}]}},{"condition":{"arguments":[{"id":74971,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74957,"src":"39466:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74970,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74478,"src":"39450:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39450:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74977,"nodeType":"IfStatement","src":"39446:91:111","trueBody":{"id":74976,"nodeType":"Block","src":"39485:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74973,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72529,"src":"39506:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39506:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74975,"nodeType":"RevertStatement","src":"39499:27:111"}]}},{"assignments":[74979],"declarations":[{"constant":false,"id":74979,"mutability":"mutable","name":"denom","nameLocation":"39693:5:111","nodeType":"VariableDeclaration","scope":75046,"src":"39685:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74978,"name":"uint256","nodeType":"ElementaryTypeName","src":"39685:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74998,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74980,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"39702:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39711:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72475,"src":"39702:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":74984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":74982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39722:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":74983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39727:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39722:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39702:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74986,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39701:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74987,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39733:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39701:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74989,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74957,"src":"39738:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":74992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":74990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39757:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":74991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39762:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39757:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39738:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74994,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39737:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74995,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"39768:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39737:41:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39701:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39685:93:111"},{"expression":{"id":75033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74999,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"39788:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75000,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"39820:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39829:6:111","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":72477,"src":"39820:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":75002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39839:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39820:22:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75004,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39819:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75005,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39846:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39819:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75007,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39818:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75008,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74979,"src":"39853:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75009,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74979,"src":"39861:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39853:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75011,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39852:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39871:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39852:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75014,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39851:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39818:56:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75016,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39817:58:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75017,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39878:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39817:62:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75019,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39816:64:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75020,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39884:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75021,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"39888:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39897:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"39888:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39884:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75024,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39883:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39816:87:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75026,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39815:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":75027,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75155,"src":"39923:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":75028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39923:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39815:136:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75030,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39801:160:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39965:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39801:166:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39788:179:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75034,"nodeType":"ExpressionStatement","src":"39788:179:111"},{"expression":{"id":75044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75035,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"40157:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75036,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"40170:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75037,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"40183:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40192:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"40183:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40170:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":75041,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"40226:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40235:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"40226:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"40170:83:111","trueExpression":{"id":75040,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"40213:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40157:96:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75045,"nodeType":"ExpressionStatement","src":"40157:96:111"}]},"documentation":{"id":74955,"nodeType":"StructuredDocumentation","src":"38144:570:111","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"38728:18:111","parameters":{"id":74958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74957,"mutability":"mutable","name":"_requestedAmount","nameLocation":"38755:16:111","nodeType":"VariableDeclaration","scope":75047,"src":"38747:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74956,"name":"uint256","nodeType":"ElementaryTypeName","src":"38747:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38746:26:111"},"returnParameters":{"id":74961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74960,"mutability":"mutable","name":"_threshold","nameLocation":"38802:10:111","nodeType":"VariableDeclaration","scope":75047,"src":"38794:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74959,"name":"uint256","nodeType":"ElementaryTypeName","src":"38794:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38793:20:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75082,"nodeType":"FunctionDefinition","src":"40521:269:111","nodes":[],"body":{"id":75081,"nodeType":"Block","src":"40599:191:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75058,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75050,"src":"40617:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75059,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"40623:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40617:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":75061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40632:42:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":75057,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40609:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40609:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75063,"nodeType":"ExpressionStatement","src":"40609:66:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75065,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75052,"src":"40693:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75066,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"40698:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40693:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":75068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40707:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":75064,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40685:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40685:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75070,"nodeType":"ExpressionStatement","src":"40685:53:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75071,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75050,"src":"40757:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75072,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75052,"src":"40762:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40757:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75074,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40756:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75075,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72718,"src":"40768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40756:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40755:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40780:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40755:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75056,"id":75080,"nodeType":"Return","src":"40748:35:111"}]},"documentation":{"id":75048,"nodeType":"StructuredDocumentation","src":"40266:250:111","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"40530:4:111","parameters":{"id":75053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75050,"mutability":"mutable","name":"_a","nameLocation":"40543:2:111","nodeType":"VariableDeclaration","scope":75082,"src":"40535:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75049,"name":"uint256","nodeType":"ElementaryTypeName","src":"40535:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75052,"mutability":"mutable","name":"_b","nameLocation":"40555:2:111","nodeType":"VariableDeclaration","scope":75082,"src":"40547:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75051,"name":"uint256","nodeType":"ElementaryTypeName","src":"40547:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40534:24:111"},"returnParameters":{"id":75056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75055,"mutability":"mutable","name":"_result","nameLocation":"40590:7:111","nodeType":"VariableDeclaration","scope":75082,"src":"40582:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75054,"name":"uint256","nodeType":"ElementaryTypeName","src":"40582:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40581:17:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75147,"nodeType":"FunctionDefinition","src":"41012:447:111","nodes":[],"body":{"id":75146,"nodeType":"Block","src":"41090:369:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75093,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75085,"src":"41108:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75094,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"41113:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41108:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":75096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41122:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":75092,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41100:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41100:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75098,"nodeType":"ExpressionStatement","src":"41100:53:111"},{"assignments":[75100],"declarations":[{"constant":false,"id":75100,"mutability":"mutable","name":"a","nameLocation":"41171:1:111","nodeType":"VariableDeclaration","scope":75146,"src":"41163:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75099,"name":"uint256","nodeType":"ElementaryTypeName","src":"41163:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75102,"initialValue":{"id":75101,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75085,"src":"41175:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41163:14:111"},{"assignments":[75104],"declarations":[{"constant":false,"id":75104,"mutability":"mutable","name":"b","nameLocation":"41195:1:111","nodeType":"VariableDeclaration","scope":75146,"src":"41187:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75103,"name":"uint256","nodeType":"ElementaryTypeName","src":"41187:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75106,"initialValue":{"id":75105,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75087,"src":"41199:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41187:14:111"},{"expression":{"id":75109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75107,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75090,"src":"41211:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75108,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"41221:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41211:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75110,"nodeType":"ExpressionStatement","src":"41211:17:111"},{"body":{"id":75144,"nodeType":"Block","src":"41252:201:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75114,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41270:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":75115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41274:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41270:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41279:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41270:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75142,"nodeType":"Block","src":"41360:83:111","statements":[{"expression":{"id":75136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75131,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75090,"src":"41378:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75133,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75090,"src":"41393:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75134,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41402:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75132,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75082,"src":"41388:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41388:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41378:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75137,"nodeType":"ExpressionStatement","src":"41378:26:111"},{"expression":{"id":75140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75138,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41422:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":75139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41427:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41422:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75141,"nodeType":"ExpressionStatement","src":"41422:6:111"}]},"id":75143,"nodeType":"IfStatement","src":"41266:177:111","trueBody":{"id":75130,"nodeType":"Block","src":"41282:72:111","statements":[{"expression":{"id":75124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75119,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41300:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75121,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41309:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75122,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41312:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75120,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75082,"src":"41304:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41304:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41300:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75125,"nodeType":"ExpressionStatement","src":"41300:14:111"},{"expression":{"id":75128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75126,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41332:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":75127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41338:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41332:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75129,"nodeType":"ExpressionStatement","src":"41332:7:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75111,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41245:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41249:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41245:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75145,"nodeType":"WhileStatement","src":"41238:215:111"}]},"documentation":{"id":75083,"nodeType":"StructuredDocumentation","src":"40796:211:111","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"41021:4:111","parameters":{"id":75088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75085,"mutability":"mutable","name":"_a","nameLocation":"41034:2:111","nodeType":"VariableDeclaration","scope":75147,"src":"41026:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75084,"name":"uint256","nodeType":"ElementaryTypeName","src":"41026:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75087,"mutability":"mutable","name":"_b","nameLocation":"41046:2:111","nodeType":"VariableDeclaration","scope":75147,"src":"41038:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75086,"name":"uint256","nodeType":"ElementaryTypeName","src":"41038:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41025:24:111"},"returnParameters":{"id":75091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75090,"mutability":"mutable","name":"_result","nameLocation":"41081:7:111","nodeType":"VariableDeclaration","scope":75147,"src":"41073:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75089,"name":"uint256","nodeType":"ElementaryTypeName","src":"41073:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41072:17:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75155,"nodeType":"FunctionDefinition","src":"41465:112:111","nodes":[],"body":{"id":75154,"nodeType":"Block","src":"41533:44:111","nodes":[],"statements":[{"expression":{"id":75152,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"41550:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75151,"id":75153,"nodeType":"Return","src":"41543:27:111"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"41474:26:111","parameters":{"id":75148,"nodeType":"ParameterList","parameters":[],"src":"41500:2:111"},"returnParameters":{"id":75151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75155,"src":"41524:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75149,"name":"uint256","nodeType":"ElementaryTypeName","src":"41524:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41523:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75196,"nodeType":"FunctionDefinition","src":"41767:396:111","nodes":[],"body":{"id":75195,"nodeType":"Block","src":"41875:288:111","nodes":[],"statements":[{"assignments":[75165,75167],"declarations":[{"constant":false,"id":75165,"mutability":"mutable","name":"conviction","nameLocation":"41894:10:111","nodeType":"VariableDeclaration","scope":75195,"src":"41886:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75164,"name":"uint256","nodeType":"ElementaryTypeName","src":"41886:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75167,"mutability":"mutable","name":"blockNumber","nameLocation":"41914:11:111","nodeType":"VariableDeclaration","scope":75195,"src":"41906:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75166,"name":"uint256","nodeType":"ElementaryTypeName","src":"41906:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75172,"initialValue":{"arguments":[{"id":75169,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75159,"src":"41963:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":75170,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75161,"src":"41974:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75168,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75243,"src":"41929:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":75171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41929:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"41885:100:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75173,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75165,"src":"41999:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42013:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41999:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75176,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75167,"src":"42018:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42033:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42018:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"41999:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75182,"nodeType":"IfStatement","src":"41995:72:111","trueBody":{"id":75181,"nodeType":"Block","src":"42036:31:111","statements":[{"functionReturnParameters":75163,"id":75180,"nodeType":"Return","src":"42050:7:111"}]}},{"expression":{"id":75187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75183,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75159,"src":"42076:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42086:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42076:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75186,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75167,"src":"42098:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42076:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75188,"nodeType":"ExpressionStatement","src":"42076:33:111"},{"expression":{"id":75193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75189,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75159,"src":"42119:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42129:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"42119:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75192,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75165,"src":"42146:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42119:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75194,"nodeType":"ExpressionStatement","src":"42119:37:111"}]},"documentation":{"id":75156,"nodeType":"StructuredDocumentation","src":"41583:179:111","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"41776:26:111","parameters":{"id":75162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75159,"mutability":"mutable","name":"_proposal","nameLocation":"41835:9:111","nodeType":"VariableDeclaration","scope":75196,"src":"41803:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75158,"nodeType":"UserDefinedTypeName","pathNode":{"id":75157,"name":"StrategyStruct.Proposal","nameLocations":["41803:14:111","41818:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"41803:23:111"},"referencedDeclaration":72451,"src":"41803:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75161,"mutability":"mutable","name":"_oldStaked","nameLocation":"41854:10:111","nodeType":"VariableDeclaration","scope":75196,"src":"41846:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75160,"name":"uint256","nodeType":"ElementaryTypeName","src":"41846:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41802:63:111"},"returnParameters":{"id":75163,"nodeType":"ParameterList","parameters":[],"src":"41875:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75243,"nodeType":"FunctionDefinition","src":"42169:719:111","nodes":[],"body":{"id":75242,"nodeType":"Block","src":"42367:521:111","nodes":[],"statements":[{"expression":{"id":75211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75208,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42377:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75209,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"42391:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42397:6:111","memberName":"number","nodeType":"MemberAccess","src":"42391:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42377:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75212,"nodeType":"ExpressionStatement","src":"42377:26:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75214,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42420:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42430:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42420:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75216,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42443:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42420:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75213,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"42413:6:111","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":75218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42413:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75219,"nodeType":"ExpressionStatement","src":"42413:42:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75220,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42469:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42479:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42469:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75222,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42492:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42469:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75229,"nodeType":"IfStatement","src":"42465:173:111","trueBody":{"id":75228,"nodeType":"Block","src":"42505:133:111","statements":[{"expression":{"components":[{"hexValue":"30","id":75224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42593:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42596:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":75226,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"42592:6:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":75207,"id":75227,"nodeType":"Return","src":"42585:13:111"}]}},{"expression":{"id":75240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75230,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75204,"src":"42691:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75232,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42737:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75233,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42751:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42761:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42751:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42737:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75236,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42823:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75237,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42833:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"42823:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75238,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"42861:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75231,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74954,"src":"42704:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":75239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42704:177:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42691:190:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75241,"nodeType":"ExpressionStatement","src":"42691:190:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"42178:33:111","parameters":{"id":75202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75199,"mutability":"mutable","name":"_proposal","nameLocation":"42244:9:111","nodeType":"VariableDeclaration","scope":75243,"src":"42212:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75198,"nodeType":"UserDefinedTypeName","pathNode":{"id":75197,"name":"StrategyStruct.Proposal","nameLocations":["42212:14:111","42227:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"42212:23:111"},"referencedDeclaration":72451,"src":"42212:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75201,"mutability":"mutable","name":"_oldStaked","nameLocation":"42263:10:111","nodeType":"VariableDeclaration","scope":75243,"src":"42255:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75200,"name":"uint256","nodeType":"ElementaryTypeName","src":"42255:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42211:63:111"},"returnParameters":{"id":75207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75204,"mutability":"mutable","name":"conviction","nameLocation":"42330:10:111","nodeType":"VariableDeclaration","scope":75243,"src":"42322:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75203,"name":"uint256","nodeType":"ElementaryTypeName","src":"42322:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75206,"mutability":"mutable","name":"blockNumber","nameLocation":"42350:11:111","nodeType":"VariableDeclaration","scope":75243,"src":"42342:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75205,"name":"uint256","nodeType":"ElementaryTypeName","src":"42342:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42321:41:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75354,"nodeType":"FunctionDefinition","src":"42894:1432:111","nodes":[],"body":{"id":75353,"nodeType":"Block","src":"43049:1277:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75252,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43076:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43094:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43076:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43118:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43110:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75254,"name":"address","nodeType":"ElementaryTypeName","src":"43110:7:111","typeDescriptions":{}}},"id":75257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43110:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43076:44:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75261,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43132:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43150:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43132:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43124:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75259,"name":"address","nodeType":"ElementaryTypeName","src":"43124:7:111","typeDescriptions":{}}},"id":75263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43124:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43173:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43165:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75264,"name":"address","nodeType":"ElementaryTypeName","src":"43165:7:111","typeDescriptions":{}}},"id":75267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43165:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43124:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43076:99:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75270,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43217:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75271,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43235:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43217:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75272,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43251:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43268:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43251:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43217:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},"id":75279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75275,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43300:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43318:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43300:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75277,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43332:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43349:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43332:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"src":"43300:59:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:142:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75281,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43379:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43397:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"43379:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75283,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43426:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43443:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"43426:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43379:89:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:251:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75287,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43488:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43506:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"43488:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75289,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43536:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43553:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"43536:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43488:91:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:362:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75293,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43599:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43617:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"43599:31:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75295,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43634:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43651:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"43634:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43599:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:447:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75299,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43684:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43702:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"43684:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75301,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43726:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75302,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43743:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"43726:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43684:79:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:546:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":75305,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43203:574:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43076:701:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75343,"nodeType":"IfStatement","src":"43059:1168:111","trueBody":{"id":75342,"nodeType":"Block","src":"43788:439:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":75309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75307,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72743,"src":"43806:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43822:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43806:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75314,"nodeType":"IfStatement","src":"43802:110:111","trueBody":{"id":75313,"nodeType":"Block","src":"43825:87:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75310,"name":"ArbitrationConfigCannotBeChangedDuringDispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72611,"src":"43850:45:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43850:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75312,"nodeType":"RevertStatement","src":"43843:54:111"}]}},{"expression":{"arguments":[{"expression":{"id":75320,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43980:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43998:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43980:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":75315,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43938:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43956:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43938:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"id":75319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43967:12:111","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":79605,"src":"43938:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":75322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43938:73:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75323,"nodeType":"ExpressionStatement","src":"43938:73:111"},{"eventCall":{"arguments":[{"arguments":[{"id":75327,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"44077:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":75326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44069:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75325,"name":"address","nodeType":"ElementaryTypeName","src":"44069:7:111","typeDescriptions":{}}},"id":75328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44069:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":75331,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"44092:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44109:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"44092:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44084:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75329,"name":"address","nodeType":"ElementaryTypeName","src":"44084:7:111","typeDescriptions":{}}},"id":75333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44084:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75334,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"44122:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44139:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"44122:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":75324,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72709,"src":"44030:21:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":75336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44030:135:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75337,"nodeType":"EmitStatement","src":"44025:140:111"},{"expression":{"id":75340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75338,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"44180:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75339,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"44199:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"44180:36:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75341,"nodeType":"ExpressionStatement","src":"44180:36:111"}]}},{"expression":{"id":75346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75344,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"44237:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75345,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75249,"src":"44248:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"44237:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75347,"nodeType":"ExpressionStatement","src":"44237:20:111"},{"eventCall":{"arguments":[{"id":75349,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75249,"src":"44290:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"id":75350,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"44301:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":75348,"name":"PoolParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72676,"src":"44272:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$72482_memory_ptr_$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory,struct StrategyStruct.ArbitrableConfig memory)"}},"id":75351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44272:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75352,"nodeType":"EmitStatement","src":"44267:52:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"42903:14:111","parameters":{"id":75250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75246,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"42966:17:111","nodeType":"VariableDeclaration","scope":75354,"src":"42927:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75245,"nodeType":"UserDefinedTypeName","pathNode":{"id":75244,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["42927:14:111","42942:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"42927:31:111"},"referencedDeclaration":72473,"src":"42927:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75249,"mutability":"mutable","name":"_cvParams","nameLocation":"43024:9:111","nodeType":"VariableDeclaration","scope":75354,"src":"42993:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75248,"nodeType":"UserDefinedTypeName","pathNode":{"id":75247,"name":"StrategyStruct.CVParams","nameLocations":["42993:14:111","43008:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"42993:23:111"},"referencedDeclaration":72482,"src":"42993:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"42917:122:111"},"returnParameters":{"id":75251,"nodeType":"ParameterList","parameters":[],"src":"43049:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75390,"nodeType":"FunctionDefinition","src":"44332:630:111","nodes":[],"body":{"id":75389,"nodeType":"Block","src":"44411:551:111","nodes":[],"statements":[{"assignments":[75365],"declarations":[{"constant":false,"id":75365,"mutability":"mutable","name":"proposal","nameLocation":"44453:8:111","nodeType":"VariableDeclaration","scope":75389,"src":"44421:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75364,"nodeType":"UserDefinedTypeName","pathNode":{"id":75363,"name":"StrategyStruct.Proposal","nameLocations":["44421:14:111","44436:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"44421:23:111"},"referencedDeclaration":72451,"src":"44421:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75369,"initialValue":{"baseExpression":{"id":75366,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"44464:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75368,"indexExpression":{"id":75367,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75356,"src":"44474:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44464:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"44421:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75370,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44500:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75371,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44509:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"44500:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75372,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75356,"src":"44523:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44500:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75379,"nodeType":"IfStatement","src":"44496:100:111","trueBody":{"id":75378,"nodeType":"Block","src":"44535:61:111","statements":[{"errorCall":{"arguments":[{"id":75375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75356,"src":"44574:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75374,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"44556:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44556:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75377,"nodeType":"RevertStatement","src":"44549:36:111"}]}},{"expression":{"arguments":[{"id":75381,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44883:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":75382,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44893:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44902:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"44893:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75380,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75196,"src":"44856:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":75384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44856:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75385,"nodeType":"ExpressionStatement","src":"44856:59:111"},{"expression":{"expression":{"id":75386,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44932:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44941:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"44932:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75360,"id":75388,"nodeType":"Return","src":"44925:30:111"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"44341:24:111","parameters":{"id":75357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75356,"mutability":"mutable","name":"proposalId","nameLocation":"44374:10:111","nodeType":"VariableDeclaration","scope":75390,"src":"44366:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75355,"name":"uint256","nodeType":"ElementaryTypeName","src":"44366:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44365:20:111"},"returnParameters":{"id":75360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75390,"src":"44402:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75358,"name":"uint256","nodeType":"ElementaryTypeName","src":"44402:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44401:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75410,"nodeType":"FunctionDefinition","src":"44968:133:111","nodes":[],"body":{"id":75409,"nodeType":"Block","src":"45040:61:111","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75397,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75392,"src":"45059:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75398,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"45068:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45059:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75400,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45058:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75401,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"45074:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75402,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"45078:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45087:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"45078:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45074:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75405,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45073:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45058:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75407,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45057:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75396,"id":75408,"nodeType":"Return","src":"45050:44:111"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"44977:16:111","parameters":{"id":75393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75392,"mutability":"mutable","name":"amount","nameLocation":"45002:6:111","nodeType":"VariableDeclaration","scope":75410,"src":"44994:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75391,"name":"uint256","nodeType":"ElementaryTypeName","src":"44994:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44993:16:111"},"returnParameters":{"id":75396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75410,"src":"45031:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75394,"name":"uint256","nodeType":"ElementaryTypeName","src":"45031:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45030:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75430,"nodeType":"FunctionDefinition","src":"45107:223:111","nodes":[],"body":{"id":75429,"nodeType":"Block","src":"45202:128:111","nodes":[],"statements":[{"expression":{"id":75423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75419,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"45212:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75421,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75412,"src":"45254:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75420,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"45232:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78716_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":75422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45232:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"src":"45212:61:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":75424,"nodeType":"ExpressionStatement","src":"45212:61:111"},{"eventCall":{"arguments":[{"id":75426,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75412,"src":"45304:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75425,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72680,"src":"45288:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45288:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75428,"nodeType":"EmitStatement","src":"45283:40:111"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":75415,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"45190:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45194:6:111","memberName":"sender","nodeType":"MemberAccess","src":"45190:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":75417,"kind":"modifierInvocation","modifierName":{"id":75414,"name":"onlyPoolManager","nameLocations":["45174:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":71777,"src":"45174:15:111"},"nodeType":"ModifierInvocation","src":"45174:27:111"}],"name":"setRegistryCommunity","nameLocation":"45116:20:111","parameters":{"id":75413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75412,"mutability":"mutable","name":"_registryCommunity","nameLocation":"45145:18:111","nodeType":"VariableDeclaration","scope":75430,"src":"45137:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75411,"name":"address","nodeType":"ElementaryTypeName","src":"45137:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45136:28:111"},"returnParameters":{"id":75418,"nodeType":"ParameterList","parameters":[],"src":"45202:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75449,"nodeType":"FunctionDefinition","src":"45336:181:111","nodes":[],"body":{"id":75448,"nodeType":"Block","src":"45391:126:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75435,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"45401:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45401:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75437,"nodeType":"ExpressionStatement","src":"45401:17:111"},{"expression":{"arguments":[{"id":75439,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75432,"src":"45447:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75438,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73014,"src":"45428:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":75440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45428:32:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75441,"nodeType":"ExpressionStatement","src":"45428:32:111"},{"expression":{"id":75446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75442,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"45470:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75444,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75432,"src":"45497:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75443,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"45484:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76270_$","typeString":"type(contract ISybilScorer)"}},"id":75445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45484:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"src":"45470:40:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"id":75447,"nodeType":"ExpressionStatement","src":"45470:40:111"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"45345:14:111","parameters":{"id":75433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75432,"mutability":"mutable","name":"_sybilScorer","nameLocation":"45368:12:111","nodeType":"VariableDeclaration","scope":75449,"src":"45360:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75431,"name":"address","nodeType":"ElementaryTypeName","src":"45360:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45359:22:111"},"returnParameters":{"id":75434,"nodeType":"ParameterList","parameters":[],"src":"45391:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75467,"nodeType":"FunctionDefinition","src":"45523:242:111","nodes":[],"body":{"id":75466,"nodeType":"Block","src":"45677:88:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75458,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"45687:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45687:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75460,"nodeType":"ExpressionStatement","src":"45687:17:111"},{"expression":{"arguments":[{"id":75462,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"45729:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":75463,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75455,"src":"45748:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":75461,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75354,"src":"45714:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$_t_struct$_CVParams_$72482_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":75464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45714:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75465,"nodeType":"ExpressionStatement","src":"45714:44:111"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"45532:13:111","parameters":{"id":75456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75452,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"45594:17:111","nodeType":"VariableDeclaration","scope":75467,"src":"45555:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75451,"nodeType":"UserDefinedTypeName","pathNode":{"id":75450,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["45555:14:111","45570:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"45555:31:111"},"referencedDeclaration":72473,"src":"45555:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75455,"mutability":"mutable","name":"_cvParams","nameLocation":"45652:9:111","nodeType":"VariableDeclaration","scope":75467,"src":"45621:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75454,"nodeType":"UserDefinedTypeName","pathNode":{"id":75453,"name":"StrategyStruct.CVParams","nameLocations":["45621:14:111","45636:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"45621:23:111"},"referencedDeclaration":72482,"src":"45621:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"45545:122:111"},"returnParameters":{"id":75457,"nodeType":"ParameterList","parameters":[],"src":"45677:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75650,"nodeType":"FunctionDefinition","src":"45771:2270:111","nodes":[],"body":{"id":75649,"nodeType":"Block","src":"45941:2100:111","nodes":[],"statements":[{"assignments":[75482],"declarations":[{"constant":false,"id":75482,"mutability":"mutable","name":"proposal","nameLocation":"45983:8:111","nodeType":"VariableDeclaration","scope":75649,"src":"45951:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75481,"nodeType":"UserDefinedTypeName","pathNode":{"id":75480,"name":"StrategyStruct.Proposal","nameLocations":["45951:14:111","45966:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"45951:23:111"},"referencedDeclaration":72451,"src":"45951:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75486,"initialValue":{"baseExpression":{"id":75483,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"45994:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75485,"indexExpression":{"id":75484,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46004:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45994:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"45951:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75489,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"46038:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46055:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"46038:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46030:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75487,"name":"address","nodeType":"ElementaryTypeName","src":"46030:7:111","typeDescriptions":{}}},"id":75491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46030:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46078:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46070:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75492,"name":"address","nodeType":"ElementaryTypeName","src":"46070:7:111","typeDescriptions":{}}},"id":75495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46070:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46030:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75501,"nodeType":"IfStatement","src":"46026:112:111","trueBody":{"id":75500,"nodeType":"Block","src":"46082:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75497,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72601,"src":"46103:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46103:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75499,"nodeType":"RevertStatement","src":"46096:31:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75502,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46315:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46324:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"46315:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75504,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46338:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46315:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75511,"nodeType":"IfStatement","src":"46311:100:111","trueBody":{"id":75510,"nodeType":"Block","src":"46350:61:111","statements":[{"errorCall":{"arguments":[{"id":75507,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46389:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75506,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"46371:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46371:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75509,"nodeType":"RevertStatement","src":"46364:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"id":75517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75512,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46424:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46433:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"46424:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75514,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"46451:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46466:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"46451:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46481:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"46451:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"46424:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75523,"nodeType":"IfStatement","src":"46420:130:111","trueBody":{"id":75522,"nodeType":"Block","src":"46489:61:111","statements":[{"errorCall":{"arguments":[{"id":75519,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46528:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75518,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72561,"src":"46510:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46510:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75521,"nodeType":"RevertStatement","src":"46503:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75524,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46563:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46567:5:111","memberName":"value","nodeType":"MemberAccess","src":"46563:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75526,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"46575:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46592:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"46575:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46563:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75537,"nodeType":"IfStatement","src":"46559:171:111","trueBody":{"id":75536,"nodeType":"Block","src":"46620:110:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":75530,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46664:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46668:5:111","memberName":"value","nodeType":"MemberAccess","src":"46664:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75532,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"46675:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46692:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"46675:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75529,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"46641:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46641:78:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75535,"nodeType":"RevertStatement","src":"46634:85:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75538,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46849:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46858:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"46849:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46883:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"46849:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75542,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46904:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46913:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"46904:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75544,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"46937:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46904:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75546,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"46960:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46966:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"46960:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46904:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46849:126:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75562,"nodeType":"IfStatement","src":"46832:325:111","trueBody":{"id":75561,"nodeType":"Block","src":"46986:171:111","statements":[{"errorCall":{"arguments":[{"id":75551,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47049:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75552,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47061:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47070:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"47061:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75554,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"47094:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47061:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75556,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47117:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47123:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47117:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47061:71:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75550,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72609,"src":"47007:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47007:139:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75560,"nodeType":"RevertStatement","src":"47000:146:111"}]}},{"assignments":[75564],"declarations":[{"constant":false,"id":75564,"mutability":"mutable","name":"arbitrationFee","nameLocation":"47175:14:111","nodeType":"VariableDeclaration","scope":75649,"src":"47167:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75563,"name":"uint256","nodeType":"ElementaryTypeName","src":"47167:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75570,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75565,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47192:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47196:5:111","memberName":"value","nodeType":"MemberAccess","src":"47192:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75567,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47204:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47221:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"47204:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47192:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47167:80:111"},{"expression":{"arguments":[{"id":75577,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47344:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75578,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47356:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47360:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47356:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75571,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"47258:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47274:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79618,"src":"47258:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":75574,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47299:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47316:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"47299:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47258:85:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":75580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47258:109:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75581,"nodeType":"ExpressionStatement","src":"47258:109:111"},{"expression":{"id":75591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75582,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47378:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75588,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72727,"src":"47455:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75589,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75473,"src":"47471:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":75583,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47390:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47407:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"47390:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"id":75585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47418:13:111","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":79553,"src":"47390:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":75586,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75564,"src":"47439:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47390:64:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47390:92:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47378:104:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75592,"nodeType":"ExpressionStatement","src":"47378:104:111"},{"expression":{"id":75599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75593,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47493:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47502:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"47493:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75596,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"47519:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47534:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"47519:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47549:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72408,"src":"47519:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"47493:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75600,"nodeType":"ExpressionStatement","src":"47493:64:111"},{"expression":{"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75601,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47567:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47576:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47567:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47588:9:111","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":72412,"src":"47567:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75606,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47600:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47567:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75608,"nodeType":"ExpressionStatement","src":"47567:42:111"},{"expression":{"id":75616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75609,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47619:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47628:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47619:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47640:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72414,"src":"47619:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75614,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47659:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47665:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47659:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47619:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75617,"nodeType":"ExpressionStatement","src":"47619:55:111"},{"expression":{"id":75625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75618,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47684:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47693:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47684:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47705:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"47684:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75623,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47718:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47722:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47718:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"47684:44:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75626,"nodeType":"ExpressionStatement","src":"47684:44:111"},{"expression":{"id":75631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75627,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72792,"src":"47738:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75629,"indexExpression":{"id":75628,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47760:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"47738:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75630,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47773:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47738:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75632,"nodeType":"ExpressionStatement","src":"47738:45:111"},{"expression":{"id":75634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"47794:14:111","subExpression":{"id":75633,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72743,"src":"47794:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75635,"nodeType":"ExpressionStatement","src":"47794:14:111"},{"eventCall":{"arguments":[{"expression":{"id":75637,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47854:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47871:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"47854:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},{"id":75639,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47895:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75640,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47919:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75641,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47942:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47946:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47942:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75643,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75471,"src":"47966:7:111","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":75644,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47987:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47996:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47987:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48008:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72414,"src":"47987:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75636,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72701,"src":"47824:16:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79606_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":75647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47824:210:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75648,"nodeType":"EmitStatement","src":"47819:215:111"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"45780:15:111","parameters":{"id":75474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75469,"mutability":"mutable","name":"proposalId","nameLocation":"45804:10:111","nodeType":"VariableDeclaration","scope":75650,"src":"45796:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75468,"name":"uint256","nodeType":"ElementaryTypeName","src":"45796:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75471,"mutability":"mutable","name":"context","nameLocation":"45832:7:111","nodeType":"VariableDeclaration","scope":75650,"src":"45816:23:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":75470,"name":"string","nodeType":"ElementaryTypeName","src":"45816:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":75473,"mutability":"mutable","name":"_extraData","nameLocation":"45856:10:111","nodeType":"VariableDeclaration","scope":75650,"src":"45841:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":75472,"name":"bytes","nodeType":"ElementaryTypeName","src":"45841:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45795:72:111"},"returnParameters":{"id":75477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75476,"mutability":"mutable","name":"disputeId","nameLocation":"45926:9:111","nodeType":"VariableDeclaration","scope":75650,"src":"45918:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75475,"name":"uint256","nodeType":"ElementaryTypeName","src":"45918:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45917:19:111"},"scope":75909,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75895,"nodeType":"FunctionDefinition","src":"48047:2798:111","nodes":[],"body":{"id":75894,"nodeType":"Block","src":"48116:2729:111","nodes":[],"statements":[{"assignments":[75659],"declarations":[{"constant":false,"id":75659,"mutability":"mutable","name":"proposalId","nameLocation":"48134:10:111","nodeType":"VariableDeclaration","scope":75894,"src":"48126:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75658,"name":"uint256","nodeType":"ElementaryTypeName","src":"48126:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75663,"initialValue":{"baseExpression":{"id":75660,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72792,"src":"48147:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75662,"indexExpression":{"id":75661,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75652,"src":"48169:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48147:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"48126:54:111"},{"assignments":[75668],"declarations":[{"constant":false,"id":75668,"mutability":"mutable","name":"proposal","nameLocation":"48222:8:111","nodeType":"VariableDeclaration","scope":75894,"src":"48190:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75667,"nodeType":"UserDefinedTypeName","pathNode":{"id":75666,"name":"StrategyStruct.Proposal","nameLocations":["48190:14:111","48205:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"48190:23:111"},"referencedDeclaration":72451,"src":"48190:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75672,"initialValue":{"baseExpression":{"id":75669,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"48233:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75671,"indexExpression":{"id":75670,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48243:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48233:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48190:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48269:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48283:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48269:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75681,"nodeType":"IfStatement","src":"48265:82:111","trueBody":{"id":75680,"nodeType":"Block","src":"48286:61:111","statements":[{"errorCall":{"arguments":[{"id":75677,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48325:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75676,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"48307:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48307:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75679,"nodeType":"RevertStatement","src":"48300:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"id":75687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75682,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"48360:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48369:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"48360:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75684,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"48387:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48402:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"48387:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48417:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72408,"src":"48387:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"48360:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75693,"nodeType":"IfStatement","src":"48356:134:111","trueBody":{"id":75692,"nodeType":"Block","src":"48427:63:111","statements":[{"errorCall":{"arguments":[{"id":75689,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48468:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75688,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72599,"src":"48448:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48448:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75691,"nodeType":"RevertStatement","src":"48441:38:111"}]}},{"assignments":[75695],"declarations":[{"constant":false,"id":75695,"mutability":"mutable","name":"isTimeOut","nameLocation":"48505:9:111","nodeType":"VariableDeclaration","scope":75894,"src":"48500:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75694,"name":"bool","nodeType":"ElementaryTypeName","src":"48500:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75705,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75696,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"48517:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48523:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"48517:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75698,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"48535:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75699,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48544:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"48535:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48556:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72414,"src":"48535:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":75701,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48575:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48592:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"48575:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48535:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48517:95:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"48500:112:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"48627:10:111","subExpression":{"id":75706,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75695,"src":"48628:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75708,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48641:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48645:6:111","memberName":"sender","nodeType":"MemberAccess","src":"48641:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":75712,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48663:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75713,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48680:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"48663:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48655:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75710,"name":"address","nodeType":"ElementaryTypeName","src":"48655:7:111","typeDescriptions":{}}},"id":75714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48655:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"48641:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48627:64:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75721,"nodeType":"IfStatement","src":"48623:118:111","trueBody":{"id":75720,"nodeType":"Block","src":"48693:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75717,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"48714:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48714:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75719,"nodeType":"RevertStatement","src":"48707:23:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75722,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75695,"src":"48755:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75723,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"48768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48779:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48768:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48755:25:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75787,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"49543:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49554:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"49543:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75816,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"49915:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49926:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49915:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75874,"nodeType":"IfStatement","src":"49911:774:111","trueBody":{"id":75873,"nodeType":"Block","src":"49929:756:111","statements":[{"expression":{"id":75825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75819,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49943:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49952:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"49943:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75822,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"49969:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49984:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"49969:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49999:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72409,"src":"49969:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49943:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75826,"nodeType":"ExpressionStatement","src":"49943:64:111"},{"expression":{"arguments":[{"id":75830,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"50073:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75831,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50085:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50094:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50085:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75833,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50106:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"50085:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75834,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"50118:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50135:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"50118:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75827,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"50021:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50037:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"50021:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50021:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75837,"nodeType":"ExpressionStatement","src":"50021:154:111"},{"expression":{"arguments":[{"id":75841,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"50244:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75842,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50272:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50281:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"50272:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75846,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"50316:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":75847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50334:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77047,"src":"50316:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79732_$","typeString":"function () view external returns (contract ISafe)"}},"id":75848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50316:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":75845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50308:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75844,"name":"address","nodeType":"ElementaryTypeName","src":"50308:7:111","typeDescriptions":{}}},"id":75849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50308:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75850,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50366:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50375:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50366:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50387:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"50366:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50414:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50366:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75838,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"50189:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50205:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79638,"src":"50189:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50189:240:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75856,"nodeType":"ExpressionStatement","src":"50189:240:111"},{"expression":{"arguments":[{"id":75860,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"50498:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75861,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50526:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50535:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"50526:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75863,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50562:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50571:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50562:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50583:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"50562:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75866,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50611:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75867,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50620:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50611:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50632:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"50611:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50659:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50611:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75857,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"50443:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50459:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79638,"src":"50443:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50443:231:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75872,"nodeType":"ExpressionStatement","src":"50443:231:111"}]}},"id":75875,"nodeType":"IfStatement","src":"49539:1146:111","trueBody":{"id":75815,"nodeType":"Block","src":"49557:348:111","statements":[{"expression":{"id":75796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75790,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49571:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49580:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"49571:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75793,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"49597:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49612:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"49597:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49627:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"49597:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49571:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75797,"nodeType":"ExpressionStatement","src":"49571:62:111"},{"expression":{"arguments":[{"id":75801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"49702:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75802,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49730:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75803,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49739:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"49730:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49751:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"49730:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75807,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"49787:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":75808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49805:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77047,"src":"49787:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79732_$","typeString":"function () view external returns (contract ISafe)"}},"id":75809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49787:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":75806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49779:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75805,"name":"address","nodeType":"ElementaryTypeName","src":"49779:7:111","typeDescriptions":{}}},"id":75810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49779:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75811,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"49837:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49854:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"49837:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75798,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"49647:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49663:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79638,"src":"49647:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49647:247:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75814,"nodeType":"ExpressionStatement","src":"49647:247:111"}]}},"id":75876,"nodeType":"IfStatement","src":"48751:1934:111","trueBody":{"id":75786,"nodeType":"Block","src":"48782:751:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75727,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48800:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48817:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"48800:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48834:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48800:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75735,"nodeType":"IfStatement","src":"48796:102:111","trueBody":{"id":75734,"nodeType":"Block","src":"48837:61:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75731,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72603,"src":"48862:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48862:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75733,"nodeType":"RevertStatement","src":"48855:28:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75736,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48915:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48932:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"48915:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48949:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"48915:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75749,"nodeType":"IfStatement","src":"48911:136:111","trueBody":{"id":75748,"nodeType":"Block","src":"48952:95:111","statements":[{"expression":{"id":75746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75740,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"48970:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"48979:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"48970:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75743,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"48996:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49011:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"48996:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49026:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"48996:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"48970:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75747,"nodeType":"ExpressionStatement","src":"48970:62:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75750,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"49064:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49081:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49064:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49098:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49064:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75763,"nodeType":"IfStatement","src":"49060:138:111","trueBody":{"id":75762,"nodeType":"Block","src":"49101:97:111","statements":[{"expression":{"id":75760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75754,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49119:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49128:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"49119:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75757,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"49145:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49160:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"49145:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49175:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72409,"src":"49145:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49119:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75761,"nodeType":"ExpressionStatement","src":"49119:64:111"}]}},{"expression":{"arguments":[{"id":75767,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"49263:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75768,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49275:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49284:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"49275:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49296:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"49275:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75771,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"49308:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49325:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"49308:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75764,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"49211:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49227:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"49211:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49211:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75774,"nodeType":"ExpressionStatement","src":"49211:154:111"},{"expression":{"arguments":[{"id":75778,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"49431:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75779,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49443:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49452:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"49443:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75781,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49463:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75782,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49472:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"49463:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75783,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49484:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"49463:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75775,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"49379:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49395:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"49379:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49379:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75785,"nodeType":"ExpressionStatement","src":"49379:143:111"}]}},{"expression":{"id":75878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"50695:14:111","subExpression":{"id":75877,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72743,"src":"50695:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75879,"nodeType":"ExpressionStatement","src":"50695:14:111"},{"expression":{"id":75885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75880,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50719:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50728:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"50719:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75883,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50752:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50758:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"50752:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50719:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75886,"nodeType":"ExpressionStatement","src":"50719:48:111"},{"eventCall":{"arguments":[{"expression":{"id":75888,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"50789:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50806:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"50789:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},{"id":75890,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75652,"src":"50818:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75891,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"50830:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75887,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79493,"src":"50782:6:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79606_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":75892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50782:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75893,"nodeType":"EmitStatement","src":"50777:61:111"}]},"baseFunctions":[79501],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"48056:4:111","overrides":{"id":75656,"nodeType":"OverrideSpecifier","overrides":[],"src":"48107:8:111"},"parameters":{"id":75655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75652,"mutability":"mutable","name":"_disputeID","nameLocation":"48069:10:111","nodeType":"VariableDeclaration","scope":75895,"src":"48061:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75651,"name":"uint256","nodeType":"ElementaryTypeName","src":"48061:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75654,"mutability":"mutable","name":"_ruling","nameLocation":"48089:7:111","nodeType":"VariableDeclaration","scope":75895,"src":"48081:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75653,"name":"uint256","nodeType":"ElementaryTypeName","src":"48081:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48060:37:111"},"returnParameters":{"id":75657,"nodeType":"ParameterList","parameters":[],"src":"48116:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75904,"nodeType":"FunctionDefinition","src":"50851:66:111","nodes":[],"body":{"id":75903,"nodeType":"Block","src":"50915:2:111","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":75901,"kind":"modifierInvocation","modifierName":{"id":75900,"name":"onlyOwner","nameLocations":["50905:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"50905:9:111"},"nodeType":"ModifierInvocation","src":"50905:9:111"}],"name":"_authorizeUpgrade","nameLocation":"50860:17:111","overrides":{"id":75899,"nodeType":"OverrideSpecifier","overrides":[],"src":"50896:8:111"},"parameters":{"id":75898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75904,"src":"50878:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75896,"name":"address","nodeType":"ElementaryTypeName","src":"50878:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50877:9:111"},"returnParameters":{"id":75902,"nodeType":"ParameterList","parameters":[],"src":"50915:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75908,"nodeType":"VariableDeclaration","src":"50923:25:111","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"50943:5:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":75905,"name":"uint256","nodeType":"ElementaryTypeName","src":"50923:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75907,"length":{"hexValue":"3530","id":75906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50931:2:111","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"50923:11:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":72504,"name":"OwnableUpgradeable","nameLocations":["4075:18:111"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"4075:18:111"},"id":72505,"nodeType":"InheritanceSpecifier","src":"4075:18:111"},{"baseName":{"id":72506,"name":"BaseStrategyUpgradeable","nameLocations":["4095:23:111"],"nodeType":"IdentifierPath","referencedDeclaration":72314,"src":"4095:23:111"},"id":72507,"nodeType":"InheritanceSpecifier","src":"4095:23:111"},{"baseName":{"id":72508,"name":"IArbitrable","nameLocations":["4120:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79502,"src":"4120:11:111"},"id":72509,"nodeType":"InheritanceSpecifier","src":"4120:11:111"},{"baseName":{"id":72510,"name":"IPointStrategy","nameLocations":["4133:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72381,"src":"4133:14:111"},"id":72511,"nodeType":"InheritanceSpecifier","src":"4133:14:111"},{"baseName":{"id":72512,"name":"ERC165","nameLocations":["4149:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":57806,"src":"4149:6:111"},"id":72513,"nodeType":"InheritanceSpecifier","src":"4149:6:111"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[75909,57806,58012,72381,79502,72314,3089,3317,3106,2969,55753,55406,55055,55065,52984,53777,53233],"name":"CVStrategyV0_0","nameLocation":"4057:14:111","scope":75910,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,72515,72517,72519,72521,72523,72525,72527,72529,72531,72533,72535,72543,72545,72547,72553,72555,72557,72561,72565,72571,72573,72575,72583,72585,72587,72593,72595,72599,72601,72603,72609,72611]}],"license":"AGPL-3.0-only"},"id":111}
\ No newline at end of file
+{"abi":[{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUntake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","getPointSystem()":"c3292171","increasePower(address,uint256)":"782aadff"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e\",\"dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUntake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"IPointStrategy"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0","urls":["bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e","dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":75970,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[72374],"CVStrategyV0_0":[75969],"Clone":[3002],"ERC165":[57806],"ERC20":[56531],"IAllo":[2610],"IArbitrable":[79562],"IArbitrator":[79666],"ICollateralVault":[79699],"IERC165":[58012],"IPointStrategy":[72441],"ISybilScorer":[76330],"Math":[58878],"Metadata":[3098],"OwnableUpgradeable":[52984],"PassportData":[76248],"RegistryCommunityV0_0":[78776],"StrategyStruct":[72563],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"42:50945:111","nodes":[{"id":72376,"nodeType":"PragmaDirective","src":"42:24:111","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72378,"nodeType":"ImportDirective","src":"68:71:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":72377,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72381,"nodeType":"ImportDirective","src":"140:82:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":72379,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72380,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72383,"nodeType":"ImportDirective","src":"223:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":72382,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"231:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72386,"nodeType":"ImportDirective","src":"290:87:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":57807,"symbolAliases":[{"foreign":{"id":72384,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57806,"src":"298:6:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72385,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58012,"src":"306:7:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72388,"nodeType":"ImportDirective","src":"378:68:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":56532,"symbolAliases":[{"foreign":{"id":72387,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"386:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72390,"nodeType":"ImportDirective","src":"447:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":79667,"symbolAliases":[{"foreign":{"id":72389,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79666,"src":"455:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72392,"nodeType":"ImportDirective","src":"505:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":79563,"symbolAliases":[{"foreign":{"id":72391,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"513:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72394,"nodeType":"ImportDirective","src":"563:65:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":72393,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"571:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72396,"nodeType":"ImportDirective","src":"679:65:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":58879,"symbolAliases":[{"foreign":{"id":72395,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"687:4:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72399,"nodeType":"ImportDirective","src":"745:62:111","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":76331,"symbolAliases":[{"foreign":{"id":72397,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"753:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72398,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76248,"src":"767:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72401,"nodeType":"ImportDirective","src":"809:88:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":72400,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"817:15:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72403,"nodeType":"ImportDirective","src":"898:70:111","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":72375,"symbolAliases":[{"foreign":{"id":72402,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72374,"src":"906:23:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72405,"nodeType":"ImportDirective","src":"969:101:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":72404,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"977:18:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72407,"nodeType":"ImportDirective","src":"1071:67:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"./interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":79700,"symbolAliases":[{"foreign":{"id":72406,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"1079:16:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72409,"nodeType":"ImportDirective","src":"1139:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":72408,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"1147:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72411,"nodeType":"ImportDirective","src":"1206:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":72410,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"1214:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72441,"nodeType":"ContractDefinition","src":"1274:358:111","nodes":[{"id":72416,"nodeType":"FunctionDefinition","src":"1305:52:111","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1314:16:111","parameters":{"id":72414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72413,"mutability":"mutable","name":"_member","nameLocation":"1339:7:111","nodeType":"VariableDeclaration","scope":72416,"src":"1331:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72412,"name":"address","nodeType":"ElementaryTypeName","src":"1331:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1330:17:111"},"returnParameters":{"id":72415,"nodeType":"ParameterList","parameters":[],"src":"1356:0:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72425,"nodeType":"FunctionDefinition","src":"1363:91:111","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1372:13:111","parameters":{"id":72421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72418,"mutability":"mutable","name":"_member","nameLocation":"1394:7:111","nodeType":"VariableDeclaration","scope":72425,"src":"1386:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72417,"name":"address","nodeType":"ElementaryTypeName","src":"1386:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72420,"mutability":"mutable","name":"_amountToStake","nameLocation":"1411:14:111","nodeType":"VariableDeclaration","scope":72425,"src":"1403:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72419,"name":"uint256","nodeType":"ElementaryTypeName","src":"1403:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1385:41:111"},"returnParameters":{"id":72424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72423,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72425,"src":"1445:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72422,"name":"uint256","nodeType":"ElementaryTypeName","src":"1445:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1444:9:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72434,"nodeType":"FunctionDefinition","src":"1460:92:111","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1469:13:111","parameters":{"id":72430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72427,"mutability":"mutable","name":"_member","nameLocation":"1491:7:111","nodeType":"VariableDeclaration","scope":72434,"src":"1483:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72426,"name":"address","nodeType":"ElementaryTypeName","src":"1483:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72429,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1508:15:111","nodeType":"VariableDeclaration","scope":72434,"src":"1500:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72428,"name":"uint256","nodeType":"ElementaryTypeName","src":"1500:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1482:42:111"},"returnParameters":{"id":72433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72434,"src":"1543:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72431,"name":"uint256","nodeType":"ElementaryTypeName","src":"1543:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1542:9:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72440,"nodeType":"FunctionDefinition","src":"1558:72:111","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1567:14:111","parameters":{"id":72435,"nodeType":"ParameterList","parameters":[],"src":"1581:2:111"},"returnParameters":{"id":72439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72440,"src":"1602:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72437,"nodeType":"UserDefinedTypeName","pathNode":{"id":72436,"name":"StrategyStruct.PointSystem","nameLocations":["1602:14:111","1617:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"1602:26:111"},"referencedDeclaration":72450,"src":"1602:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1601:28:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[72441],"name":"IPointStrategy","nameLocation":"1284:14:111","scope":75970,"usedErrors":[]},{"id":72563,"nodeType":"ContractDefinition","src":"1634:2414:111","nodes":[{"id":72445,"nodeType":"EnumDefinition","src":"1663:79:111","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":72442,"name":"Signaling","nameLocation":"1691:9:111","nodeType":"EnumValue","src":"1691:9:111"},{"id":72443,"name":"Funding","nameLocation":"1710:7:111","nodeType":"EnumValue","src":"1710:7:111"},{"id":72444,"name":"Streaming","nameLocation":"1727:9:111","nodeType":"EnumValue","src":"1727:9:111"}],"name":"ProposalType","nameLocation":"1668:12:111"},{"id":72450,"nodeType":"EnumDefinition","src":"1748:92:111","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":72446,"name":"Fixed","nameLocation":"1775:5:111","nodeType":"EnumValue","src":"1775:5:111"},{"id":72447,"name":"Capped","nameLocation":"1790:6:111","nodeType":"EnumValue","src":"1790:6:111"},{"id":72448,"name":"Unlimited","nameLocation":"1806:9:111","nodeType":"EnumValue","src":"1806:9:111"},{"id":72449,"name":"Quadratic","nameLocation":"1825:9:111","nodeType":"EnumValue","src":"1825:9:111"}],"name":"PointSystem","nameLocation":"1753:11:111"},{"id":72462,"nodeType":"StructDefinition","src":"1846:243:111","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":72452,"mutability":"mutable","name":"poolId","nameLocation":"1917:6:111","nodeType":"VariableDeclaration","scope":72462,"src":"1909:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72451,"name":"uint256","nodeType":"ElementaryTypeName","src":"1909:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72454,"mutability":"mutable","name":"beneficiary","nameLocation":"1941:11:111","nodeType":"VariableDeclaration","scope":72462,"src":"1933:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72453,"name":"address","nodeType":"ElementaryTypeName","src":"1933:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72456,"mutability":"mutable","name":"amountRequested","nameLocation":"2008:15:111","nodeType":"VariableDeclaration","scope":72462,"src":"2000:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72455,"name":"uint256","nodeType":"ElementaryTypeName","src":"2000:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72458,"mutability":"mutable","name":"requestedToken","nameLocation":"2041:14:111","nodeType":"VariableDeclaration","scope":72462,"src":"2033:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72457,"name":"address","nodeType":"ElementaryTypeName","src":"2033:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72461,"mutability":"mutable","name":"metadata","nameLocation":"2074:8:111","nodeType":"VariableDeclaration","scope":72462,"src":"2065:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72460,"nodeType":"UserDefinedTypeName","pathNode":{"id":72459,"name":"Metadata","nameLocations":["2065:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2065:8:111"},"referencedDeclaration":3098,"src":"2065:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1853:14:111","scope":72563,"visibility":"public"},{"id":72470,"nodeType":"EnumDefinition","src":"2095:391:111","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":72463,"name":"Inactive","nameLocation":"2125:8:111","nodeType":"EnumValue","src":"2125:8:111"},{"id":72464,"name":"Active","nameLocation":"2155:6:111","nodeType":"EnumValue","src":"2155:6:111"},{"id":72465,"name":"Paused","nameLocation":"2218:6:111","nodeType":"EnumValue","src":"2218:6:111"},{"id":72466,"name":"Cancelled","nameLocation":"2283:9:111","nodeType":"EnumValue","src":"2283:9:111"},{"id":72467,"name":"Executed","nameLocation":"2336:8:111","nodeType":"EnumValue","src":"2336:8:111"},{"id":72468,"name":"Disputed","nameLocation":"2387:8:111","nodeType":"EnumValue","src":"2387:8:111"},{"id":72469,"name":"Rejected","nameLocation":"2438:8:111","nodeType":"EnumValue","src":"2438:8:111"}],"name":"ProposalStatus","nameLocation":"2100:14:111"},{"id":72479,"nodeType":"StructDefinition","src":"2492:165:111","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":72472,"mutability":"mutable","name":"disputeId","nameLocation":"2537:9:111","nodeType":"VariableDeclaration","scope":72479,"src":"2529:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72471,"name":"uint256","nodeType":"ElementaryTypeName","src":"2529:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72474,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2564:16:111","nodeType":"VariableDeclaration","scope":72479,"src":"2556:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72473,"name":"uint256","nodeType":"ElementaryTypeName","src":"2556:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72476,"mutability":"mutable","name":"challenger","nameLocation":"2598:10:111","nodeType":"VariableDeclaration","scope":72479,"src":"2590:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72475,"name":"address","nodeType":"ElementaryTypeName","src":"2590:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72478,"mutability":"mutable","name":"submitterCollateralVault","nameLocation":"2626:24:111","nodeType":"VariableDeclaration","scope":72479,"src":"2618:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72477,"name":"uint256","nodeType":"ElementaryTypeName","src":"2618:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2499:19:111","scope":72563,"visibility":"public"},{"id":72511,"nodeType":"StructDefinition","src":"2663:485:111","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":72481,"mutability":"mutable","name":"proposalId","nameLocation":"2697:10:111","nodeType":"VariableDeclaration","scope":72511,"src":"2689:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72480,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72483,"mutability":"mutable","name":"requestedAmount","nameLocation":"2725:15:111","nodeType":"VariableDeclaration","scope":72511,"src":"2717:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72482,"name":"uint256","nodeType":"ElementaryTypeName","src":"2717:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72485,"mutability":"mutable","name":"stakedAmount","nameLocation":"2758:12:111","nodeType":"VariableDeclaration","scope":72511,"src":"2750:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72484,"name":"uint256","nodeType":"ElementaryTypeName","src":"2750:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72487,"mutability":"mutable","name":"convictionLast","nameLocation":"2788:14:111","nodeType":"VariableDeclaration","scope":72511,"src":"2780:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72486,"name":"uint256","nodeType":"ElementaryTypeName","src":"2780:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72489,"mutability":"mutable","name":"beneficiary","nameLocation":"2820:11:111","nodeType":"VariableDeclaration","scope":72511,"src":"2812:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72488,"name":"address","nodeType":"ElementaryTypeName","src":"2812:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72491,"mutability":"mutable","name":"submitter","nameLocation":"2849:9:111","nodeType":"VariableDeclaration","scope":72511,"src":"2841:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72490,"name":"address","nodeType":"ElementaryTypeName","src":"2841:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72493,"mutability":"mutable","name":"requestedToken","nameLocation":"2876:14:111","nodeType":"VariableDeclaration","scope":72511,"src":"2868:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72492,"name":"address","nodeType":"ElementaryTypeName","src":"2868:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72495,"mutability":"mutable","name":"blockLast","nameLocation":"2908:9:111","nodeType":"VariableDeclaration","scope":72511,"src":"2900:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72494,"name":"uint256","nodeType":"ElementaryTypeName","src":"2900:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72498,"mutability":"mutable","name":"proposalStatus","nameLocation":"2942:14:111","nodeType":"VariableDeclaration","scope":72511,"src":"2927:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":72497,"nodeType":"UserDefinedTypeName","pathNode":{"id":72496,"name":"ProposalStatus","nameLocations":["2927:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72470,"src":"2927:14:111"},"referencedDeclaration":72470,"src":"2927:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":72502,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2994:17:111","nodeType":"VariableDeclaration","scope":72511,"src":"2966:45:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72501,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72499,"name":"address","nodeType":"ElementaryTypeName","src":"2974:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2966:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72500,"name":"uint256","nodeType":"ElementaryTypeName","src":"2985:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":72505,"mutability":"mutable","name":"metadata","nameLocation":"3053:8:111","nodeType":"VariableDeclaration","scope":72511,"src":"3044:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72504,"nodeType":"UserDefinedTypeName","pathNode":{"id":72503,"name":"Metadata","nameLocations":["3044:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"3044:8:111"},"referencedDeclaration":3098,"src":"3044:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":72508,"mutability":"mutable","name":"disputeInfo","nameLocation":"3091:11:111","nodeType":"VariableDeclaration","scope":72511,"src":"3071:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":72507,"nodeType":"UserDefinedTypeName","pathNode":{"id":72506,"name":"ProposalDisputeInfo","nameLocations":["3071:19:111"],"nodeType":"IdentifierPath","referencedDeclaration":72479,"src":"3071:19:111"},"referencedDeclaration":72479,"src":"3071:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":72510,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"3120:21:111","nodeType":"VariableDeclaration","scope":72511,"src":"3112:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72509,"name":"uint256","nodeType":"ElementaryTypeName","src":"3112:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2670:8:111","scope":72563,"visibility":"public"},{"id":72516,"nodeType":"StructDefinition","src":"3154:126:111","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":72513,"mutability":"mutable","name":"proposalId","nameLocation":"3195:10:111","nodeType":"VariableDeclaration","scope":72516,"src":"3187:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72512,"name":"uint256","nodeType":"ElementaryTypeName","src":"3187:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72515,"mutability":"mutable","name":"deltaSupport","nameLocation":"3222:12:111","nodeType":"VariableDeclaration","scope":72516,"src":"3215:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72514,"name":"int256","nodeType":"ElementaryTypeName","src":"3215:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3161:15:111","scope":72563,"visibility":"public"},{"id":72519,"nodeType":"StructDefinition","src":"3286:89:111","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":72518,"mutability":"mutable","name":"maxAmount","nameLocation":"3359:9:111","nodeType":"VariableDeclaration","scope":72519,"src":"3351:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72517,"name":"uint256","nodeType":"ElementaryTypeName","src":"3351:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3293:17:111","scope":72563,"visibility":"public"},{"id":72533,"nodeType":"StructDefinition","src":"3381:249:111","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":72522,"mutability":"mutable","name":"arbitrator","nameLocation":"3427:10:111","nodeType":"VariableDeclaration","scope":72533,"src":"3415:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},"typeName":{"id":72521,"nodeType":"UserDefinedTypeName","pathNode":{"id":72520,"name":"IArbitrator","nameLocations":["3415:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79666,"src":"3415:11:111"},"referencedDeclaration":79666,"src":"3415:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72524,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3455:12:111","nodeType":"VariableDeclaration","scope":72533,"src":"3447:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72523,"name":"address","nodeType":"ElementaryTypeName","src":"3447:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72526,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3485:25:111","nodeType":"VariableDeclaration","scope":72533,"src":"3477:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72525,"name":"uint256","nodeType":"ElementaryTypeName","src":"3477:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72528,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3528:26:111","nodeType":"VariableDeclaration","scope":72533,"src":"3520:34:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72527,"name":"uint256","nodeType":"ElementaryTypeName","src":"3520:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72530,"mutability":"mutable","name":"defaultRuling","nameLocation":"3572:13:111","nodeType":"VariableDeclaration","scope":72533,"src":"3564:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72529,"name":"uint256","nodeType":"ElementaryTypeName","src":"3564:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72532,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3603:20:111","nodeType":"VariableDeclaration","scope":72533,"src":"3595:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72531,"name":"uint256","nodeType":"ElementaryTypeName","src":"3595:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3388:16:111","scope":72563,"visibility":"public"},{"id":72542,"nodeType":"StructDefinition","src":"3636:132:111","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":72535,"mutability":"mutable","name":"maxRatio","nameLocation":"3670:8:111","nodeType":"VariableDeclaration","scope":72542,"src":"3662:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72534,"name":"uint256","nodeType":"ElementaryTypeName","src":"3662:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72537,"mutability":"mutable","name":"weight","nameLocation":"3696:6:111","nodeType":"VariableDeclaration","scope":72542,"src":"3688:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72536,"name":"uint256","nodeType":"ElementaryTypeName","src":"3688:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72539,"mutability":"mutable","name":"decay","nameLocation":"3720:5:111","nodeType":"VariableDeclaration","scope":72542,"src":"3712:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72538,"name":"uint256","nodeType":"ElementaryTypeName","src":"3712:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72541,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3743:18:111","nodeType":"VariableDeclaration","scope":72542,"src":"3735:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72540,"name":"uint256","nodeType":"ElementaryTypeName","src":"3735:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3643:8:111","scope":72563,"visibility":"public"},{"id":72562,"nodeType":"StructDefinition","src":"3774:272:111","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":72545,"mutability":"mutable","name":"cvParams","nameLocation":"3817:8:111","nodeType":"VariableDeclaration","scope":72562,"src":"3808:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72544,"nodeType":"UserDefinedTypeName","pathNode":{"id":72543,"name":"CVParams","nameLocations":["3808:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"3808:8:111"},"referencedDeclaration":72542,"src":"3808:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72548,"mutability":"mutable","name":"proposalType","nameLocation":"3848:12:111","nodeType":"VariableDeclaration","scope":72562,"src":"3835:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72547,"nodeType":"UserDefinedTypeName","pathNode":{"id":72546,"name":"ProposalType","nameLocations":["3835:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72445,"src":"3835:12:111"},"referencedDeclaration":72445,"src":"3835:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":72551,"mutability":"mutable","name":"pointSystem","nameLocation":"3882:11:111","nodeType":"VariableDeclaration","scope":72562,"src":"3870:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72550,"nodeType":"UserDefinedTypeName","pathNode":{"id":72549,"name":"PointSystem","nameLocations":["3870:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"3870:11:111"},"referencedDeclaration":72450,"src":"3870:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":72554,"mutability":"mutable","name":"pointConfig","nameLocation":"3921:11:111","nodeType":"VariableDeclaration","scope":72562,"src":"3903:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72553,"nodeType":"UserDefinedTypeName","pathNode":{"id":72552,"name":"PointSystemConfig","nameLocations":["3903:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72519,"src":"3903:17:111"},"referencedDeclaration":72519,"src":"3903:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":72557,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3959:16:111","nodeType":"VariableDeclaration","scope":72562,"src":"3942:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72556,"nodeType":"UserDefinedTypeName","pathNode":{"id":72555,"name":"ArbitrableConfig","nameLocations":["3942:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"3942:16:111"},"referencedDeclaration":72533,"src":"3942:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":72559,"mutability":"mutable","name":"registryCommunity","nameLocation":"3993:17:111","nodeType":"VariableDeclaration","scope":72562,"src":"3985:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72558,"name":"address","nodeType":"ElementaryTypeName","src":"3985:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72561,"mutability":"mutable","name":"sybilScorer","nameLocation":"4028:11:111","nodeType":"VariableDeclaration","scope":72562,"src":"4020:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72560,"name":"address","nodeType":"ElementaryTypeName","src":"4020:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3781:16:111","scope":72563,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[72563],"name":"StrategyStruct","nameLocation":"1642:14:111","scope":75970,"usedErrors":[]},{"id":75969,"nodeType":"ContractDefinition","src":"4050:46936:111","nodes":[{"id":72575,"nodeType":"ErrorDefinition","src":"4330:25:111","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4336:16:111","parameters":{"id":72574,"nodeType":"ParameterList","parameters":[],"src":"4352:2:111"}},{"id":72577,"nodeType":"ErrorDefinition","src":"4374:26:111","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4380:17:111","parameters":{"id":72576,"nodeType":"ParameterList","parameters":[],"src":"4397:2:111"}},{"id":72579,"nodeType":"ErrorDefinition","src":"4418:23:111","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4424:14:111","parameters":{"id":72578,"nodeType":"ParameterList","parameters":[],"src":"4438:2:111"}},{"id":72581,"nodeType":"ErrorDefinition","src":"4460:20:111","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4466:11:111","parameters":{"id":72580,"nodeType":"ParameterList","parameters":[],"src":"4477:2:111"}},{"id":72583,"nodeType":"ErrorDefinition","src":"4499:23:111","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4505:14:111","parameters":{"id":72582,"nodeType":"ParameterList","parameters":[],"src":"4519:2:111"}},{"id":72585,"nodeType":"ErrorDefinition","src":"4540:26:111","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4546:17:111","parameters":{"id":72584,"nodeType":"ParameterList","parameters":[],"src":"4563:2:111"}},{"id":72587,"nodeType":"ErrorDefinition","src":"4584:24:111","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4590:15:111","parameters":{"id":72586,"nodeType":"ParameterList","parameters":[],"src":"4605:2:111"}},{"id":72589,"nodeType":"ErrorDefinition","src":"4627:27:111","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4633:18:111","parameters":{"id":72588,"nodeType":"ParameterList","parameters":[],"src":"4651:2:111"}},{"id":72591,"nodeType":"ErrorDefinition","src":"4673:27:111","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4679:18:111","parameters":{"id":72590,"nodeType":"ParameterList","parameters":[],"src":"4697:2:111"}},{"id":72593,"nodeType":"ErrorDefinition","src":"4718:28:111","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4724:19:111","parameters":{"id":72592,"nodeType":"ParameterList","parameters":[],"src":"4743:2:111"}},{"id":72595,"nodeType":"ErrorDefinition","src":"4764:29:111","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4770:20:111","parameters":{"id":72594,"nodeType":"ParameterList","parameters":[],"src":"4790:2:111"}},{"id":72603,"nodeType":"ErrorDefinition","src":"4812:72:111","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4818:16:111","parameters":{"id":72602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72597,"mutability":"mutable","name":"_support","nameLocation":"4843:8:111","nodeType":"VariableDeclaration","scope":72603,"src":"4835:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72596,"name":"uint256","nodeType":"ElementaryTypeName","src":"4835:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72599,"mutability":"mutable","name":"_delta","nameLocation":"4860:6:111","nodeType":"VariableDeclaration","scope":72603,"src":"4853:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72598,"name":"int256","nodeType":"ElementaryTypeName","src":"4853:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":72601,"mutability":"mutable","name":"_result","nameLocation":"4875:7:111","nodeType":"VariableDeclaration","scope":72603,"src":"4868:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72600,"name":"int256","nodeType":"ElementaryTypeName","src":"4868:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4834:49:111"}},{"id":72605,"nodeType":"ErrorDefinition","src":"4903:25:111","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4909:16:111","parameters":{"id":72604,"nodeType":"ParameterList","parameters":[],"src":"4925:2:111"}},{"id":72607,"nodeType":"ErrorDefinition","src":"4947:32:111","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4953:23:111","parameters":{"id":72606,"nodeType":"ParameterList","parameters":[],"src":"4976:2:111"}},{"id":72613,"nodeType":"ErrorDefinition","src":"4998:77:111","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"5004:24:111","parameters":{"id":72612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72609,"mutability":"mutable","name":"pointsSupport","nameLocation":"5037:13:111","nodeType":"VariableDeclaration","scope":72613,"src":"5029:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72608,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72611,"mutability":"mutable","name":"pointsBalance","nameLocation":"5060:13:111","nodeType":"VariableDeclaration","scope":72613,"src":"5052:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72610,"name":"uint256","nodeType":"ElementaryTypeName","src":"5052:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:46:111"}},{"id":72615,"nodeType":"ErrorDefinition","src":"5095:28:111","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5101:19:111","parameters":{"id":72614,"nodeType":"ParameterList","parameters":[],"src":"5120:2:111"}},{"id":72617,"nodeType":"ErrorDefinition","src":"5141:31:111","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5147:22:111","parameters":{"id":72616,"nodeType":"ParameterList","parameters":[],"src":"5169:2:111"}},{"id":72621,"nodeType":"ErrorDefinition","src":"5190:45:111","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5196:17:111","parameters":{"id":72620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72619,"mutability":"mutable","name":"_proposalId","nameLocation":"5222:11:111","nodeType":"VariableDeclaration","scope":72621,"src":"5214:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5214:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5213:21:111"}},{"id":72625,"nodeType":"ErrorDefinition","src":"5254:45:111","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5260:17:111","parameters":{"id":72624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72623,"mutability":"mutable","name":"_proposalId","nameLocation":"5286:11:111","nodeType":"VariableDeclaration","scope":72625,"src":"5278:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72622,"name":"uint256","nodeType":"ElementaryTypeName","src":"5278:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5277:21:111"}},{"id":72631,"nodeType":"ErrorDefinition","src":"5318:68:111","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5324:25:111","parameters":{"id":72630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72627,"mutability":"mutable","name":"_proposalId","nameLocation":"5358:11:111","nodeType":"VariableDeclaration","scope":72631,"src":"5350:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72626,"name":"uint256","nodeType":"ElementaryTypeName","src":"5350:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72629,"mutability":"mutable","name":"index","nameLocation":"5379:5:111","nodeType":"VariableDeclaration","scope":72631,"src":"5371:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72628,"name":"uint256","nodeType":"ElementaryTypeName","src":"5371:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5349:36:111"}},{"id":72633,"nodeType":"ErrorDefinition","src":"5404:40:111","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5410:31:111","parameters":{"id":72632,"nodeType":"ParameterList","parameters":[],"src":"5441:2:111"}},{"id":72635,"nodeType":"ErrorDefinition","src":"5463:29:111","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5469:20:111","parameters":{"id":72634,"nodeType":"ParameterList","parameters":[],"src":"5489:2:111"}},{"id":72643,"nodeType":"ErrorDefinition","src":"5511:94:111","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5517:19:111","parameters":{"id":72642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72637,"mutability":"mutable","name":"_proposalId","nameLocation":"5545:11:111","nodeType":"VariableDeclaration","scope":72643,"src":"5537:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72636,"name":"uint256","nodeType":"ElementaryTypeName","src":"5537:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72639,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5566:16:111","nodeType":"VariableDeclaration","scope":72643,"src":"5558:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72638,"name":"uint256","nodeType":"ElementaryTypeName","src":"5558:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72641,"mutability":"mutable","name":"_poolAmount","nameLocation":"5592:11:111","nodeType":"VariableDeclaration","scope":72643,"src":"5584:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72640,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5536:68:111"}},{"id":72645,"nodeType":"ErrorDefinition","src":"5623:24:111","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5629:15:111","parameters":{"id":72644,"nodeType":"ParameterList","parameters":[],"src":"5644:2:111"}},{"id":72647,"nodeType":"ErrorDefinition","src":"5652:32:111","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5658:23:111","parameters":{"id":72646,"nodeType":"ParameterList","parameters":[],"src":"5681:2:111"}},{"id":72653,"nodeType":"ErrorDefinition","src":"5689:73:111","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5695:22:111","parameters":{"id":72652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72649,"mutability":"mutable","name":"sentAmount","nameLocation":"5726:10:111","nodeType":"VariableDeclaration","scope":72653,"src":"5718:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72648,"name":"uint256","nodeType":"ElementaryTypeName","src":"5718:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72651,"mutability":"mutable","name":"requiredAmount","nameLocation":"5746:14:111","nodeType":"VariableDeclaration","scope":72653,"src":"5738:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72650,"name":"uint256","nodeType":"ElementaryTypeName","src":"5738:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5717:44:111"}},{"id":72655,"nodeType":"ErrorDefinition","src":"5767:23:111","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5773:14:111","parameters":{"id":72654,"nodeType":"ParameterList","parameters":[],"src":"5787:2:111"}},{"id":72659,"nodeType":"ErrorDefinition","src":"5795:47:111","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5801:19:111","parameters":{"id":72658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72657,"mutability":"mutable","name":"_proposalId","nameLocation":"5829:11:111","nodeType":"VariableDeclaration","scope":72659,"src":"5821:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72656,"name":"uint256","nodeType":"ElementaryTypeName","src":"5821:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5820:21:111"}},{"id":72661,"nodeType":"ErrorDefinition","src":"5847:31:111","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5853:22:111","parameters":{"id":72660,"nodeType":"ParameterList","parameters":[],"src":"5875:2:111"}},{"id":72663,"nodeType":"ErrorDefinition","src":"5964:28:111","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5970:19:111","parameters":{"id":72662,"nodeType":"ParameterList","parameters":[],"src":"5989:2:111"}},{"id":72669,"nodeType":"ErrorDefinition","src":"5997:75:111","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"6003:24:111","parameters":{"id":72668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72665,"mutability":"mutable","name":"_proposalId","nameLocation":"6036:11:111","nodeType":"VariableDeclaration","scope":72669,"src":"6028:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72664,"name":"uint256","nodeType":"ElementaryTypeName","src":"6028:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72667,"mutability":"mutable","name":"_remainingSec","nameLocation":"6057:13:111","nodeType":"VariableDeclaration","scope":72669,"src":"6049:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72666,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6027:44:111"}},{"id":72671,"nodeType":"ErrorDefinition","src":"6077:54:111","nodes":[],"errorSelector":"fcc12b5b","name":"ArbitrationConfigCannotBeChangedDuringDispute","nameLocation":"6083:45:111","parameters":{"id":72670,"nodeType":"ParameterList","parameters":[],"src":"6128:2:111"}},{"id":72678,"nodeType":"EventDefinition","src":"6303:74:111","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6309:13:111","parameters":{"id":72677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72673,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6331:6:111","nodeType":"VariableDeclaration","scope":72678,"src":"6323:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72672,"name":"uint256","nodeType":"ElementaryTypeName","src":"6323:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72676,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6371:4:111","nodeType":"VariableDeclaration","scope":72678,"src":"6339:36:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72675,"nodeType":"UserDefinedTypeName","pathNode":{"id":72674,"name":"StrategyStruct.InitializeParams","nameLocations":["6339:14:111","6354:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"6339:31:111"},"referencedDeclaration":72562,"src":"6339:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6322:54:111"}},{"id":72686,"nodeType":"EventDefinition","src":"6382:75:111","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6388:11:111","parameters":{"id":72685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72680,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6408:10:111","nodeType":"VariableDeclaration","scope":72686,"src":"6400:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72679,"name":"uint256","nodeType":"ElementaryTypeName","src":"6400:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72682,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6428:11:111","nodeType":"VariableDeclaration","scope":72686,"src":"6420:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72681,"name":"address","nodeType":"ElementaryTypeName","src":"6420:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72684,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6449:6:111","nodeType":"VariableDeclaration","scope":72686,"src":"6441:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72683,"name":"uint256","nodeType":"ElementaryTypeName","src":"6441:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6399:57:111"}},{"id":72692,"nodeType":"EventDefinition","src":"6462:58:111","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6468:15:111","parameters":{"id":72691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72688,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6492:6:111","nodeType":"VariableDeclaration","scope":72692,"src":"6484:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72687,"name":"uint256","nodeType":"ElementaryTypeName","src":"6484:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72690,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6508:10:111","nodeType":"VariableDeclaration","scope":72692,"src":"6500:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72689,"name":"uint256","nodeType":"ElementaryTypeName","src":"6500:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6483:36:111"}},{"id":72696,"nodeType":"EventDefinition","src":"6525:42:111","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6531:19:111","parameters":{"id":72695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72694,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6559:6:111","nodeType":"VariableDeclaration","scope":72696,"src":"6551:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72693,"name":"uint256","nodeType":"ElementaryTypeName","src":"6551:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6550:16:111"}},{"id":72700,"nodeType":"EventDefinition","src":"6572:40:111","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6578:17:111","parameters":{"id":72699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72698,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6604:6:111","nodeType":"VariableDeclaration","scope":72700,"src":"6596:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72697,"name":"address","nodeType":"ElementaryTypeName","src":"6596:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6595:16:111"}},{"id":72708,"nodeType":"EventDefinition","src":"6617:85:111","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6623:14:111","parameters":{"id":72707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72702,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6646:6:111","nodeType":"VariableDeclaration","scope":72708,"src":"6638:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72701,"name":"address","nodeType":"ElementaryTypeName","src":"6638:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72704,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6662:12:111","nodeType":"VariableDeclaration","scope":72708,"src":"6654:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72703,"name":"uint256","nodeType":"ElementaryTypeName","src":"6654:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72706,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6684:16:111","nodeType":"VariableDeclaration","scope":72708,"src":"6676:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72705,"name":"uint256","nodeType":"ElementaryTypeName","src":"6676:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6637:64:111"}},{"id":72716,"nodeType":"EventDefinition","src":"6707:87:111","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6713:14:111","parameters":{"id":72715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72710,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6736:6:111","nodeType":"VariableDeclaration","scope":72716,"src":"6728:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72709,"name":"address","nodeType":"ElementaryTypeName","src":"6728:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72712,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6752:14:111","nodeType":"VariableDeclaration","scope":72716,"src":"6744:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72711,"name":"uint256","nodeType":"ElementaryTypeName","src":"6744:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72714,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6776:16:111","nodeType":"VariableDeclaration","scope":72716,"src":"6768:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72713,"name":"uint256","nodeType":"ElementaryTypeName","src":"6768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6727:66:111"}},{"id":72728,"nodeType":"EventDefinition","src":"6799:134:111","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6805:12:111","parameters":{"id":72727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72718,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6835:4:111","nodeType":"VariableDeclaration","scope":72728,"src":"6827:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72717,"name":"address","nodeType":"ElementaryTypeName","src":"6827:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72720,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6849:10:111","nodeType":"VariableDeclaration","scope":72728,"src":"6841:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72719,"name":"uint256","nodeType":"ElementaryTypeName","src":"6841:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72722,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6869:6:111","nodeType":"VariableDeclaration","scope":72728,"src":"6861:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72721,"name":"uint256","nodeType":"ElementaryTypeName","src":"6861:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72724,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6885:17:111","nodeType":"VariableDeclaration","scope":72728,"src":"6877:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72723,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72726,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6912:14:111","nodeType":"VariableDeclaration","scope":72728,"src":"6904:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72725,"name":"uint256","nodeType":"ElementaryTypeName","src":"6904:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6817:115:111"}},{"id":72736,"nodeType":"EventDefinition","src":"6938:108:111","nodes":[],"anonymous":false,"eventSelector":"b47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d","name":"PoolParamsUpdated","nameLocation":"6944:17:111","parameters":{"id":72735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72731,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6986:8:111","nodeType":"VariableDeclaration","scope":72736,"src":"6962:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72730,"nodeType":"UserDefinedTypeName","pathNode":{"id":72729,"name":"StrategyStruct.CVParams","nameLocations":["6962:14:111","6977:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"6962:23:111"},"referencedDeclaration":72542,"src":"6962:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72734,"indexed":false,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"7028:16:111","nodeType":"VariableDeclaration","scope":72736,"src":"6996:48:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72733,"nodeType":"UserDefinedTypeName","pathNode":{"id":72732,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["6996:14:111","7011:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"6996:31:111"},"referencedDeclaration":72533,"src":"6996:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"6961:84:111"}},{"id":72740,"nodeType":"EventDefinition","src":"7051:49:111","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"7057:15:111","parameters":{"id":72739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72738,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"7081:17:111","nodeType":"VariableDeclaration","scope":72740,"src":"7073:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72737,"name":"address","nodeType":"ElementaryTypeName","src":"7073:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7072:27:111"}},{"id":72746,"nodeType":"EventDefinition","src":"7105:76:111","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"7111:25:111","parameters":{"id":72745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72742,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7145:6:111","nodeType":"VariableDeclaration","scope":72746,"src":"7137:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72741,"name":"uint256","nodeType":"ElementaryTypeName","src":"7137:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72744,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7161:18:111","nodeType":"VariableDeclaration","scope":72746,"src":"7153:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72743,"name":"uint256","nodeType":"ElementaryTypeName","src":"7153:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7136:44:111"}},{"id":72761,"nodeType":"EventDefinition","src":"7186:195:111","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7192:16:111","parameters":{"id":72760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72749,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7230:10:111","nodeType":"VariableDeclaration","scope":72761,"src":"7218:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},"typeName":{"id":72748,"nodeType":"UserDefinedTypeName","pathNode":{"id":72747,"name":"IArbitrator","nameLocations":["7218:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79666,"src":"7218:11:111"},"referencedDeclaration":79666,"src":"7218:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72751,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7258:10:111","nodeType":"VariableDeclaration","scope":72761,"src":"7250:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72750,"name":"uint256","nodeType":"ElementaryTypeName","src":"7250:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72753,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7286:9:111","nodeType":"VariableDeclaration","scope":72761,"src":"7278:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72752,"name":"uint256","nodeType":"ElementaryTypeName","src":"7278:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72755,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7313:10:111","nodeType":"VariableDeclaration","scope":72761,"src":"7305:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72754,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72757,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7340:7:111","nodeType":"VariableDeclaration","scope":72761,"src":"7333:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72756,"name":"string","nodeType":"ElementaryTypeName","src":"7333:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":72759,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7365:9:111","nodeType":"VariableDeclaration","scope":72761,"src":"7357:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72758,"name":"uint256","nodeType":"ElementaryTypeName","src":"7357:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7208:172:111"}},{"id":72769,"nodeType":"EventDefinition","src":"7386:88:111","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7392:21:111","parameters":{"id":72768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72763,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7422:8:111","nodeType":"VariableDeclaration","scope":72769,"src":"7414:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72762,"name":"address","nodeType":"ElementaryTypeName","src":"7414:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72765,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7440:10:111","nodeType":"VariableDeclaration","scope":72769,"src":"7432:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72764,"name":"address","nodeType":"ElementaryTypeName","src":"7432:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72767,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7460:12:111","nodeType":"VariableDeclaration","scope":72769,"src":"7452:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72766,"name":"address","nodeType":"ElementaryTypeName","src":"7452:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7413:60:111"}},{"id":72772,"nodeType":"VariableDeclaration","src":"7848:36:111","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"7872:1:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72770,"name":"uint256","nodeType":"ElementaryTypeName","src":"7848:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":72771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7876:8:111","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":72775,"nodeType":"VariableDeclaration","src":"7898:70:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"7923:7:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72773,"name":"uint256","nodeType":"ElementaryTypeName","src":"7898:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":72774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7933:35:111","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":72778,"nodeType":"VariableDeclaration","src":"7984:69:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8009:7:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72776,"name":"uint256","nodeType":"ElementaryTypeName","src":"7984:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":72777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8019:34:111","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":72781,"nodeType":"VariableDeclaration","src":"8069:53:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8094:6:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72779,"name":"uint256","nodeType":"ElementaryTypeName","src":"8069:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":72780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8103:19:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":72784,"nodeType":"VariableDeclaration","src":"8137:49:111","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8161:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72782,"name":"uint256","nodeType":"ElementaryTypeName","src":"8137:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":72783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8184:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":72787,"nodeType":"VariableDeclaration","src":"8272:42:111","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8296:14:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72785,"name":"uint256","nodeType":"ElementaryTypeName","src":"8272:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":72786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8313:1:111","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":72790,"nodeType":"VariableDeclaration","src":"8320:54:111","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8344:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72788,"name":"uint256","nodeType":"ElementaryTypeName","src":"8320:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":72789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8367:7:111","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":72796,"nodeType":"VariableDeclaration","src":"8381:93:111","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8397:23:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72791,"name":"address","nodeType":"ElementaryTypeName","src":"8381:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307833623166624642303444423335383539323062326541644262383833394643393638304645386364","id":72794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8431:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x3b1fbFB04DB3585920b2eAdBb8839FC9680FE8cd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8423:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72792,"name":"address","nodeType":"ElementaryTypeName","src":"8423:7:111","typeDescriptions":{}}},"id":72795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8423:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":72798,"nodeType":"VariableDeclaration","src":"8578:47:111","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8595:30:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72797,"name":"uint256","nodeType":"ElementaryTypeName","src":"8578:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":72800,"nodeType":"VariableDeclaration","src":"8669:25:111","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8684:10:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72799,"name":"uint256","nodeType":"ElementaryTypeName","src":"8669:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72803,"nodeType":"VariableDeclaration","src":"8700:30:111","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8714:12:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72801,"name":"uint64","nodeType":"ElementaryTypeName","src":"8700:6:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"30","id":72802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8729:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72806,"nodeType":"VariableDeclaration","src":"8736:34:111","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8751:15:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72804,"name":"uint256","nodeType":"ElementaryTypeName","src":"8736:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":72805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8769:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72808,"nodeType":"VariableDeclaration","src":"8777:26:111","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8792:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72807,"name":"uint256","nodeType":"ElementaryTypeName","src":"8777:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72810,"nodeType":"VariableDeclaration","src":"8809:35:111","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"8824:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72809,"name":"uint256","nodeType":"ElementaryTypeName","src":"8809:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72813,"nodeType":"VariableDeclaration","src":"8851:39:111","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"8882:8:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72812,"nodeType":"UserDefinedTypeName","pathNode":{"id":72811,"name":"StrategyStruct.CVParams","nameLocations":["8851:14:111","8866:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"8851:23:111"},"referencedDeclaration":72542,"src":"8851:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":72816,"nodeType":"VariableDeclaration","src":"8937:47:111","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"8972:12:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72815,"nodeType":"UserDefinedTypeName","pathNode":{"id":72814,"name":"StrategyStruct.ProposalType","nameLocations":["8937:14:111","8952:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72445,"src":"8937:27:111"},"referencedDeclaration":72445,"src":"8937:27:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":72819,"nodeType":"VariableDeclaration","src":"9043:45:111","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9077:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72818,"nodeType":"UserDefinedTypeName","pathNode":{"id":72817,"name":"StrategyStruct.PointSystem","nameLocations":["9043:14:111","9058:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"9043:26:111"},"referencedDeclaration":72450,"src":"9043:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":72822,"nodeType":"VariableDeclaration","src":"9094:51:111","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9134:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72821,"nodeType":"UserDefinedTypeName","pathNode":{"id":72820,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9094:14:111","9109:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72519,"src":"9094:32:111"},"referencedDeclaration":72519,"src":"9094:32:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":72825,"nodeType":"VariableDeclaration","src":"9151:55:111","nodes":[],"constant":false,"functionSelector":"1073e996","mutability":"mutable","name":"arbitrableConfig","nameLocation":"9190:16:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72824,"nodeType":"UserDefinedTypeName","pathNode":{"id":72823,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9151:14:111","9166:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"9151:31:111"},"referencedDeclaration":72533,"src":"9151:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"public"},{"id":72828,"nodeType":"VariableDeclaration","src":"9239:46:111","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9268:17:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":72827,"nodeType":"UserDefinedTypeName","pathNode":{"id":72826,"name":"RegistryCommunityV0_0","nameLocations":["9239:21:111"],"nodeType":"IdentifierPath","referencedDeclaration":78776,"src":"9239:21:111"},"referencedDeclaration":78776,"src":"9239:21:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":72831,"nodeType":"VariableDeclaration","src":"9292:39:111","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9316:15:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"},"typeName":{"id":72830,"nodeType":"UserDefinedTypeName","pathNode":{"id":72829,"name":"ICollateralVault","nameLocations":["9292:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":79699,"src":"9292:16:111"},"referencedDeclaration":79699,"src":"9292:16:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":72834,"nodeType":"VariableDeclaration","src":"9337:31:111","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9357:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"},"typeName":{"id":72833,"nodeType":"UserDefinedTypeName","pathNode":{"id":72832,"name":"ISybilScorer","nameLocations":["9337:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":76330,"src":"9337:12:111"},"referencedDeclaration":76330,"src":"9337:12:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":72839,"nodeType":"VariableDeclaration","src":"9435:60:111","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9486:9:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":72838,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72835,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9435:43:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72837,"nodeType":"UserDefinedTypeName","pathNode":{"id":72836,"name":"StrategyStruct.Proposal","nameLocations":["9454:14:111","9469:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"9454:23:111"},"referencedDeclaration":72511,"src":"9454:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":72843,"nodeType":"VariableDeclaration","src":"9551:53:111","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9586:18:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72842,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72840,"name":"address","nodeType":"ElementaryTypeName","src":"9559:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9551:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72841,"name":"uint256","nodeType":"ElementaryTypeName","src":"9570:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72848,"nodeType":"VariableDeclaration","src":"9642:57:111","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9679:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":72847,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72844,"name":"address","nodeType":"ElementaryTypeName","src":"9650:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9642:29:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":72845,"name":"uint256","nodeType":"ElementaryTypeName","src":"9661:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72846,"nodeType":"ArrayTypeName","src":"9661:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":72852,"nodeType":"VariableDeclaration","src":"9737:56:111","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9772:21:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":72851,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72849,"name":"uint256","nodeType":"ElementaryTypeName","src":"9745:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9737:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72850,"name":"uint256","nodeType":"ElementaryTypeName","src":"9756:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72876,"nodeType":"FunctionDefinition","src":"10046:226:111","nodes":[],"body":{"id":72875,"nodeType":"Block","src":"10138:134:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72864,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72854,"src":"10159:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":72865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10166:12:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":72861,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10148:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75969_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10154:4:111","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":71818,"src":"10148:10:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":72866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10148:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72867,"nodeType":"ExpressionStatement","src":"10148:31:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72868,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"10189:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10189:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72870,"nodeType":"ExpressionStatement","src":"10189:16:111"},{"expression":{"id":72873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72871,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72796,"src":"10215:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72872,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72856,"src":"10241:24:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10215:50:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72874,"nodeType":"ExpressionStatement","src":"10215:50:111"}]},"functionSelector":"f09a4016","implemented":true,"kind":"function","modifiers":[{"id":72859,"kind":"modifierInvocation","modifierName":{"id":72858,"name":"initializer","nameLocations":["10126:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"10126:11:111"},"nodeType":"ModifierInvocation","src":"10126:11:111"}],"name":"init","nameLocation":"10055:4:111","parameters":{"id":72857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72854,"mutability":"mutable","name":"_allo","nameLocation":"10068:5:111","nodeType":"VariableDeclaration","scope":72876,"src":"10060:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72853,"name":"address","nodeType":"ElementaryTypeName","src":"10060:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72856,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10083:24:111","nodeType":"VariableDeclaration","scope":72876,"src":"10075:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72855,"name":"address","nodeType":"ElementaryTypeName","src":"10075:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10059:49:111"},"returnParameters":{"id":72860,"nodeType":"ParameterList","parameters":[],"src":"10138:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72972,"nodeType":"FunctionDefinition","src":"10278:824:111","nodes":[],"body":{"id":72971,"nodeType":"Block","src":"10361:741:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72886,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72878,"src":"10391:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72885,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71954,"src":"10371:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10371:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72888,"nodeType":"ExpressionStatement","src":"10371:28:111"},{"expression":{"id":72898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72889,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"10410:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":72893,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72796,"src":"10463:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10488:12:111","subExpression":{"id":72894,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72800,"src":"10488:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72891,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10445:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":72892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10451:11:111","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10445:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":72896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10445:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72890,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"10428:16:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$79699_$","typeString":"type(contract ICollateralVault)"}},"id":72897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10428:74:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"src":"10410:92:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":72899,"nodeType":"ExpressionStatement","src":"10410:92:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72900,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"10512:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":72902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10528:10:111","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":79671,"src":"10512:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":72903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72904,"nodeType":"ExpressionStatement","src":"10512:28:111"},{"assignments":[72909],"declarations":[{"constant":false,"id":72909,"mutability":"mutable","name":"ip","nameLocation":"10590:2:111","nodeType":"VariableDeclaration","scope":72971,"src":"10551:41:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72908,"nodeType":"UserDefinedTypeName","pathNode":{"id":72907,"name":"StrategyStruct.InitializeParams","nameLocations":["10551:14:111","10566:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"10551:31:111"},"referencedDeclaration":72562,"src":"10551:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":72917,"initialValue":{"arguments":[{"id":72912,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72880,"src":"10606:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":72913,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"10614:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":72914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10629:16:111","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":72562,"src":"10614:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72562_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":72915,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10613:33:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72562_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72562_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":72910,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10595:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10599:6:111","memberName":"decode","nodeType":"MemberAccess","src":"10595:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":72916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10595:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10551:96:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72918,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10662:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72919,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10665:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72559,"src":"10662:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10694:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10686:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72920,"name":"address","nodeType":"ElementaryTypeName","src":"10686:7:111","typeDescriptions":{}}},"id":72923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10686:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10662:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72929,"nodeType":"IfStatement","src":"10658:94:111","trueBody":{"id":72928,"nodeType":"Block","src":"10698:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72925,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"10719:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72927,"nodeType":"RevertStatement","src":"10712:29:111"}]}},{"expression":{"id":72935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72930,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"10762:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72932,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10804:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10807:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72559,"src":"10804:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72931,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"10782:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78776_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":72934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10782:43:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"src":"10762:63:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":72936,"nodeType":"ExpressionStatement","src":"10762:63:111"},{"expression":{"id":72940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72937,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72816,"src":"10836:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72938,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10851:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72939,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10854:12:111","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72548,"src":"10851:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"10836:30:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"id":72941,"nodeType":"ExpressionStatement","src":"10836:30:111"},{"expression":{"id":72945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72942,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"10876:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72943,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10890:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72944,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10893:11:111","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":72551,"src":"10890:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"10876:28:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"id":72946,"nodeType":"ExpressionStatement","src":"10876:28:111"},{"expression":{"id":72950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72947,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"10914:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72948,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10928:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10931:11:111","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":72554,"src":"10928:14:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"10914:28:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":72951,"nodeType":"ExpressionStatement","src":"10914:28:111"},{"expression":{"id":72957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72952,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"10952:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72954,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10979:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10982:11:111","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":72561,"src":"10979:14:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72953,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"10966:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76330_$","typeString":"type(contract ISybilScorer)"}},"id":72956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10966:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"src":"10952:42:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"id":72958,"nodeType":"ExpressionStatement","src":"10952:42:111"},{"expression":{"arguments":[{"expression":{"id":72960,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"11020:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11023:16:111","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":72557,"src":"11020:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":72962,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"11041:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11044:8:111","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72545,"src":"11041:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":72959,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75414,"src":"11005:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$_t_struct$_CVParams_$72542_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":72964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11005:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72965,"nodeType":"ExpressionStatement","src":"11005:48:111"},{"eventCall":{"arguments":[{"id":72967,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72878,"src":"11083:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72968,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"11092:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":72966,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72678,"src":"11069:13:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$72562_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":72969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11069:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72970,"nodeType":"EmitStatement","src":"11064:31:111"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":72883,"kind":"modifierInvocation","modifierName":{"id":72882,"name":"onlyAllo","nameLocations":["10352:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":71826,"src":"10352:8:111"},"nodeType":"ModifierInvocation","src":"10352:8:111"}],"name":"initialize","nameLocation":"10287:10:111","parameters":{"id":72881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72878,"mutability":"mutable","name":"_poolId","nameLocation":"10306:7:111","nodeType":"VariableDeclaration","scope":72972,"src":"10298:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72877,"name":"uint256","nodeType":"ElementaryTypeName","src":"10298:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72880,"mutability":"mutable","name":"_data","nameLocation":"10328:5:111","nodeType":"VariableDeclaration","scope":72972,"src":"10315:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":72879,"name":"bytes","nodeType":"ElementaryTypeName","src":"10315:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10297:37:111"},"returnParameters":{"id":72884,"nodeType":"ParameterList","parameters":[],"src":"10361:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72976,"nodeType":"FunctionDefinition","src":"11273:83:111","nodes":[],"body":{"id":72975,"nodeType":"Block","src":"11301:55:111","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72973,"nodeType":"ParameterList","parameters":[],"src":"11281:2:111"},"returnParameters":{"id":72974,"nodeType":"ParameterList","parameters":[],"src":"11301:0:111"},"scope":75969,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72980,"nodeType":"FunctionDefinition","src":"11362:135:111","nodes":[],"body":{"id":72979,"nodeType":"Block","src":"11389:108:111","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72977,"nodeType":"ParameterList","parameters":[],"src":"11369:2:111"},"returnParameters":{"id":72978,"nodeType":"ParameterList","parameters":[],"src":"11389:0:111"},"scope":75969,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":73001,"nodeType":"FunctionDefinition","src":"11503:202:111","nodes":[],"body":{"id":73000,"nodeType":"Block","src":"11594:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":72998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":72993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72988,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72982,"src":"11611:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":72990,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"11631:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}],"id":72989,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11626:4:111","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11626:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72441","typeString":"type(contract IPointStrategy)"}},"id":72992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11647:11:111","memberName":"interfaceId","nodeType":"MemberAccess","src":"11626:32:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11611:47:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":72996,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72982,"src":"11686:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72994,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11662:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75969_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11668:17:111","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57805,"src":"11662:23:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":72997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11662:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11611:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72987,"id":72999,"nodeType":"Return","src":"11604:94:111"}]},"baseFunctions":[57805],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11512:17:111","overrides":{"id":72984,"nodeType":"OverrideSpecifier","overrides":[],"src":"11570:8:111"},"parameters":{"id":72983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72982,"mutability":"mutable","name":"interfaceId","nameLocation":"11537:11:111","nodeType":"VariableDeclaration","scope":73001,"src":"11530:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":72981,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11530:6:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11529:20:111"},"returnParameters":{"id":72987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72986,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73001,"src":"11588:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72985,"name":"bool","nodeType":"ElementaryTypeName","src":"11588:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11587:6:111"},"scope":75969,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73042,"nodeType":"FunctionDefinition","src":"11876:377:111","nodes":[],"body":{"id":73041,"nodeType":"Block","src":"11935:318:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73006,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73003,"src":"11949:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11968:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11960:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73007,"name":"address","nodeType":"ElementaryTypeName","src":"11960:7:111","typeDescriptions":{}}},"id":73010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11960:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11949:21:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73016,"nodeType":"IfStatement","src":"11945:77:111","trueBody":{"id":73015,"nodeType":"Block","src":"11972:50:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73012,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72575,"src":"11993:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11993:18:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73014,"nodeType":"RevertStatement","src":"11986:25:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73019,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12043:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":73018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12035:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73017,"name":"address","nodeType":"ElementaryTypeName","src":"12035:7:111","typeDescriptions":{}}},"id":73020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12035:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12073:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12065:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73021,"name":"address","nodeType":"ElementaryTypeName","src":"12065:7:111","typeDescriptions":{}}},"id":73024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12065:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12035:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73030,"nodeType":"IfStatement","src":"12031:100:111","trueBody":{"id":73029,"nodeType":"Block","src":"12077:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73026,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"12098:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12098:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73028,"nodeType":"RevertStatement","src":"12091:29:111"}]}},{"condition":{"id":73035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12144:36:111","subExpression":{"arguments":[{"id":73033,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73003,"src":"12172:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73031,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12145:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12163:8:111","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":78384,"src":"12145:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":73034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12145:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73040,"nodeType":"IfStatement","src":"12140:93:111","trueBody":{"id":73039,"nodeType":"Block","src":"12182:51:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73036,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72577,"src":"12203:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12203:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73038,"nodeType":"RevertStatement","src":"12196:26:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"11885:19:111","parameters":{"id":73004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73003,"mutability":"mutable","name":"_sender","nameLocation":"11913:7:111","nodeType":"VariableDeclaration","scope":73042,"src":"11905:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73002,"name":"address","nodeType":"ElementaryTypeName","src":"11905:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11904:17:111"},"returnParameters":{"id":73005,"nodeType":"ParameterList","parameters":[],"src":"11935:0:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":73058,"nodeType":"FunctionDefinition","src":"12259:162:111","nodes":[],"body":{"id":73057,"nodeType":"Block","src":"12305:116:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73045,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12319:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12323:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12319:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":73049,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12341:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":73048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12333:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73047,"name":"address","nodeType":"ElementaryTypeName","src":"12333:7:111","typeDescriptions":{}}},"id":73050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12333:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12319:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73056,"nodeType":"IfStatement","src":"12315:100:111","trueBody":{"id":73055,"nodeType":"Block","src":"12361:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73052,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72635,"src":"12382:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12382:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73054,"nodeType":"RevertStatement","src":"12375:29:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12268:21:111","parameters":{"id":73043,"nodeType":"ParameterList","parameters":[],"src":"12289:2:111"},"returnParameters":{"id":73044,"nodeType":"ParameterList","parameters":[],"src":"12305:0:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":73074,"nodeType":"FunctionDefinition","src":"12427:133:111","nodes":[],"body":{"id":73073,"nodeType":"Block","src":"12487:73:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73063,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73060,"src":"12501:8:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12521:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12513:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73064,"name":"address","nodeType":"ElementaryTypeName","src":"12513:7:111","typeDescriptions":{}}},"id":73067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12513:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12501:22:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73072,"nodeType":"IfStatement","src":"12497:56:111","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73069,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"12532:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12532:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73071,"nodeType":"RevertStatement","src":"12525:28:111"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12436:18:111","parameters":{"id":73061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73060,"mutability":"mutable","name":"_address","nameLocation":"12463:8:111","nodeType":"VariableDeclaration","scope":73074,"src":"12455:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73059,"name":"address","nodeType":"ElementaryTypeName","src":"12455:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12454:18:111"},"returnParameters":{"id":73062,"nodeType":"ParameterList","parameters":[],"src":"12487:0:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73092,"nodeType":"FunctionDefinition","src":"12566:166:111","nodes":[],"body":{"id":73091,"nodeType":"Block","src":"12607:125:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73077,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12621:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12625:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12621:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73081,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12643:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12661:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77107,"src":"12643:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79792_$","typeString":"function () view external returns (contract ISafe)"}},"id":73083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12643:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":73080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12635:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73079,"name":"address","nodeType":"ElementaryTypeName","src":"12635:7:111","typeDescriptions":{}}},"id":73084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12635:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12621:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73090,"nodeType":"IfStatement","src":"12617:109:111","trueBody":{"id":73089,"nodeType":"Block","src":"12677:49:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73086,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72645,"src":"12698:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12698:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73088,"nodeType":"RevertStatement","src":"12691:24:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12575:15:111","parameters":{"id":73075,"nodeType":"ParameterList","parameters":[],"src":"12590:2:111"},"returnParameters":{"id":73076,"nodeType":"ParameterList","parameters":[],"src":"12607:0:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73122,"nodeType":"FunctionDefinition","src":"12738:230:111","nodes":[],"body":{"id":73121,"nodeType":"Block","src":"12809:159:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73101,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"12831:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}],"id":73100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12823:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73099,"name":"address","nodeType":"ElementaryTypeName","src":"12823:7:111","typeDescriptions":{}}},"id":73102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12823:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12855:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12847:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73103,"name":"address","nodeType":"ElementaryTypeName","src":"12847:7:111","typeDescriptions":{}}},"id":73106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12847:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12823:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73111,"nodeType":"IfStatement","src":"12819:76:111","trueBody":{"id":73110,"nodeType":"Block","src":"12859:36:111","statements":[{"expression":{"hexValue":"74727565","id":73108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12880:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":73098,"id":73109,"nodeType":"Return","src":"12873:11:111"}]}},{"expression":{"arguments":[{"id":73114,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73094,"src":"12940:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73117,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12955:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12947:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73115,"name":"address","nodeType":"ElementaryTypeName","src":"12947:7:111","typeDescriptions":{}}},"id":73118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12947:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73112,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"12911:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"id":73113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12923:16:111","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76287,"src":"12911:28:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12911:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73098,"id":73120,"nodeType":"Return","src":"12904:57:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12747:17:111","parameters":{"id":73095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73094,"mutability":"mutable","name":"_user","nameLocation":"12773:5:111","nodeType":"VariableDeclaration","scope":73122,"src":"12765:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73093,"name":"address","nodeType":"ElementaryTypeName","src":"12765:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12764:15:111"},"returnParameters":{"id":73098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73122,"src":"12803:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73096,"name":"bool","nodeType":"ElementaryTypeName","src":"12803:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12802:6:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73360,"nodeType":"FunctionDefinition","src":"13294:2658:111","nodes":[],"body":{"id":73359,"nodeType":"Block","src":"13395:2557:111","nodes":[],"statements":[{"condition":{"id":73135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13409:27:111","subExpression":{"arguments":[{"id":73133,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73126,"src":"13428:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73132,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"13410:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13410:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73140,"nodeType":"IfStatement","src":"13405:90:111","trueBody":{"id":73139,"nodeType":"Block","src":"13438:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73136,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"13459:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13459:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73138,"nodeType":"RevertStatement","src":"13452:32:111"}]}},{"expression":{"id":73141,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73124,"src":"13549:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73142,"nodeType":"ExpressionStatement","src":"13549:5:111"},{"assignments":[73147],"declarations":[{"constant":false,"id":73147,"mutability":"mutable","name":"proposal","nameLocation":"13601:8:111","nodeType":"VariableDeclaration","scope":73359,"src":"13564:45:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":73146,"nodeType":"UserDefinedTypeName","pathNode":{"id":73145,"name":"StrategyStruct.CreateProposal","nameLocations":["13564:14:111","13579:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72462,"src":"13564:29:111"},"referencedDeclaration":72462,"src":"13564:29:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":73155,"initialValue":{"arguments":[{"id":73150,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73124,"src":"13623:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":73151,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"13631:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13646:14:111","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"13631:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72462_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":73153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13630:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72462_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72462_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":73148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13612:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13616:6:111","memberName":"decode","nodeType":"MemberAccess","src":"13612:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13612:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13564:98:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73156,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"13777:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13786:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72452,"src":"13777:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13796:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13777:20:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73164,"nodeType":"IfStatement","src":"13773:78:111","trueBody":{"id":73163,"nodeType":"Block","src":"13799:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73160,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72591,"src":"13820:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13820:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73162,"nodeType":"RevertStatement","src":"13813:27:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"id":73169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73165,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72816,"src":"13927:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73166,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"13943:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13958:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"13943:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72445_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13971:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72443,"src":"13943:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"13927:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73225,"nodeType":"IfStatement","src":"13923:764:111","trueBody":{"id":73224,"nodeType":"Block","src":"13980:707:111","statements":[{"expression":{"arguments":[{"expression":{"id":73171,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14013:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14022:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72454,"src":"14013:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73170,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"13994:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13994:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73174,"nodeType":"ExpressionStatement","src":"13994:40:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73175,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14100:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14109:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"14100:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14135:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14127:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73177,"name":"address","nodeType":"ElementaryTypeName","src":"14127:7:111","typeDescriptions":{}}},"id":73180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14127:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14100:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73186,"nodeType":"IfStatement","src":"14096:102:111","trueBody":{"id":73185,"nodeType":"Block","src":"14139:59:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73182,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72585,"src":"14164:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14164:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73184,"nodeType":"RevertStatement","src":"14157:26:111"}]}},{"assignments":[73189],"declarations":[{"constant":false,"id":73189,"mutability":"mutable","name":"_allo","nameLocation":"14217:5:111","nodeType":"VariableDeclaration","scope":73224,"src":"14211:11:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":73188,"nodeType":"UserDefinedTypeName","pathNode":{"id":73187,"name":"IAllo","nameLocations":["14211:5:111"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14211:5:111"},"referencedDeclaration":2610,"src":"14211:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":73193,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73190,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14225:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}},"id":73191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14230:7:111","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":71872,"src":"14225:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":73192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14225:14:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14211:28:111"},{"assignments":[73198],"declarations":[{"constant":false,"id":73198,"mutability":"mutable","name":"pool","nameLocation":"14271:4:111","nodeType":"VariableDeclaration","scope":73224,"src":"14253:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73197,"nodeType":"UserDefinedTypeName","pathNode":{"id":73196,"name":"IAllo.Pool","nameLocations":["14253:5:111","14259:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14253:10:111"},"referencedDeclaration":2319,"src":"14253:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":73204,"initialValue":{"arguments":[{"expression":{"id":73201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14292:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14301:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72452,"src":"14292:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73199,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73189,"src":"14278:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":73200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14284:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14278:13:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":73203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14278:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14253:55:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73205,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14326:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14335:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"14326:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":73207,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73198,"src":"14353:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":73208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14358:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14353:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14326:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73214,"nodeType":"IfStatement","src":"14322:235:111","trueBody":{"id":73213,"nodeType":"Block","src":"14365:192:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73210,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"14525:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14525:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73212,"nodeType":"RevertStatement","src":"14518:24:111"}]}},{"condition":{"arguments":[{"expression":{"id":73216,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14590:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14599:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"14590:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73215,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"14574:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":73218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14574:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73223,"nodeType":"IfStatement","src":"14570:107:111","trueBody":{"id":73222,"nodeType":"Block","src":"14617:60:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73219,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72589,"src":"14642:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14642:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73221,"nodeType":"RevertStatement","src":"14635:27:111"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":73228,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"14722:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14739:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"14722:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":73227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14714:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73226,"name":"address","nodeType":"ElementaryTypeName","src":"14714:7:111","typeDescriptions":{}}},"id":73230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14714:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":73233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14762:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14754:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73231,"name":"address","nodeType":"ElementaryTypeName","src":"14754:7:111","typeDescriptions":{}}},"id":73234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14754:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14714:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73236,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14768:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14772:5:111","memberName":"value","nodeType":"MemberAccess","src":"14768:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":73238,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"14780:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14797:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"14780:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14768:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14714:108:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73250,"nodeType":"IfStatement","src":"14697:245:111","trueBody":{"id":73249,"nodeType":"Block","src":"14833:109:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":73243,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14877:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14881:5:111","memberName":"value","nodeType":"MemberAccess","src":"14877:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73245,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"14888:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14905:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"14888:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73242,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72653,"src":"14854:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":73247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14854:77:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73248,"nodeType":"RevertStatement","src":"14847:84:111"}]}},{"assignments":[73252],"declarations":[{"constant":false,"id":73252,"mutability":"mutable","name":"proposalId","nameLocation":"14960:10:111","nodeType":"VariableDeclaration","scope":73359,"src":"14952:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73251,"name":"uint256","nodeType":"ElementaryTypeName","src":"14952:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73255,"initialValue":{"id":73254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"14973:17:111","subExpression":{"id":73253,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72806,"src":"14975:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14952:38:111"},{"assignments":[73260],"declarations":[{"constant":false,"id":73260,"mutability":"mutable","name":"p","nameLocation":"15032:1:111","nodeType":"VariableDeclaration","scope":73359,"src":"15000:33:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73259,"nodeType":"UserDefinedTypeName","pathNode":{"id":73258,"name":"StrategyStruct.Proposal","nameLocations":["15000:14:111","15015:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"15000:23:111"},"referencedDeclaration":72511,"src":"15000:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73264,"initialValue":{"baseExpression":{"id":73261,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"15036:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73263,"indexExpression":{"id":73262,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15046:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15036:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15000:57:111"},{"expression":{"id":73269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73265,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15068:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73267,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15070:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"15068:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73268,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15083:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15068:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73270,"nodeType":"ExpressionStatement","src":"15068:25:111"},{"expression":{"id":73275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73271,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15103:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15105:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"15103:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73274,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73126,"src":"15117:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15103:21:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73276,"nodeType":"ExpressionStatement","src":"15103:21:111"},{"expression":{"id":73282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73277,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15134:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15136:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"15134:13:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73280,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15150:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15159:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72454,"src":"15150:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15134:36:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73283,"nodeType":"ExpressionStatement","src":"15134:36:111"},{"expression":{"id":73289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73284,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15180:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15182:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72493,"src":"15180:16:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73287,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15199:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15208:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"15199:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15180:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73290,"nodeType":"ExpressionStatement","src":"15180:42:111"},{"expression":{"id":73296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73291,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15232:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15234:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"15232:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73294,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15252:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15261:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"15252:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15232:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73297,"nodeType":"ExpressionStatement","src":"15232:44:111"},{"expression":{"id":73304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73298,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15337:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15339:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"15337:16:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":73301,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"15356:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15371:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"15356:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":73303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15386:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"15356:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15337:55:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":73305,"nodeType":"ExpressionStatement","src":"15337:55:111"},{"expression":{"id":73311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73306,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15402:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15404:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"15402:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73309,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15416:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":73310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15422:6:111","memberName":"number","nodeType":"MemberAccess","src":"15416:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15402:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73312,"nodeType":"ExpressionStatement","src":"15402:26:111"},{"expression":{"id":73317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73313,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15438:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15440:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"15438:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":73316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15457:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15438:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73318,"nodeType":"ExpressionStatement","src":"15438:20:111"},{"expression":{"id":73324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73319,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15504:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15506:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72505,"src":"15504:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73322,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15517:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15526:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72461,"src":"15517:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"15504:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":73325,"nodeType":"ExpressionStatement","src":"15504:30:111"},{"expression":{"id":73333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73326,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15631:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15633:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"15631:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":73330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15645:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"15631:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73331,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"15672:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15689:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"15672:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15631:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73334,"nodeType":"ExpressionStatement","src":"15631:83:111"},{"expression":{"arguments":[{"id":73341,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15776:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73342,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15788:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73343,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15790:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"15788:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73335,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"15724:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":73337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15740:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79678,"src":"15724:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":73340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":73338,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15765:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15769:5:111","memberName":"value","nodeType":"MemberAccess","src":"15765:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15724:51:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":73344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15724:76:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73345,"nodeType":"ExpressionStatement","src":"15724:76:111"},{"eventCall":{"arguments":[{"id":73347,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71792,"src":"15832:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73348,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15840:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73346,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72692,"src":"15816:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":73349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15816:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73350,"nodeType":"EmitStatement","src":"15811:40:111"},{"expression":{"arguments":[{"arguments":[{"id":73355,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15933:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15925:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":73353,"name":"uint160","nodeType":"ElementaryTypeName","src":"15925:7:111","typeDescriptions":{}}},"id":73356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15925:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":73352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15917:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73351,"name":"address","nodeType":"ElementaryTypeName","src":"15917:7:111","typeDescriptions":{}}},"id":73357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15917:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73131,"id":73358,"nodeType":"Return","src":"15910:35:111"}]},"baseFunctions":[72260],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13303:18:111","overrides":{"id":73128,"nodeType":"OverrideSpecifier","overrides":[],"src":"13368:8:111"},"parameters":{"id":73127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73124,"mutability":"mutable","name":"_data","nameLocation":"13335:5:111","nodeType":"VariableDeclaration","scope":73360,"src":"13322:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73123,"name":"bytes","nodeType":"ElementaryTypeName","src":"13322:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73126,"mutability":"mutable","name":"_sender","nameLocation":"13350:7:111","nodeType":"VariableDeclaration","scope":73360,"src":"13342:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73125,"name":"address","nodeType":"ElementaryTypeName","src":"13342:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13321:37:111"},"returnParameters":{"id":73131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73130,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73360,"src":"13386:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73129,"name":"address","nodeType":"ElementaryTypeName","src":"13386:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13385:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73369,"nodeType":"FunctionDefinition","src":"15958:90:111","nodes":[],"body":{"id":73368,"nodeType":"Block","src":"16010:38:111","nodes":[],"statements":[{"expression":{"expression":{"id":73365,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"16027:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":73366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16036:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"16027:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73364,"id":73367,"nodeType":"Return","src":"16020:21:111"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"15967:8:111","parameters":{"id":73361,"nodeType":"ParameterList","parameters":[],"src":"15975:2:111"},"returnParameters":{"id":73364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73369,"src":"16001:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73362,"name":"uint256","nodeType":"ElementaryTypeName","src":"16001:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16000:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73408,"nodeType":"FunctionDefinition","src":"16054:351:111","nodes":[],"body":{"id":73407,"nodeType":"Block","src":"16089:316:111","nodes":[],"statements":[{"assignments":[73373],"declarations":[{"constant":false,"id":73373,"mutability":"mutable","name":"member","nameLocation":"16107:6:111","nodeType":"VariableDeclaration","scope":73407,"src":"16099:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73372,"name":"address","nodeType":"ElementaryTypeName","src":"16099:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":73376,"initialValue":{"expression":{"id":73374,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16116:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16120:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16116:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16099:27:111"},{"condition":{"id":73380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16140:26:111","subExpression":{"arguments":[{"id":73378,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73373,"src":"16159:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73377,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"16141:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16141:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73385,"nodeType":"IfStatement","src":"16136:89:111","trueBody":{"id":73384,"nodeType":"Block","src":"16168:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73381,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"16189:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16189:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73383,"nodeType":"RevertStatement","src":"16182:32:111"}]}},{"expression":{"arguments":[{"id":73389,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73373,"src":"16277:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73392,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16293:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16285:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73390,"name":"address","nodeType":"ElementaryTypeName","src":"16285:7:111","typeDescriptions":{}}},"id":73393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16285:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73386,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16234:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16252:24:111","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77791,"src":"16234:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16234:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73395,"nodeType":"ExpressionStatement","src":"16234:65:111"},{"expression":{"id":73405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73396,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"16309:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":73399,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73373,"src":"16376:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73402,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16392:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16384:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73400,"name":"address","nodeType":"ElementaryTypeName","src":"16384:7:111","typeDescriptions":{}}},"id":73403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16384:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73397,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16333:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16351:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"16333:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16333:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16309:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73406,"nodeType":"ExpressionStatement","src":"16309:89:111"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16063:14:111","parameters":{"id":73370,"nodeType":"ParameterList","parameters":[],"src":"16077:2:111"},"returnParameters":{"id":73371,"nodeType":"ParameterList","parameters":[],"src":"16089:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73417,"nodeType":"FunctionDefinition","src":"16411:81:111","nodes":[],"body":{"id":73416,"nodeType":"Block","src":"16446:46:111","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":73412,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16474:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16478:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16474:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73411,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"16456:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16456:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73415,"nodeType":"ExpressionStatement","src":"16456:29:111"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16420:16:111","parameters":{"id":73409,"nodeType":"ParameterList","parameters":[],"src":"16436:2:111"},"returnParameters":{"id":73410,"nodeType":"ParameterList","parameters":[],"src":"16446:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73430,"nodeType":"FunctionDefinition","src":"16498:128:111","nodes":[],"body":{"id":73429,"nodeType":"Block","src":"16550:76:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73422,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"16560:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16560:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73424,"nodeType":"ExpressionStatement","src":"16560:23:111"},{"expression":{"arguments":[{"id":73426,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73419,"src":"16611:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73425,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"16593:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16593:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73428,"nodeType":"ExpressionStatement","src":"16593:26:111"}]},"baseFunctions":[72416],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16507:16:111","parameters":{"id":73420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73419,"mutability":"mutable","name":"_member","nameLocation":"16532:7:111","nodeType":"VariableDeclaration","scope":73430,"src":"16524:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73418,"name":"address","nodeType":"ElementaryTypeName","src":"16524:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16523:17:111"},"returnParameters":{"id":73421,"nodeType":"ParameterList","parameters":[],"src":"16550:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73465,"nodeType":"FunctionDefinition","src":"16632:351:111","nodes":[],"body":{"id":73464,"nodeType":"Block","src":"16685:298:111","nodes":[],"statements":[{"expression":{"id":73444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73435,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"16695:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":73438,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16762:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73441,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16779:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16771:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73439,"name":"address","nodeType":"ElementaryTypeName","src":"16771:7:111","typeDescriptions":{}}},"id":73442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16771:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73436,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16719:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16737:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"16719:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16719:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16695:90:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73445,"nodeType":"ExpressionStatement","src":"16695:90:111"},{"expression":{"arguments":[{"id":73449,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16840:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73452,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16857:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16849:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73450,"name":"address","nodeType":"ElementaryTypeName","src":"16849:7:111","typeDescriptions":{}}},"id":73453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16849:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73446,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16795:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16813:26:111","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77850,"src":"16795:44:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16795:68:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73455,"nodeType":"ExpressionStatement","src":"16795:68:111"},{"expression":{"arguments":[{"id":73457,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16927:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73456,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74331,"src":"16918:8:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16918:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73459,"nodeType":"ExpressionStatement","src":"16918:17:111"},{"eventCall":{"arguments":[{"id":73461,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16968:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73460,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"16950:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16950:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73463,"nodeType":"EmitStatement","src":"16945:31:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"16641:17:111","parameters":{"id":73433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73432,"mutability":"mutable","name":"_member","nameLocation":"16667:7:111","nodeType":"VariableDeclaration","scope":73465,"src":"16659:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73431,"name":"address","nodeType":"ElementaryTypeName","src":"16659:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16658:17:111"},"returnParameters":{"id":73434,"nodeType":"ParameterList","parameters":[],"src":"16685:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73558,"nodeType":"FunctionDefinition","src":"16989:1057:111","nodes":[],"body":{"id":73557,"nodeType":"Block","src":"17080:966:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73474,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"17135:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17135:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73476,"nodeType":"ExpressionStatement","src":"17135:23:111"},{"condition":{"id":73480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17172:27:111","subExpression":{"arguments":[{"id":73478,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17191:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73477,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"17173:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17173:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73485,"nodeType":"IfStatement","src":"17168:90:111","trueBody":{"id":73484,"nodeType":"Block","src":"17201:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73481,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"17222:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17222:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73483,"nodeType":"RevertStatement","src":"17215:32:111"}]}},{"assignments":[73487],"declarations":[{"constant":false,"id":73487,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17275:16:111","nodeType":"VariableDeclaration","scope":73557,"src":"17267:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73486,"name":"uint256","nodeType":"ElementaryTypeName","src":"17267:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73489,"initialValue":{"hexValue":"30","id":73488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17294:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17267:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73490,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"17309:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73491,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"17324:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17339:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"17324:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17351:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"17324:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"17309:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73502,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"17454:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73503,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"17469:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17484:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"17469:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17496:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72447,"src":"17469:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"17454:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73515,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"17602:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73516,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"17617:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17632:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"17617:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17644:9:111","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":72449,"src":"17617:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"17602:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73528,"nodeType":"IfStatement","src":"17598:148:111","trueBody":{"id":73527,"nodeType":"Block","src":"17655:91:111","statements":[{"expression":{"id":73525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73520,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17669:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73522,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17711:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73523,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17720:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73521,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73744,"src":"17688:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17688:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17669:66:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73526,"nodeType":"ExpressionStatement","src":"17669:66:111"}]}},"id":73529,"nodeType":"IfStatement","src":"17450:296:111","trueBody":{"id":73514,"nodeType":"Block","src":"17504:88:111","statements":[{"expression":{"id":73512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73507,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17518:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73509,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17557:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73510,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17566:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73508,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73666,"src":"17537:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17537:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17518:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73513,"nodeType":"ExpressionStatement","src":"17518:63:111"}]}},"id":73530,"nodeType":"IfStatement","src":"17305:441:111","trueBody":{"id":73501,"nodeType":"Block","src":"17362:82:111","statements":[{"expression":{"id":73499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73495,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17376:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73497,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17418:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73496,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73624,"src":"17395:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17395:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17376:57:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73500,"nodeType":"ExpressionStatement","src":"17376:57:111"}]}},{"assignments":[73532],"declarations":[{"constant":false,"id":73532,"mutability":"mutable","name":"isActivated","nameLocation":"17760:11:111","nodeType":"VariableDeclaration","scope":73557,"src":"17755:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73531,"name":"bool","nodeType":"ElementaryTypeName","src":"17755:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73541,"initialValue":{"arguments":[{"id":73535,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17820:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73538,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17837:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17829:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73536,"name":"address","nodeType":"ElementaryTypeName","src":"17829:7:111","typeDescriptions":{}}},"id":73539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17829:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73533,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"17774:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17792:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77148,"src":"17774:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17774:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"17755:88:111"},{"condition":{"id":73542,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73532,"src":"17857:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73548,"nodeType":"IfStatement","src":"17853:82:111","trueBody":{"id":73547,"nodeType":"Block","src":"17870:65:111","statements":[{"expression":{"id":73545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73543,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"17884:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":73544,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17908:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17884:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73546,"nodeType":"ExpressionStatement","src":"17884:40:111"}]}},{"eventCall":{"arguments":[{"id":73550,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17964:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73551,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17973:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73552,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17989:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73549,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72708,"src":"17949:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17949:57:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73554,"nodeType":"EmitStatement","src":"17944:62:111"},{"expression":{"id":73555,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"18023:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73473,"id":73556,"nodeType":"Return","src":"18016:23:111"}]},"baseFunctions":[72425],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"16998:13:111","parameters":{"id":73470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73467,"mutability":"mutable","name":"_member","nameLocation":"17020:7:111","nodeType":"VariableDeclaration","scope":73558,"src":"17012:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73466,"name":"address","nodeType":"ElementaryTypeName","src":"17012:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73469,"mutability":"mutable","name":"_amountToStake","nameLocation":"17037:14:111","nodeType":"VariableDeclaration","scope":73558,"src":"17029:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73468,"name":"uint256","nodeType":"ElementaryTypeName","src":"17029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17011:41:111"},"returnParameters":{"id":73473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73558,"src":"17071:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73471,"name":"uint256","nodeType":"ElementaryTypeName","src":"17071:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17070:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73614,"nodeType":"FunctionDefinition","src":"18052:681:111","nodes":[],"body":{"id":73613,"nodeType":"Block","src":"18145:588:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73567,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"18155:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18155:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73569,"nodeType":"ExpressionStatement","src":"18155:23:111"},{"assignments":[73571],"declarations":[{"constant":false,"id":73571,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18242:16:111","nodeType":"VariableDeclaration","scope":73613,"src":"18234:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73570,"name":"uint256","nodeType":"ElementaryTypeName","src":"18234:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73573,"initialValue":{"hexValue":"30","id":73572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18261:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18234:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73574,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"18276:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73575,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"18291:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18306:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"18291:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18318:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"18291:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"18276:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73579,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"18331:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73580,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"18346:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18361:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"18346:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18373:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72447,"src":"18346:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"18331:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18276:103:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":73599,"nodeType":"Block","src":"18477:93:111","statements":[{"expression":{"id":73597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73592,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18491:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73594,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73560,"src":"18533:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73595,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"18542:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73593,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73828,"src":"18510:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18510:49:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18491:68:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73598,"nodeType":"ExpressionStatement","src":"18491:68:111"}]},"id":73600,"nodeType":"IfStatement","src":"18272:298:111","trueBody":{"id":73591,"nodeType":"Block","src":"18381:90:111","statements":[{"expression":{"id":73589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73585,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18395:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73587,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"18443:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73586,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73754,"src":"18414:28:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18414:46:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18395:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73590,"nodeType":"ExpressionStatement","src":"18395:65:111"}]}},{"expression":{"id":73603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73601,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"18579:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":73602,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18603:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18579:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73604,"nodeType":"ExpressionStatement","src":"18579:40:111"},{"eventCall":{"arguments":[{"id":73606,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73560,"src":"18649:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73607,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"18658:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73608,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18676:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73605,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72716,"src":"18634:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18634:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73610,"nodeType":"EmitStatement","src":"18629:64:111"},{"expression":{"id":73611,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18710:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73566,"id":73612,"nodeType":"Return","src":"18703:23:111"}]},"baseFunctions":[72434],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18061:13:111","parameters":{"id":73563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73560,"mutability":"mutable","name":"_member","nameLocation":"18083:7:111","nodeType":"VariableDeclaration","scope":73614,"src":"18075:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73559,"name":"address","nodeType":"ElementaryTypeName","src":"18075:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73562,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18100:16:111","nodeType":"VariableDeclaration","scope":73614,"src":"18092:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73561,"name":"uint256","nodeType":"ElementaryTypeName","src":"18092:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18074:43:111"},"returnParameters":{"id":73566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73614,"src":"18136:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73564,"name":"uint256","nodeType":"ElementaryTypeName","src":"18136:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18135:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73624,"nodeType":"FunctionDefinition","src":"18739:126:111","nodes":[],"body":{"id":73623,"nodeType":"Block","src":"18827:38:111","nodes":[],"statements":[{"expression":{"id":73621,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73616,"src":"18844:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73620,"id":73622,"nodeType":"Return","src":"18837:21:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"18748:22:111","parameters":{"id":73617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73616,"mutability":"mutable","name":"_amountToStake","nameLocation":"18779:14:111","nodeType":"VariableDeclaration","scope":73624,"src":"18771:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73615,"name":"uint256","nodeType":"ElementaryTypeName","src":"18771:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18770:24:111"},"returnParameters":{"id":73620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73624,"src":"18818:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73618,"name":"uint256","nodeType":"ElementaryTypeName","src":"18818:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18817:9:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73666,"nodeType":"FunctionDefinition","src":"18871:624:111","nodes":[],"body":{"id":73665,"nodeType":"Block","src":"18973:522:111","nodes":[],"statements":[{"assignments":[73634],"declarations":[{"constant":false,"id":73634,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"18991:16:111","nodeType":"VariableDeclaration","scope":73665,"src":"18983:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73633,"name":"uint256","nodeType":"ElementaryTypeName","src":"18983:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73636,"initialValue":{"id":73635,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73628,"src":"19010:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18983:41:111"},{"assignments":[73638],"declarations":[{"constant":false,"id":73638,"mutability":"mutable","name":"memberPower","nameLocation":"19106:11:111","nodeType":"VariableDeclaration","scope":73665,"src":"19098:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73637,"name":"uint256","nodeType":"ElementaryTypeName","src":"19098:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73647,"initialValue":{"arguments":[{"id":73641,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73626,"src":"19163:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73644,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19180:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19172:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73642,"name":"address","nodeType":"ElementaryTypeName","src":"19172:7:111","typeDescriptions":{}}},"id":73645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19172:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73639,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"19120:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19138:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"19120:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19120:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19098:88:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73648,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73638,"src":"19252:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73649,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73634,"src":"19266:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19252:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":73651,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"19285:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19297:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"19285:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19252:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73662,"nodeType":"IfStatement","src":"19248:139:111","trueBody":{"id":73661,"nodeType":"Block","src":"19308:79:111","statements":[{"expression":{"id":73659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73654,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73634,"src":"19322:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73655,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"19341:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19353:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"19341:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73657,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73638,"src":"19365:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19341:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19322:54:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73660,"nodeType":"ExpressionStatement","src":"19322:54:111"}]}},{"expression":{"id":73663,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73634,"src":"19472:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73632,"id":73664,"nodeType":"Return","src":"19465:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"18880:19:111","parameters":{"id":73629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73626,"mutability":"mutable","name":"_member","nameLocation":"18908:7:111","nodeType":"VariableDeclaration","scope":73666,"src":"18900:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73625,"name":"address","nodeType":"ElementaryTypeName","src":"18900:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73628,"mutability":"mutable","name":"_amountToStake","nameLocation":"18925:14:111","nodeType":"VariableDeclaration","scope":73666,"src":"18917:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73627,"name":"uint256","nodeType":"ElementaryTypeName","src":"18917:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18899:41:111"},"returnParameters":{"id":73632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73666,"src":"18964:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73630,"name":"uint256","nodeType":"ElementaryTypeName","src":"18964:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18963:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73744,"nodeType":"FunctionDefinition","src":"19501:733:111","nodes":[],"body":{"id":73743,"nodeType":"Block","src":"19606:628:111","nodes":[],"statements":[{"assignments":[73676],"declarations":[{"constant":false,"id":73676,"mutability":"mutable","name":"totalStake","nameLocation":"19624:10:111","nodeType":"VariableDeclaration","scope":73743,"src":"19616:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73675,"name":"uint256","nodeType":"ElementaryTypeName","src":"19616:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73683,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73679,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73668,"src":"19677:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73677,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"19637:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19655:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78173,"src":"19637:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19637:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73681,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73670,"src":"19688:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19637:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19616:86:111"},{"assignments":[73685],"declarations":[{"constant":false,"id":73685,"mutability":"mutable","name":"decimal","nameLocation":"19721:7:111","nodeType":"VariableDeclaration","scope":73743,"src":"19713:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73684,"name":"uint256","nodeType":"ElementaryTypeName","src":"19713:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73687,"initialValue":{"hexValue":"3138","id":73686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19731:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"19713:20:111"},{"clauses":[{"block":{"id":73708,"nodeType":"Block","src":"19831:52:111","statements":[{"expression":{"id":73706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73701,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73685,"src":"19845:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73704,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73699,"src":"19863:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19855:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73702,"name":"uint256","nodeType":"ElementaryTypeName","src":"19855:7:111","typeDescriptions":{}}},"id":73705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19855:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19845:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73707,"nodeType":"ExpressionStatement","src":"19845:27:111"}]},"errorName":"","id":73709,"nodeType":"TryCatchClause","parameters":{"id":73700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73699,"mutability":"mutable","name":"_decimal","nameLocation":"19821:8:111","nodeType":"VariableDeclaration","scope":73709,"src":"19815:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73698,"name":"uint8","nodeType":"ElementaryTypeName","src":"19815:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"19814:16:111"},"src":"19806:77:111"},{"block":{"id":73710,"nodeType":"Block","src":"19890:64:111","statements":[]},"errorName":"","id":73711,"nodeType":"TryCatchClause","src":"19884:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73691,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"19761:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19779:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77103,"src":"19761:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19761:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19753:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73689,"name":"address","nodeType":"ElementaryTypeName","src":"19753:7:111","typeDescriptions":{}}},"id":73694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19753:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73688,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"19747:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19747:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19795:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"19747:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19747:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73712,"nodeType":"TryStatement","src":"19743:211:111"},{"assignments":[73714],"declarations":[{"constant":false,"id":73714,"mutability":"mutable","name":"newTotalPoints","nameLocation":"19971:14:111","nodeType":"VariableDeclaration","scope":73743,"src":"19963:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73713,"name":"uint256","nodeType":"ElementaryTypeName","src":"19963:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73723,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73717,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73676,"src":"19998:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20011:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73719,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73685,"src":"20017:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20011:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19998:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73715,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"19988:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19993:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"19988:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19988:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19963:62:111"},{"assignments":[73725],"declarations":[{"constant":false,"id":73725,"mutability":"mutable","name":"currentPoints","nameLocation":"20043:13:111","nodeType":"VariableDeclaration","scope":73743,"src":"20035:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73724,"name":"uint256","nodeType":"ElementaryTypeName","src":"20035:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73734,"initialValue":{"arguments":[{"id":73728,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73668,"src":"20102:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73731,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20119:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20111:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73729,"name":"address","nodeType":"ElementaryTypeName","src":"20111:7:111","typeDescriptions":{}}},"id":73732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20111:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73726,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"20059:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20077:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"20059:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20059:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20035:90:111"},{"assignments":[73736],"declarations":[{"constant":false,"id":73736,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20144:16:111","nodeType":"VariableDeclaration","scope":73743,"src":"20136:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73735,"name":"uint256","nodeType":"ElementaryTypeName","src":"20136:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73740,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73737,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73714,"src":"20163:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73738,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73725,"src":"20180:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20163:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20136:57:111"},{"expression":{"id":73741,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73736,"src":"20211:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73674,"id":73742,"nodeType":"Return","src":"20204:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19510:22:111","parameters":{"id":73671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73668,"mutability":"mutable","name":"_member","nameLocation":"19541:7:111","nodeType":"VariableDeclaration","scope":73744,"src":"19533:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73667,"name":"address","nodeType":"ElementaryTypeName","src":"19533:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73670,"mutability":"mutable","name":"_amountToStake","nameLocation":"19558:14:111","nodeType":"VariableDeclaration","scope":73744,"src":"19550:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73669,"name":"uint256","nodeType":"ElementaryTypeName","src":"19550:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19532:41:111"},"returnParameters":{"id":73674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73673,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73744,"src":"19597:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73672,"name":"uint256","nodeType":"ElementaryTypeName","src":"19597:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19596:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73754,"nodeType":"FunctionDefinition","src":"20240:136:111","nodes":[],"body":{"id":73753,"nodeType":"Block","src":"20336:40:111","nodes":[],"statements":[{"expression":{"id":73751,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73746,"src":"20353:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73750,"id":73752,"nodeType":"Return","src":"20346:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20249:28:111","parameters":{"id":73747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73746,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20286:16:111","nodeType":"VariableDeclaration","scope":73754,"src":"20278:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73745,"name":"uint256","nodeType":"ElementaryTypeName","src":"20278:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20277:26:111"},"returnParameters":{"id":73750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73754,"src":"20327:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73748,"name":"uint256","nodeType":"ElementaryTypeName","src":"20327:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20326:9:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73828,"nodeType":"FunctionDefinition","src":"20382:811:111","nodes":[],"body":{"id":73827,"nodeType":"Block","src":"20489:704:111","nodes":[],"statements":[{"assignments":[73764],"declarations":[{"constant":false,"id":73764,"mutability":"mutable","name":"decimal","nameLocation":"20507:7:111","nodeType":"VariableDeclaration","scope":73827,"src":"20499:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73763,"name":"uint256","nodeType":"ElementaryTypeName","src":"20499:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73766,"initialValue":{"hexValue":"3138","id":73765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20517:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20499:20:111"},{"clauses":[{"block":{"id":73787,"nodeType":"Block","src":"20617:52:111","statements":[{"expression":{"id":73785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73780,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73764,"src":"20631:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73783,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73778,"src":"20649:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20641:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73781,"name":"uint256","nodeType":"ElementaryTypeName","src":"20641:7:111","typeDescriptions":{}}},"id":73784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20641:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20631:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73786,"nodeType":"ExpressionStatement","src":"20631:27:111"}]},"errorName":"","id":73788,"nodeType":"TryCatchClause","parameters":{"id":73779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73778,"mutability":"mutable","name":"_decimal","nameLocation":"20607:8:111","nodeType":"VariableDeclaration","scope":73788,"src":"20601:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73777,"name":"uint8","nodeType":"ElementaryTypeName","src":"20601:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20600:16:111"},"src":"20592:77:111"},{"block":{"id":73789,"nodeType":"Block","src":"20676:64:111","statements":[]},"errorName":"","id":73790,"nodeType":"TryCatchClause","src":"20670:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73770,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"20547:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20565:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77103,"src":"20547:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20547:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20539:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73768,"name":"address","nodeType":"ElementaryTypeName","src":"20539:7:111","typeDescriptions":{}}},"id":73773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20539:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73767,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"20533:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20533:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20581:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"20533:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20533:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73791,"nodeType":"TryStatement","src":"20529:211:111"},{"assignments":[73793],"declarations":[{"constant":false,"id":73793,"mutability":"mutable","name":"newTotalStake","nameLocation":"20819:13:111","nodeType":"VariableDeclaration","scope":73827,"src":"20811:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73792,"name":"uint256","nodeType":"ElementaryTypeName","src":"20811:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73800,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73796,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73756,"src":"20875:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73794,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"20835:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20853:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78173,"src":"20835:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20835:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73798,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73758,"src":"20886:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20835:67:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20811:91:111"},{"assignments":[73802],"declarations":[{"constant":false,"id":73802,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20976:14:111","nodeType":"VariableDeclaration","scope":73827,"src":"20968:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73801,"name":"uint256","nodeType":"ElementaryTypeName","src":"20968:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73811,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73805,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73793,"src":"21003:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21019:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73807,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73764,"src":"21025:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21019:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21003:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73803,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"20993:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20998:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"20993:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20993:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20968:65:111"},{"assignments":[73813],"declarations":[{"constant":false,"id":73813,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21051:16:111","nodeType":"VariableDeclaration","scope":73827,"src":"21043:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73812,"name":"uint256","nodeType":"ElementaryTypeName","src":"21043:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73824,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73816,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73756,"src":"21113:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73819,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21130:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21122:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73817,"name":"address","nodeType":"ElementaryTypeName","src":"21122:7:111","typeDescriptions":{}}},"id":73820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21122:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73814,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"21070:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21088:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"21070:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73822,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73802,"src":"21139:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21070:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21043:110:111"},{"expression":{"id":73825,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73813,"src":"21170:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73762,"id":73826,"nodeType":"Return","src":"21163:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20391:22:111","parameters":{"id":73759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73756,"mutability":"mutable","name":"_member","nameLocation":"20422:7:111","nodeType":"VariableDeclaration","scope":73828,"src":"20414:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73755,"name":"address","nodeType":"ElementaryTypeName","src":"20414:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73758,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20439:16:111","nodeType":"VariableDeclaration","scope":73828,"src":"20431:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73757,"name":"uint256","nodeType":"ElementaryTypeName","src":"20431:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20413:43:111"},"returnParameters":{"id":73762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73828,"src":"20480:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73760,"name":"uint256","nodeType":"ElementaryTypeName","src":"20480:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20479:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73837,"nodeType":"FunctionDefinition","src":"21199:99:111","nodes":[],"body":{"id":73836,"nodeType":"Block","src":"21253:45:111","nodes":[],"statements":[{"expression":{"expression":{"id":73833,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"21270:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21282:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"21270:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73832,"id":73835,"nodeType":"Return","src":"21263:28:111"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21208:12:111","parameters":{"id":73829,"nodeType":"ParameterList","parameters":[],"src":"21220:2:111"},"returnParameters":{"id":73832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73837,"src":"21244:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73830,"name":"uint256","nodeType":"ElementaryTypeName","src":"21244:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21243:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73846,"nodeType":"FunctionDefinition","src":"21304:110:111","nodes":[],"body":{"id":73845,"nodeType":"Block","src":"21379:35:111","nodes":[],"statements":[{"expression":{"id":73843,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"21396:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":73842,"id":73844,"nodeType":"Return","src":"21389:18:111"}]},"baseFunctions":[72440],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21313:14:111","parameters":{"id":73838,"nodeType":"ParameterList","parameters":[],"src":"21327:2:111"},"returnParameters":{"id":73842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73846,"src":"21351:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":73840,"nodeType":"UserDefinedTypeName","pathNode":{"id":73839,"name":"StrategyStruct.PointSystem","nameLocations":["21351:14:111","21366:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"21351:26:111"},"referencedDeclaration":72450,"src":"21351:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21350:28:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73857,"nodeType":"FunctionDefinition","src":"21533:226:111","nodes":[],"body":{"id":73856,"nodeType":"Block","src":"21611:148:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73853,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72583,"src":"21676:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21676:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73855,"nodeType":"RevertStatement","src":"21669:23:111"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"21542:15:111","parameters":{"id":73851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73850,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73857,"src":"21558:39:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73848,"nodeType":"UserDefinedTypeName","pathNode":{"id":73847,"name":"StrategyStruct.ProposalSupport","nameLocations":["21558:14:111","21573:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"21558:30:111"},"referencedDeclaration":72516,"src":"21558:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73849,"nodeType":"ArrayTypeName","src":"21558:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"21557:41:111"},"returnParameters":{"id":73852,"nodeType":"ParameterList","parameters":[],"src":"21611:0:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":73922,"nodeType":"FunctionDefinition","src":"21905:650:111","nodes":[],"body":{"id":73921,"nodeType":"Block","src":"21979:576:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":73866,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22009:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73865,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73042,"src":"21989:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":73867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21989:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73868,"nodeType":"ExpressionStatement","src":"21989:28:111"},{"condition":{"id":73872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22031:27:111","subExpression":{"arguments":[{"id":73870,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22050:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73869,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"22032:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22032:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73877,"nodeType":"IfStatement","src":"22027:90:111","trueBody":{"id":73876,"nodeType":"Block","src":"22060:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73873,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"22081:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22081:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73875,"nodeType":"RevertStatement","src":"22074:32:111"}]}},{"assignments":[73879],"declarations":[{"constant":false,"id":73879,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22177:23:111","nodeType":"VariableDeclaration","scope":73921,"src":"22172:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73878,"name":"bool","nodeType":"ElementaryTypeName","src":"22172:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73888,"initialValue":{"arguments":[{"id":73882,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22249:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73885,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22266:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22258:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73883,"name":"address","nodeType":"ElementaryTypeName","src":"22258:7:111","typeDescriptions":{}}},"id":73886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22258:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73880,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"22203:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22221:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77148,"src":"22203:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22203:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22172:100:111"},{"condition":{"id":73890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22286:24:111","subExpression":{"id":73889,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73879,"src":"22287:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73895,"nodeType":"IfStatement","src":"22282:78:111","trueBody":{"id":73894,"nodeType":"Block","src":"22312:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73891,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72579,"src":"22333:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22333:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73893,"nodeType":"RevertStatement","src":"22326:23:111"}]}},{"assignments":[73901],"declarations":[{"constant":false,"id":73901,"mutability":"mutable","name":"pv","nameLocation":"22409:2:111","nodeType":"VariableDeclaration","scope":73921,"src":"22369:42:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73899,"nodeType":"UserDefinedTypeName","pathNode":{"id":73898,"name":"StrategyStruct.ProposalSupport","nameLocations":["22369:14:111","22384:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"22369:30:111"},"referencedDeclaration":72516,"src":"22369:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73900,"nodeType":"ArrayTypeName","src":"22369:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":73910,"initialValue":{"arguments":[{"id":73904,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73859,"src":"22425:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":73905,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"22433:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22448:15:111","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":72516,"src":"22433:30:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$72516_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":73907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22433:32:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":73908,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22432:34:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":73902,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22414:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22418:6:111","memberName":"decode","nodeType":"MemberAccess","src":"22414:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22414:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22369:98:111"},{"expression":{"arguments":[{"id":73912,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22502:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73913,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73901,"src":"22511:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73911,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74634,"src":"22477:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22477:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73915,"nodeType":"ExpressionStatement","src":"22477:37:111"},{"expression":{"arguments":[{"id":73917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22536:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73918,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73901,"src":"22545:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73916,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74921,"src":"22524:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22524:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73920,"nodeType":"ExpressionStatement","src":"22524:24:111"}]},"baseFunctions":[72268],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"21914:9:111","overrides":{"id":73863,"nodeType":"OverrideSpecifier","overrides":[],"src":"21970:8:111"},"parameters":{"id":73862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73859,"mutability":"mutable","name":"_data","nameLocation":"21937:5:111","nodeType":"VariableDeclaration","scope":73922,"src":"21924:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73858,"name":"bytes","nodeType":"ElementaryTypeName","src":"21924:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73861,"mutability":"mutable","name":"_sender","nameLocation":"21952:7:111","nodeType":"VariableDeclaration","scope":73922,"src":"21944:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73860,"name":"address","nodeType":"ElementaryTypeName","src":"21944:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21923:37:111"},"returnParameters":{"id":73864,"nodeType":"ParameterList","parameters":[],"src":"21979:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74089,"nodeType":"FunctionDefinition","src":"22811:1879:111","nodes":[],"body":{"id":74088,"nodeType":"Block","src":"22897:1793:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73933,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73927,"src":"22956:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22962:6:111","memberName":"length","nodeType":"MemberAccess","src":"22956:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":73935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22972:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22956:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73941,"nodeType":"IfStatement","src":"22952:76:111","trueBody":{"id":73940,"nodeType":"Block","src":"22975:53:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73937,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72615,"src":"22996:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22996:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73939,"nodeType":"RevertStatement","src":"22989:28:111"}]}},{"assignments":[73943],"declarations":[{"constant":false,"id":73943,"mutability":"mutable","name":"proposalId","nameLocation":"23046:10:111","nodeType":"VariableDeclaration","scope":74088,"src":"23038:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73942,"name":"uint256","nodeType":"ElementaryTypeName","src":"23038:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73951,"initialValue":{"arguments":[{"id":73946,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73927,"src":"23070:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":73948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23078:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73947,"name":"uint256","nodeType":"ElementaryTypeName","src":"23078:7:111","typeDescriptions":{}}}],"id":73949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23077:9:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":73944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23059:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23063:6:111","memberName":"decode","nodeType":"MemberAccess","src":"23059:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23059:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23038:49:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23102:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23116:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23102:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73959,"nodeType":"IfStatement","src":"23098:77:111","trueBody":{"id":73958,"nodeType":"Block","src":"23119:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73955,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72617,"src":"23140:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23140:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73957,"nodeType":"RevertStatement","src":"23133:31:111"}]}},{"assignments":[73964],"declarations":[{"constant":false,"id":73964,"mutability":"mutable","name":"proposal","nameLocation":"23216:8:111","nodeType":"VariableDeclaration","scope":74088,"src":"23184:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73963,"nodeType":"UserDefinedTypeName","pathNode":{"id":73962,"name":"StrategyStruct.Proposal","nameLocations":["23184:14:111","23199:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"23184:23:111"},"referencedDeclaration":72511,"src":"23184:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73968,"initialValue":{"baseExpression":{"id":73965,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"23227:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73967,"indexExpression":{"id":73966,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23237:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23227:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23184:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"id":73973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73969,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72816,"src":"23263:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73970,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"23279:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23294:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"23279:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72445_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23307:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72443,"src":"23279:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"23263:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74087,"nodeType":"IfStatement","src":"23259:1365:111","trueBody":{"id":74086,"nodeType":"Block","src":"23316:1308:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73974,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23334:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23343:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"23334:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":73976,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23357:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23334:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73983,"nodeType":"IfStatement","src":"23330:108:111","trueBody":{"id":73982,"nodeType":"Block","src":"23369:69:111","statements":[{"errorCall":{"arguments":[{"id":73979,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23412:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73978,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"23394:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":73980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23394:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73981,"nodeType":"RevertStatement","src":"23387:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73984,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23456:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23465:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23456:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":73986,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"23483:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23456:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73996,"nodeType":"IfStatement","src":"23452:152:111","trueBody":{"id":73995,"nodeType":"Block","src":"23495:109:111","statements":[{"errorCall":{"arguments":[{"id":73989,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23540:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73990,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23552:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23561:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23552:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73992,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"23578:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73988,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72643,"src":"23520:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":73993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23520:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73994,"nodeType":"RevertStatement","src":"23513:76:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"id":74002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73997,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23622:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73998,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23631:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"23622:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":73999,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"23649:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":74000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23664:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"23649:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":74001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23679:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"23649:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"23622:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74008,"nodeType":"IfStatement","src":"23618:138:111","trueBody":{"id":74007,"nodeType":"Block","src":"23687:69:111","statements":[{"errorCall":{"arguments":[{"id":74004,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23730:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74003,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72621,"src":"23712:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":74005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23712:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74006,"nodeType":"RevertStatement","src":"23705:36:111"}]}},{"assignments":[74010],"declarations":[{"constant":false,"id":74010,"mutability":"mutable","name":"convictionLast","nameLocation":"23778:14:111","nodeType":"VariableDeclaration","scope":74086,"src":"23770:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74009,"name":"uint256","nodeType":"ElementaryTypeName","src":"23770:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74014,"initialValue":{"arguments":[{"id":74012,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23820:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74011,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75450,"src":"23795:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":74013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23795:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23770:61:111"},{"assignments":[74016],"declarations":[{"constant":false,"id":74016,"mutability":"mutable","name":"threshold","nameLocation":"23853:9:111","nodeType":"VariableDeclaration","scope":74086,"src":"23845:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74015,"name":"uint256","nodeType":"ElementaryTypeName","src":"23845:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74021,"initialValue":{"arguments":[{"expression":{"id":74018,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23884:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23893:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23884:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74017,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75107,"src":"23865:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23865:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23845:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74022,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74010,"src":"23928:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":74023,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74016,"src":"23945:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23928:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74025,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23958:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23967:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23958:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23985:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23958:28:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23928:58:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74034,"nodeType":"IfStatement","src":"23924:137:111","trueBody":{"id":74033,"nodeType":"Block","src":"23988:73:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74030,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72633,"src":"24013:31:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24013:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74032,"nodeType":"RevertStatement","src":"24006:40:111"}]}},{"assignments":[74039],"declarations":[{"constant":false,"id":74039,"mutability":"mutable","name":"pool","nameLocation":"24093:4:111","nodeType":"VariableDeclaration","scope":74086,"src":"24075:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":74038,"nodeType":"UserDefinedTypeName","pathNode":{"id":74037,"name":"IAllo.Pool","nameLocations":["24075:5:111","24081:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24075:10:111"},"referencedDeclaration":2319,"src":"24075:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":74044,"initialValue":{"arguments":[{"id":74042,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71792,"src":"24113:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74040,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71786,"src":"24100:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":74041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24105:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24100:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":74043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24100:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24075:45:111"},{"expression":{"id":74048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74045,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"24135:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":74046,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24149:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24158:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"24149:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24135:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74049,"nodeType":"ExpressionStatement","src":"24135:38:111"},{"expression":{"arguments":[{"expression":{"id":74051,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74039,"src":"24211:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":74052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24216:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24211:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74053,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24223:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24232:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"24223:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74055,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24245:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24254:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"24245:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74050,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24195:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":74057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24195:75:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74058,"nodeType":"ExpressionStatement","src":"24195:75:111"},{"expression":{"id":74065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74059,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24301:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24310:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"24301:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":74062,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"24327:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":74063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24342:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"24327:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":74064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24357:8:111","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":72467,"src":"24327:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24301:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":74066,"nodeType":"ExpressionStatement","src":"24301:64:111"},{"expression":{"arguments":[{"id":74070,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"24431:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74071,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24443:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24452:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"24443:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":74073,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24463:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24472:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"24463:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":74075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24484:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"24463:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74067,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"24379:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":74069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24395:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"24379:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":74076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24379:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74077,"nodeType":"ExpressionStatement","src":"24379:143:111"},{"eventCall":{"arguments":[{"id":74079,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"24554:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74080,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24566:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74081,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24575:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"24566:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74082,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24588:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74083,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24597:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"24588:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74078,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[72686,2858],"referencedDeclaration":72686,"src":"24542:11:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":74084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24542:71:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74085,"nodeType":"EmitStatement","src":"24537:76:111"}]}}]},"baseFunctions":[72279],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"22820:11:111","overrides":{"id":73931,"nodeType":"OverrideSpecifier","overrides":[],"src":"22888:8:111"},"parameters":{"id":73930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74089,"src":"22832:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73923,"name":"address","nodeType":"ElementaryTypeName","src":"22832:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73924,"nodeType":"ArrayTypeName","src":"22832:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":73927,"mutability":"mutable","name":"_data","nameLocation":"22863:5:111","nodeType":"VariableDeclaration","scope":74089,"src":"22850:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73926,"name":"bytes","nodeType":"ElementaryTypeName","src":"22850:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74089,"src":"22870:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73928,"name":"address","nodeType":"ElementaryTypeName","src":"22870:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22831:47:111"},"returnParameters":{"id":73932,"nodeType":"ParameterList","parameters":[],"src":"22897:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74143,"nodeType":"FunctionDefinition","src":"24696:735:111","nodes":[],"body":{"id":74142,"nodeType":"Block","src":"24785:646:111","nodes":[],"statements":[{"assignments":[74100],"declarations":[{"constant":false,"id":74100,"mutability":"mutable","name":"proposal","nameLocation":"24827:8:111","nodeType":"VariableDeclaration","scope":74142,"src":"24795:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74099,"nodeType":"UserDefinedTypeName","pathNode":{"id":74098,"name":"StrategyStruct.Proposal","nameLocations":["24795:14:111","24810:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"24795:23:111"},"referencedDeclaration":72511,"src":"24795:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74104,"initialValue":{"baseExpression":{"id":74101,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"24838:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74103,"indexExpression":{"id":74102,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74091,"src":"24848:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24838:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24795:64:111"},{"assignments":[74106,74108],"declarations":[{"constant":false,"id":74106,"mutability":"mutable","name":"convictionLast","nameLocation":"24953:14:111","nodeType":"VariableDeclaration","scope":74142,"src":"24945:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74105,"name":"uint256","nodeType":"ElementaryTypeName","src":"24945:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74108,"mutability":"mutable","name":"blockNumber","nameLocation":"24977:11:111","nodeType":"VariableDeclaration","scope":74142,"src":"24969:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74107,"name":"uint256","nodeType":"ElementaryTypeName","src":"24969:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74114,"initialValue":{"arguments":[{"id":74110,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25038:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":74111,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25048:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25057:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"25048:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74109,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75303,"src":"25004:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":74113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25004:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24944:126:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74115,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74106,"src":"25085:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25103:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25085:19:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74118,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74108,"src":"25108:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25123:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25108:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25085:39:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74128,"nodeType":"IfStatement","src":"25081:110:111","trueBody":{"id":74127,"nodeType":"Block","src":"25126:65:111","statements":[{"expression":{"id":74125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74122,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74106,"src":"25140:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74123,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25157:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25166:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"25157:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25140:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74126,"nodeType":"ExpressionStatement","src":"25140:40:111"}]}},{"assignments":[74130],"declarations":[{"constant":false,"id":74130,"mutability":"mutable","name":"threshold","nameLocation":"25208:9:111","nodeType":"VariableDeclaration","scope":74142,"src":"25200:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74129,"name":"uint256","nodeType":"ElementaryTypeName","src":"25200:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74135,"initialValue":{"arguments":[{"expression":{"id":74132,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25239:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25248:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"25239:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74131,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75107,"src":"25220:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25220:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25200:64:111"},{"expression":{"id":74140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74136,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74094,"src":"25381:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74137,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74106,"src":"25397:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":74138,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74130,"src":"25415:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25397:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25381:43:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74141,"nodeType":"ExpressionStatement","src":"25381:43:111"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"24705:18:111","parameters":{"id":74092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74091,"mutability":"mutable","name":"proposalId","nameLocation":"24732:10:111","nodeType":"VariableDeclaration","scope":74143,"src":"24724:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74090,"name":"uint256","nodeType":"ElementaryTypeName","src":"24724:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24723:20:111"},"returnParameters":{"id":74095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74094,"mutability":"mutable","name":"canBeExecuted","nameLocation":"24770:13:111","nodeType":"VariableDeclaration","scope":74143,"src":"24765:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74093,"name":"bool","nodeType":"ElementaryTypeName","src":"24765:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24764:20:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74165,"nodeType":"FunctionDefinition","src":"25721:220:111","nodes":[],"body":{"id":74164,"nodeType":"Block","src":"25812:129:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74152,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74145,"src":"25872:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25896:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25888:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74153,"name":"address","nodeType":"ElementaryTypeName","src":"25888:7:111","typeDescriptions":{}}},"id":74156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25888:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25872:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":74160,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25919:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25926:8:111","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"25919:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":74162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25872:62:111","trueExpression":{"expression":{"id":74158,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25901:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25908:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"25901:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":74151,"id":74163,"nodeType":"Return","src":"25865:69:111"}]},"baseFunctions":[72299],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"25730:19:111","overrides":{"id":74147,"nodeType":"OverrideSpecifier","overrides":[],"src":"25786:8:111"},"parameters":{"id":74146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74145,"mutability":"mutable","name":"_recipientId","nameLocation":"25758:12:111","nodeType":"VariableDeclaration","scope":74165,"src":"25750:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74144,"name":"address","nodeType":"ElementaryTypeName","src":"25750:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25749:22:111"},"returnParameters":{"id":74151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74165,"src":"25804:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":74149,"nodeType":"UserDefinedTypeName","pathNode":{"id":74148,"name":"Status","nameLocations":["25804:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"25804:6:111"},"referencedDeclaration":2815,"src":"25804:6:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"25803:8:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74184,"nodeType":"FunctionDefinition","src":"26070:288:111","nodes":[],"body":{"id":74183,"nodeType":"Block","src":"26180:178:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74180,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72583,"src":"26240:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26240:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74182,"nodeType":"RevertStatement","src":"26233:23:111"}]},"baseFunctions":[72138],"documentation":{"id":74166,"nodeType":"StructuredDocumentation","src":"25947:118:111","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26079:10:111","overrides":{"id":74174,"nodeType":"OverrideSpecifier","overrides":[],"src":"26138:8:111"},"parameters":{"id":74173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74184,"src":"26090:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74167,"name":"address","nodeType":"ElementaryTypeName","src":"26090:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74168,"nodeType":"ArrayTypeName","src":"26090:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74172,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74184,"src":"26108:14:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":74170,"name":"bytes","nodeType":"ElementaryTypeName","src":"26108:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":74171,"nodeType":"ArrayTypeName","src":"26108:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26089:34:111"},"returnParameters":{"id":74179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74178,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74184,"src":"26156:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":74176,"nodeType":"UserDefinedTypeName","pathNode":{"id":74175,"name":"PayoutSummary","nameLocations":["26156:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26156:13:111"},"referencedDeclaration":2820,"src":"26156:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":74177,"nodeType":"ArrayTypeName","src":"26156:15:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26155:24:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":74203,"nodeType":"FunctionDefinition","src":"26364:264:111","nodes":[],"body":{"id":74202,"nodeType":"Block","src":"26516:112:111","nodes":[],"statements":[{"expression":{"id":74195,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74188,"src":"26569:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":74196,"nodeType":"ExpressionStatement","src":"26569:5:111"},{"expression":{"arguments":[{"id":74198,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74186,"src":"26605:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":74199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26619:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74197,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"26591:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":74200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26591:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":74194,"id":74201,"nodeType":"Return","src":"26584:37:111"}]},"baseFunctions":[72290],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26373:10:111","overrides":{"id":74190,"nodeType":"OverrideSpecifier","overrides":[],"src":"26464:8:111"},"parameters":{"id":74189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74186,"mutability":"mutable","name":"_recipientId","nameLocation":"26392:12:111","nodeType":"VariableDeclaration","scope":74203,"src":"26384:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74185,"name":"address","nodeType":"ElementaryTypeName","src":"26384:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74188,"mutability":"mutable","name":"_data","nameLocation":"26419:5:111","nodeType":"VariableDeclaration","scope":74203,"src":"26406:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74187,"name":"bytes","nodeType":"ElementaryTypeName","src":"26406:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26383:42:111"},"returnParameters":{"id":74194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74203,"src":"26490:20:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":74192,"nodeType":"UserDefinedTypeName","pathNode":{"id":74191,"name":"PayoutSummary","nameLocations":["26490:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26490:13:111"},"referencedDeclaration":2820,"src":"26490:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"26489:22:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74214,"nodeType":"FunctionDefinition","src":"26634:127:111","nodes":[],"body":{"id":74213,"nodeType":"Block","src":"26711:50:111","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":74210,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74205,"src":"26746:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74209,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72696,"src":"26726:19:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":74211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26726:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74212,"nodeType":"EmitStatement","src":"26721:33:111"}]},"baseFunctions":[72313],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"26643:24:111","overrides":{"id":74207,"nodeType":"OverrideSpecifier","overrides":[],"src":"26702:8:111"},"parameters":{"id":74206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74205,"mutability":"mutable","name":"_amount","nameLocation":"26676:7:111","nodeType":"VariableDeclaration","scope":74214,"src":"26668:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74204,"name":"uint256","nodeType":"ElementaryTypeName","src":"26668:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26667:17:111"},"returnParameters":{"id":74208,"nodeType":"ParameterList","parameters":[],"src":"26711:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":74233,"nodeType":"FunctionDefinition","src":"26856:191:111","nodes":[],"body":{"id":74232,"nodeType":"Block","src":"26941:106:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74222,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74216,"src":"27001:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27023:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27015:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74223,"name":"address","nodeType":"ElementaryTypeName","src":"27015:7:111","typeDescriptions":{}}},"id":74226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27015:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27001:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":74229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27036:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":74230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"27001:39:111","trueExpression":{"hexValue":"66616c7365","id":74228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27028:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74221,"id":74231,"nodeType":"Return","src":"26994:46:111"}]},"baseFunctions":[72250],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"26865:17:111","overrides":{"id":74218,"nodeType":"OverrideSpecifier","overrides":[],"src":"26917:8:111"},"parameters":{"id":74217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74216,"mutability":"mutable","name":"_allocator","nameLocation":"26891:10:111","nodeType":"VariableDeclaration","scope":74233,"src":"26883:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74215,"name":"address","nodeType":"ElementaryTypeName","src":"26883:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26882:20:111"},"returnParameters":{"id":74221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74233,"src":"26935:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74219,"name":"bool","nodeType":"ElementaryTypeName","src":"26935:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26934:6:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74243,"nodeType":"FunctionDefinition","src":"27053:86:111","nodes":[],"body":{"id":74242,"nodeType":"Block","src":"27099:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74239,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74235,"src":"27124:7:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74238,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72233,"src":"27109:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":74240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27109:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74241,"nodeType":"ExpressionStatement","src":"27109:23:111"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27062:13:111","parameters":{"id":74236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74235,"mutability":"mutable","name":"_active","nameLocation":"27081:7:111","nodeType":"VariableDeclaration","scope":74243,"src":"27076:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74234,"name":"bool","nodeType":"ElementaryTypeName","src":"27076:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27075:14:111"},"returnParameters":{"id":74237,"nodeType":"ParameterList","parameters":[],"src":"27099:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74331,"nodeType":"FunctionDefinition","src":"27145:836:111","nodes":[],"body":{"id":74330,"nodeType":"Block","src":"27189:792:111","nodes":[],"statements":[{"assignments":[74252],"declarations":[{"constant":false,"id":74252,"mutability":"mutable","name":"proposalsIds","nameLocation":"27264:12:111","nodeType":"VariableDeclaration","scope":74330,"src":"27247:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74250,"name":"uint256","nodeType":"ElementaryTypeName","src":"27247:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74251,"nodeType":"ArrayTypeName","src":"27247:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74256,"initialValue":{"baseExpression":{"id":74253,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"27279:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74255,"indexExpression":{"id":74254,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27300:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27279:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27247:61:111"},{"body":{"id":74328,"nodeType":"Block","src":"27368:607:111","statements":[{"assignments":[74269],"declarations":[{"constant":false,"id":74269,"mutability":"mutable","name":"proposalId","nameLocation":"27390:10:111","nodeType":"VariableDeclaration","scope":74328,"src":"27382:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74268,"name":"uint256","nodeType":"ElementaryTypeName","src":"27382:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74273,"initialValue":{"baseExpression":{"id":74270,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"27403:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74272,"indexExpression":{"id":74271,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74258,"src":"27416:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27403:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27382:36:111"},{"assignments":[74278],"declarations":[{"constant":false,"id":74278,"mutability":"mutable","name":"proposal","nameLocation":"27464:8:111","nodeType":"VariableDeclaration","scope":74328,"src":"27432:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74277,"nodeType":"UserDefinedTypeName","pathNode":{"id":74276,"name":"StrategyStruct.Proposal","nameLocations":["27432:14:111","27447:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"27432:23:111"},"referencedDeclaration":72511,"src":"27432:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74282,"initialValue":{"baseExpression":{"id":74279,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"27475:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74281,"indexExpression":{"id":74280,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74269,"src":"27485:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27475:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27432:64:111"},{"condition":{"arguments":[{"id":74284,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74269,"src":"27529:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74283,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74519,"src":"27514:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27514:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74327,"nodeType":"IfStatement","src":"27510:455:111","trueBody":{"id":74326,"nodeType":"Block","src":"27542:423:111","statements":[{"assignments":[74287],"declarations":[{"constant":false,"id":74287,"mutability":"mutable","name":"stakedPoints","nameLocation":"27568:12:111","nodeType":"VariableDeclaration","scope":74326,"src":"27560:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74286,"name":"uint256","nodeType":"ElementaryTypeName","src":"27560:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74292,"initialValue":{"baseExpression":{"expression":{"id":74288,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27583:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27592:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"27583:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74291,"indexExpression":{"id":74290,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27610:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27583:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27560:58:111"},{"expression":{"id":74299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74293,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27636:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27645:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"27636:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74297,"indexExpression":{"id":74295,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27663:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27636:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":74298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27674:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27636:39:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74300,"nodeType":"ExpressionStatement","src":"27636:39:111"},{"expression":{"id":74305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74301,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27693:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"27702:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"27693:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74304,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74287,"src":"27718:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27693:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74306,"nodeType":"ExpressionStatement","src":"27693:37:111"},{"expression":{"id":74309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74307,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72808,"src":"27748:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74308,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74287,"src":"27763:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27748:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74310,"nodeType":"ExpressionStatement","src":"27748:27:111"},{"expression":{"arguments":[{"id":74312,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27820:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74313,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74287,"src":"27830:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74311,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"27793:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27793:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74315,"nodeType":"ExpressionStatement","src":"27793:50:111"},{"eventCall":{"arguments":[{"id":74317,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27879:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74318,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74269,"src":"27888:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":74319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27900:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":74320,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27903:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27912:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"27903:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74322,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27926:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27935:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"27926:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74316,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72728,"src":"27866:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27866:84:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74325,"nodeType":"EmitStatement","src":"27861:89:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74261,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74258,"src":"27338:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74262,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"27342:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27355:6:111","memberName":"length","nodeType":"MemberAccess","src":"27342:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27338:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74329,"initializationExpression":{"assignments":[74258],"declarations":[{"constant":false,"id":74258,"mutability":"mutable","name":"i","nameLocation":"27331:1:111","nodeType":"VariableDeclaration","scope":74329,"src":"27323:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74257,"name":"uint256","nodeType":"ElementaryTypeName","src":"27323:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74260,"initialValue":{"hexValue":"30","id":74259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27335:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27323:13:111"},"loopExpression":{"expression":{"id":74266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27363:3:111","subExpression":{"id":74265,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74258,"src":"27363:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74267,"nodeType":"ExpressionStatement","src":"27363:3:111"},"nodeType":"ForStatement","src":"27318:657:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27154:8:111","parameters":{"id":74246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74245,"mutability":"mutable","name":"_member","nameLocation":"27171:7:111","nodeType":"VariableDeclaration","scope":74331,"src":"27163:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74244,"name":"address","nodeType":"ElementaryTypeName","src":"27163:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27162:17:111"},"returnParameters":{"id":74247,"nodeType":"ParameterList","parameters":[],"src":"27189:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74405,"nodeType":"FunctionDefinition","src":"28543:1038:111","nodes":[],"body":{"id":74404,"nodeType":"Block","src":"29012:569:111","nodes":[],"statements":[{"assignments":[74362],"declarations":[{"constant":false,"id":74362,"mutability":"mutable","name":"proposal","nameLocation":"29054:8:111","nodeType":"VariableDeclaration","scope":74404,"src":"29022:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74361,"nodeType":"UserDefinedTypeName","pathNode":{"id":74360,"name":"StrategyStruct.Proposal","nameLocations":["29022:14:111","29037:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"29022:23:111"},"referencedDeclaration":72511,"src":"29022:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74366,"initialValue":{"baseExpression":{"id":74363,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"29065:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74365,"indexExpression":{"id":74364,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74334,"src":"29075:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29065:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29022:65:111"},{"expression":{"id":74378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74367,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74354,"src":"29098:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74368,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29110:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29119:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"29110:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29138:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29110:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":74374,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29165:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74375,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29174:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"29165:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74373,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75107,"src":"29146:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29146:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29110:80:111","trueExpression":{"hexValue":"30","id":74372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29142:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29098:92:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74379,"nodeType":"ExpressionStatement","src":"29098:92:111"},{"expression":{"components":[{"expression":{"id":74380,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29221:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29230:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"29221:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74382,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29253:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29262:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"29253:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74384,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29287:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29296:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72493,"src":"29287:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74386,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29324:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29333:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"29324:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74388,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29362:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29371:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"29362:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74390,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29397:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29406:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"29397:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":74392,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29434:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29443:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"29434:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74394,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29466:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29475:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"29466:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74396,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74354,"src":"29503:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":74397,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29526:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29535:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"29526:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74401,"indexExpression":{"expression":{"id":74399,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"29553:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29557:6:111","memberName":"sender","nodeType":"MemberAccess","src":"29553:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29526:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74402,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29207:367:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$72470_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":74357,"id":74403,"nodeType":"Return","src":"29200:374:111"}]},"documentation":{"id":74332,"nodeType":"StructuredDocumentation","src":"27987:551:111","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"28552:11:111","parameters":{"id":74335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74334,"mutability":"mutable","name":"_proposalId","nameLocation":"28572:11:111","nodeType":"VariableDeclaration","scope":74405,"src":"28564:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74333,"name":"uint256","nodeType":"ElementaryTypeName","src":"28564:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28563:21:111"},"returnParameters":{"id":74357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74337,"mutability":"mutable","name":"submitter","nameLocation":"28653:9:111","nodeType":"VariableDeclaration","scope":74405,"src":"28645:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74336,"name":"address","nodeType":"ElementaryTypeName","src":"28645:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74339,"mutability":"mutable","name":"beneficiary","nameLocation":"28684:11:111","nodeType":"VariableDeclaration","scope":74405,"src":"28676:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74338,"name":"address","nodeType":"ElementaryTypeName","src":"28676:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74341,"mutability":"mutable","name":"requestedToken","nameLocation":"28717:14:111","nodeType":"VariableDeclaration","scope":74405,"src":"28709:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74340,"name":"address","nodeType":"ElementaryTypeName","src":"28709:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74343,"mutability":"mutable","name":"requestedAmount","nameLocation":"28753:15:111","nodeType":"VariableDeclaration","scope":74405,"src":"28745:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74342,"name":"uint256","nodeType":"ElementaryTypeName","src":"28745:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74345,"mutability":"mutable","name":"stakedAmount","nameLocation":"28790:12:111","nodeType":"VariableDeclaration","scope":74405,"src":"28782:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74344,"name":"uint256","nodeType":"ElementaryTypeName","src":"28782:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74348,"mutability":"mutable","name":"proposalStatus","nameLocation":"28846:14:111","nodeType":"VariableDeclaration","scope":74405,"src":"28816:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":74347,"nodeType":"UserDefinedTypeName","pathNode":{"id":74346,"name":"StrategyStruct.ProposalStatus","nameLocations":["28816:14:111","28831:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72470,"src":"28816:29:111"},"referencedDeclaration":72470,"src":"28816:29:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":74350,"mutability":"mutable","name":"blockLast","nameLocation":"28882:9:111","nodeType":"VariableDeclaration","scope":74405,"src":"28874:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74349,"name":"uint256","nodeType":"ElementaryTypeName","src":"28874:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74352,"mutability":"mutable","name":"convictionLast","nameLocation":"28913:14:111","nodeType":"VariableDeclaration","scope":74405,"src":"28905:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74351,"name":"uint256","nodeType":"ElementaryTypeName","src":"28905:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74354,"mutability":"mutable","name":"threshold","nameLocation":"28949:9:111","nodeType":"VariableDeclaration","scope":74405,"src":"28941:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74353,"name":"uint256","nodeType":"ElementaryTypeName","src":"28941:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74356,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"28980:17:111","nodeType":"VariableDeclaration","scope":74405,"src":"28972:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74355,"name":"uint256","nodeType":"ElementaryTypeName","src":"28972:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28631:376:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74426,"nodeType":"FunctionDefinition","src":"29587:198:111","nodes":[],"body":{"id":74425,"nodeType":"Block","src":"29669:116:111","nodes":[],"statements":[{"assignments":[74417],"declarations":[{"constant":false,"id":74417,"mutability":"mutable","name":"proposal","nameLocation":"29711:8:111","nodeType":"VariableDeclaration","scope":74425,"src":"29679:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74416,"nodeType":"UserDefinedTypeName","pathNode":{"id":74415,"name":"StrategyStruct.Proposal","nameLocations":["29679:14:111","29694:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"29679:23:111"},"referencedDeclaration":72511,"src":"29679:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74421,"initialValue":{"baseExpression":{"id":74418,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"29722:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74420,"indexExpression":{"id":74419,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74407,"src":"29732:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29722:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29679:65:111"},{"expression":{"expression":{"id":74422,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74417,"src":"29761:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29770:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72505,"src":"29761:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":74412,"id":74424,"nodeType":"Return","src":"29754:24:111"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"29596:11:111","parameters":{"id":74408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74407,"mutability":"mutable","name":"_proposalId","nameLocation":"29616:11:111","nodeType":"VariableDeclaration","scope":74426,"src":"29608:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74406,"name":"uint256","nodeType":"ElementaryTypeName","src":"29608:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29607:21:111"},"returnParameters":{"id":74412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74426,"src":"29652:15:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":74410,"nodeType":"UserDefinedTypeName","pathNode":{"id":74409,"name":"Metadata","nameLocations":["29652:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"29652:8:111"},"referencedDeclaration":3098,"src":"29652:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"29651:17:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74442,"nodeType":"FunctionDefinition","src":"29986:176:111","nodes":[],"body":{"id":74441,"nodeType":"Block","src":"30086:76:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74437,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74429,"src":"30135:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74438,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74431,"src":"30148:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74436,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"30103:31:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":74439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30103:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74435,"id":74440,"nodeType":"Return","src":"30096:59:111"}]},"documentation":{"id":74427,"nodeType":"StructuredDocumentation","src":"29791:190:111","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"29995:21:111","parameters":{"id":74432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74429,"mutability":"mutable","name":"_proposalId","nameLocation":"30025:11:111","nodeType":"VariableDeclaration","scope":74442,"src":"30017:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74428,"name":"uint256","nodeType":"ElementaryTypeName","src":"30017:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74431,"mutability":"mutable","name":"_voter","nameLocation":"30046:6:111","nodeType":"VariableDeclaration","scope":74442,"src":"30038:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74430,"name":"address","nodeType":"ElementaryTypeName","src":"30038:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30016:37:111"},"returnParameters":{"id":74435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74434,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74442,"src":"30077:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74433,"name":"uint256","nodeType":"ElementaryTypeName","src":"30077:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30076:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74455,"nodeType":"FunctionDefinition","src":"30168:145:111","nodes":[],"body":{"id":74454,"nodeType":"Block","src":"30254:59:111","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":74449,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30271:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74451,"indexExpression":{"id":74450,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74444,"src":"30281:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30271:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30294:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"30271:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74448,"id":74453,"nodeType":"Return","src":"30264:42:111"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"30177:23:111","parameters":{"id":74445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74444,"mutability":"mutable","name":"_proposalId","nameLocation":"30209:11:111","nodeType":"VariableDeclaration","scope":74455,"src":"30201:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74443,"name":"uint256","nodeType":"ElementaryTypeName","src":"30201:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30200:21:111"},"returnParameters":{"id":74448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74455,"src":"30245:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74446,"name":"uint256","nodeType":"ElementaryTypeName","src":"30245:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30244:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74467,"nodeType":"FunctionDefinition","src":"30381:127:111","nodes":[],"body":{"id":74466,"nodeType":"Block","src":"30458:50:111","nodes":[],"statements":[{"expression":{"baseExpression":{"id":74462,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72843,"src":"30475:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74464,"indexExpression":{"id":74463,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74457,"src":"30494:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30475:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74461,"id":74465,"nodeType":"Return","src":"30468:33:111"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"30390:21:111","parameters":{"id":74458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74457,"mutability":"mutable","name":"_voter","nameLocation":"30420:6:111","nodeType":"VariableDeclaration","scope":74467,"src":"30412:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74456,"name":"address","nodeType":"ElementaryTypeName","src":"30412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30411:16:111"},"returnParameters":{"id":74461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74467,"src":"30449:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74459,"name":"uint256","nodeType":"ElementaryTypeName","src":"30449:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30448:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74484,"nodeType":"FunctionDefinition","src":"30514:182:111","nodes":[],"body":{"id":74483,"nodeType":"Block","src":"30624:72:111","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":74476,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30641:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74478,"indexExpression":{"id":74477,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74469,"src":"30651:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30641:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30664:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"30641:40:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74481,"indexExpression":{"id":74480,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74471,"src":"30682:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30641:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74475,"id":74482,"nodeType":"Return","src":"30634:55:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"30523:31:111","parameters":{"id":74472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74469,"mutability":"mutable","name":"_proposalId","nameLocation":"30563:11:111","nodeType":"VariableDeclaration","scope":74484,"src":"30555:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74468,"name":"uint256","nodeType":"ElementaryTypeName","src":"30555:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74471,"mutability":"mutable","name":"_voter","nameLocation":"30584:6:111","nodeType":"VariableDeclaration","scope":74484,"src":"30576:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74470,"name":"address","nodeType":"ElementaryTypeName","src":"30576:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30554:37:111"},"returnParameters":{"id":74475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74484,"src":"30615:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74473,"name":"uint256","nodeType":"ElementaryTypeName","src":"30615:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30614:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74494,"nodeType":"FunctionDefinition","src":"30702:145:111","nodes":[],"body":{"id":74493,"nodeType":"Block","src":"30766:81:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74489,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"30783:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":74490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30801:20:111","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78560,"src":"30783:38:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30783:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74488,"id":74492,"nodeType":"Return","src":"30776:47:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"30711:20:111","parameters":{"id":74485,"nodeType":"ParameterList","parameters":[],"src":"30731:2:111"},"returnParameters":{"id":74488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74494,"src":"30757:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74486,"name":"uint256","nodeType":"ElementaryTypeName","src":"30757:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30756:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74519,"nodeType":"FunctionDefinition","src":"30853:185:111","nodes":[],"body":{"id":74518,"nodeType":"Block","src":"30927:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74501,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30944:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74503,"indexExpression":{"id":74502,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74496,"src":"30954:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30944:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30967:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"30944:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30980:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30944:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74507,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30985:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74509,"indexExpression":{"id":74508,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74496,"src":"30995:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30985:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31008:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"30985:32:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":74513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31029:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31021:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74511,"name":"address","nodeType":"ElementaryTypeName","src":"31021:7:111","typeDescriptions":{}}},"id":74514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31021:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30985:46:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30944:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74500,"id":74517,"nodeType":"Return","src":"30937:94:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"30862:14:111","parameters":{"id":74497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74496,"mutability":"mutable","name":"_proposalID","nameLocation":"30885:11:111","nodeType":"VariableDeclaration","scope":74519,"src":"30877:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74495,"name":"uint256","nodeType":"ElementaryTypeName","src":"30877:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30876:21:111"},"returnParameters":{"id":74500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74519,"src":"30921:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74498,"name":"bool","nodeType":"ElementaryTypeName","src":"30921:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30920:6:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74538,"nodeType":"FunctionDefinition","src":"31044:183:111","nodes":[],"body":{"id":74537,"nodeType":"Block","src":"31139:88:111","nodes":[],"statements":[{"expression":{"id":74535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74526,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74524,"src":"31149:14:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74527,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"31166:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31175:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72535,"src":"31166:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74529,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"31186:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31166:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74531,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74521,"src":"31200:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74532,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"31219:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31200:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31166:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"31149:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74536,"nodeType":"ExpressionStatement","src":"31149:71:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"31053:15:111","parameters":{"id":74522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74521,"mutability":"mutable","name":"_requestedAmount","nameLocation":"31077:16:111","nodeType":"VariableDeclaration","scope":74538,"src":"31069:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74520,"name":"uint256","nodeType":"ElementaryTypeName","src":"31069:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31068:26:111"},"returnParameters":{"id":74525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74524,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"31123:14:111","nodeType":"VariableDeclaration","scope":74538,"src":"31118:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74523,"name":"bool","nodeType":"ElementaryTypeName","src":"31118:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31117:21:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74634,"nodeType":"FunctionDefinition","src":"31233:1548:111","nodes":[],"body":{"id":74633,"nodeType":"Block","src":"31363:1418:111","nodes":[],"statements":[{"assignments":[74548],"declarations":[{"constant":false,"id":74548,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"31380:15:111","nodeType":"VariableDeclaration","scope":74633,"src":"31373:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74547,"name":"int256","nodeType":"ElementaryTypeName","src":"31373:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74550,"initialValue":{"hexValue":"30","id":74549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31398:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31373:26:111"},{"body":{"id":74595,"nodeType":"Block","src":"31463:576:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74562,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31536:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74564,"indexExpression":{"id":74563,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31553:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31536:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74565,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31556:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72513,"src":"31536:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31570:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31536:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74570,"nodeType":"IfStatement","src":"31532:187:111","trueBody":{"id":74569,"nodeType":"Block","src":"31573:146:111","statements":[{"id":74568,"nodeType":"Continue","src":"31696:8:111"}]}},{"assignments":[74572],"declarations":[{"constant":false,"id":74572,"mutability":"mutable","name":"proposalId","nameLocation":"31740:10:111","nodeType":"VariableDeclaration","scope":74595,"src":"31732:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74571,"name":"uint256","nodeType":"ElementaryTypeName","src":"31732:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74577,"initialValue":{"expression":{"baseExpression":{"id":74573,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31753:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74575,"indexExpression":{"id":74574,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31770:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31753:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31773:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72513,"src":"31753:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31732:51:111"},{"condition":{"id":74581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31801:27:111","subExpression":{"arguments":[{"id":74579,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74572,"src":"31817:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74578,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74519,"src":"31802:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31802:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74587,"nodeType":"IfStatement","src":"31797:167:111","trueBody":{"id":74586,"nodeType":"Block","src":"31830:134:111","statements":[{"errorCall":{"arguments":[{"id":74583,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74572,"src":"31873:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74582,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"31855:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":74584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31855:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74585,"nodeType":"RevertStatement","src":"31848:36:111"}]}},{"expression":{"id":74593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74588,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74548,"src":"31977:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":74589,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31996:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74591,"indexExpression":{"id":74590,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"32013:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31996:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32016:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72515,"src":"31996:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31977:51:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":74594,"nodeType":"ExpressionStatement","src":"31977:51:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74555,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31429:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74556,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31433:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31450:6:111","memberName":"length","nodeType":"MemberAccess","src":"31433:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31429:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74596,"initializationExpression":{"assignments":[74552],"declarations":[{"constant":false,"id":74552,"mutability":"mutable","name":"i","nameLocation":"31422:1:111","nodeType":"VariableDeclaration","scope":74596,"src":"31414:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74551,"name":"uint256","nodeType":"ElementaryTypeName","src":"31414:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74554,"initialValue":{"hexValue":"30","id":74553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31426:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31414:13:111"},"loopExpression":{"expression":{"id":74560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"31458:3:111","subExpression":{"id":74559,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31458:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74561,"nodeType":"ExpressionStatement","src":"31458:3:111"},"nodeType":"ForStatement","src":"31409:630:111"},{"assignments":[74598],"declarations":[{"constant":false,"id":74598,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"32143:21:111","nodeType":"VariableDeclaration","scope":74633,"src":"32135:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74597,"name":"uint256","nodeType":"ElementaryTypeName","src":"32135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74605,"initialValue":{"arguments":[{"arguments":[{"id":74601,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"32201:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74600,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74467,"src":"32179:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":74602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32179:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74603,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74548,"src":"32211:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74599,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74956,"src":"32167:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32167:60:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32135:92:111"},{"assignments":[74607],"declarations":[{"constant":false,"id":74607,"mutability":"mutable","name":"participantBalance","nameLocation":"32317:18:111","nodeType":"VariableDeclaration","scope":74633,"src":"32309:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74606,"name":"uint256","nodeType":"ElementaryTypeName","src":"32309:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74616,"initialValue":{"arguments":[{"id":74610,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"32381:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":74613,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"32398:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":74612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32390:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74611,"name":"address","nodeType":"ElementaryTypeName","src":"32390:7:111","typeDescriptions":{}}},"id":74614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32390:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":74608,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"32338:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":74609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32356:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"32338:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":74615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32338:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32309:95:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74617,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74598,"src":"32570:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":74618,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74607,"src":"32594:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32570:42:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74626,"nodeType":"IfStatement","src":"32566:147:111","trueBody":{"id":74625,"nodeType":"Block","src":"32614:99:111","statements":[{"errorCall":{"arguments":[{"id":74621,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74598,"src":"32660:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74622,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74607,"src":"32683:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74620,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72613,"src":"32635:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32635:67:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74624,"nodeType":"RevertStatement","src":"32628:74:111"}]}},{"expression":{"id":74631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74627,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72843,"src":"32723:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74629,"indexExpression":{"id":74628,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"32742:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32723:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74630,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74598,"src":"32753:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32723:51:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74632,"nodeType":"ExpressionStatement","src":"32723:51:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"31242:24:111","parameters":{"id":74545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74540,"mutability":"mutable","name":"_sender","nameLocation":"31275:7:111","nodeType":"VariableDeclaration","scope":74634,"src":"31267:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74539,"name":"address","nodeType":"ElementaryTypeName","src":"31267:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74544,"mutability":"mutable","name":"_proposalSupport","nameLocation":"31324:16:111","nodeType":"VariableDeclaration","scope":74634,"src":"31284:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74542,"nodeType":"UserDefinedTypeName","pathNode":{"id":74541,"name":"StrategyStruct.ProposalSupport","nameLocations":["31284:14:111","31299:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"31284:30:111"},"referencedDeclaration":72516,"src":"31284:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74543,"nodeType":"ArrayTypeName","src":"31284:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"31266:75:111"},"returnParameters":{"id":74546,"nodeType":"ParameterList","parameters":[],"src":"31363:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74921,"nodeType":"FunctionDefinition","src":"32787:3479:111","nodes":[],"body":{"id":74920,"nodeType":"Block","src":"32892:3374:111","nodes":[],"statements":[{"assignments":[74647],"declarations":[{"constant":false,"id":74647,"mutability":"mutable","name":"proposalsIds","nameLocation":"32919:12:111","nodeType":"VariableDeclaration","scope":74920,"src":"32902:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74645,"name":"uint256","nodeType":"ElementaryTypeName","src":"32902:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74646,"nodeType":"ArrayTypeName","src":"32902:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74648,"nodeType":"VariableDeclarationStatement","src":"32902:29:111"},{"body":{"id":74918,"nodeType":"Block","src":"32995:3265:111","statements":[{"assignments":[74661],"declarations":[{"constant":false,"id":74661,"mutability":"mutable","name":"proposalId","nameLocation":"33017:10:111","nodeType":"VariableDeclaration","scope":74918,"src":"33009:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74660,"name":"uint256","nodeType":"ElementaryTypeName","src":"33009:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74666,"initialValue":{"expression":{"baseExpression":{"id":74662,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"33030:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74664,"indexExpression":{"id":74663,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"33047:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33030:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33050:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72513,"src":"33030:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33009:51:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74667,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33133:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33146:6:111","memberName":"length","nodeType":"MemberAccess","src":"33133:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33156:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33133:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74769,"nodeType":"Block","src":"33285:764:111","statements":[{"assignments":[74687],"declarations":[{"constant":false,"id":74687,"mutability":"mutable","name":"exist","nameLocation":"33308:5:111","nodeType":"VariableDeclaration","scope":74769,"src":"33303:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74686,"name":"bool","nodeType":"ElementaryTypeName","src":"33303:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74689,"initialValue":{"hexValue":"66616c7365","id":74688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33316:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"33303:18:111"},{"body":{"id":74717,"nodeType":"Block","src":"33389:268:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74701,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33440:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74703,"indexExpression":{"id":74702,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33453:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33440:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":74704,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33459:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33440:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74716,"nodeType":"IfStatement","src":"33436:203:111","trueBody":{"id":74715,"nodeType":"Block","src":"33471:168:111","statements":[{"expression":{"id":74708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74706,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74687,"src":"33497:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33505:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"33497:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74709,"nodeType":"ExpressionStatement","src":"33497:12:111"},{"errorCall":{"arguments":[{"id":74711,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33568:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74712,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33580:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74710,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72631,"src":"33542:25:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33542:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74714,"nodeType":"RevertStatement","src":"33535:47:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74694,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33359:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74695,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33363:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33376:6:111","memberName":"length","nodeType":"MemberAccess","src":"33363:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33359:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74718,"initializationExpression":{"assignments":[74691],"declarations":[{"constant":false,"id":74691,"mutability":"mutable","name":"j","nameLocation":"33352:1:111","nodeType":"VariableDeclaration","scope":74718,"src":"33344:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74690,"name":"uint256","nodeType":"ElementaryTypeName","src":"33344:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74693,"initialValue":{"hexValue":"30","id":74692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33356:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33344:13:111"},"loopExpression":{"expression":{"id":74699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33384:3:111","subExpression":{"id":74698,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33384:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74700,"nodeType":"ExpressionStatement","src":"33384:3:111"},"nodeType":"ForStatement","src":"33339:318:111"},{"condition":{"id":74720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33678:6:111","subExpression":{"id":74719,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74687,"src":"33679:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74768,"nodeType":"IfStatement","src":"33674:361:111","trueBody":{"id":74767,"nodeType":"Block","src":"33686:349:111","statements":[{"assignments":[74725],"declarations":[{"constant":false,"id":74725,"mutability":"mutable","name":"temp","nameLocation":"33725:4:111","nodeType":"VariableDeclaration","scope":74767,"src":"33708:21:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74723,"name":"uint256","nodeType":"ElementaryTypeName","src":"33708:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74724,"nodeType":"ArrayTypeName","src":"33708:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74734,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74729,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33746:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33759:6:111","memberName":"length","nodeType":"MemberAccess","src":"33746:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":74731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33768:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"33746:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33732:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74726,"name":"uint256","nodeType":"ElementaryTypeName","src":"33736:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74727,"nodeType":"ArrayTypeName","src":"33736:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33732:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"33708:62:111"},{"body":{"id":74754,"nodeType":"Block","src":"33842:74:111","statements":[{"expression":{"id":74752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74746,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74725,"src":"33868:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74748,"indexExpression":{"id":74747,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33873:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33868:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":74749,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33878:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74751,"indexExpression":{"id":74750,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33891:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33878:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33868:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74753,"nodeType":"ExpressionStatement","src":"33868:25:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74739,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33812:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74740,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33816:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33829:6:111","memberName":"length","nodeType":"MemberAccess","src":"33816:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33812:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74755,"initializationExpression":{"assignments":[74736],"declarations":[{"constant":false,"id":74736,"mutability":"mutable","name":"j","nameLocation":"33805:1:111","nodeType":"VariableDeclaration","scope":74755,"src":"33797:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74735,"name":"uint256","nodeType":"ElementaryTypeName","src":"33797:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74738,"initialValue":{"hexValue":"30","id":74737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33809:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33797:13:111"},"loopExpression":{"expression":{"id":74744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33837:3:111","subExpression":{"id":74743,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33837:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74745,"nodeType":"ExpressionStatement","src":"33837:3:111"},"nodeType":"ForStatement","src":"33792:124:111"},{"expression":{"id":74761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74756,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74725,"src":"33937:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74759,"indexExpression":{"expression":{"id":74757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33942:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33955:6:111","memberName":"length","nodeType":"MemberAccess","src":"33942:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33937:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74760,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33965:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33937:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74762,"nodeType":"ExpressionStatement","src":"33937:38:111"},{"expression":{"id":74765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74763,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33997:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74764,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74725,"src":"34012:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33997:19:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74766,"nodeType":"ExpressionStatement","src":"33997:19:111"}]}}]},"id":74770,"nodeType":"IfStatement","src":"33129:920:111","trueBody":{"id":74685,"nodeType":"Block","src":"33159:120:111","statements":[{"expression":{"id":74677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74671,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33177:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":74675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33206:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":74674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33192:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74672,"name":"uint256","nodeType":"ElementaryTypeName","src":"33196:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74673,"nodeType":"ArrayTypeName","src":"33196:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33192:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33177:31:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74678,"nodeType":"ExpressionStatement","src":"33177:31:111"},{"expression":{"id":74683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74679,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33226:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74681,"indexExpression":{"hexValue":"30","id":74680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33239:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33226:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74682,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33244:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33226:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74684,"nodeType":"ExpressionStatement","src":"33226:28:111"}]}},{"assignments":[74772],"declarations":[{"constant":false,"id":74772,"mutability":"mutable","name":"delta","nameLocation":"34069:5:111","nodeType":"VariableDeclaration","scope":74918,"src":"34062:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74771,"name":"int256","nodeType":"ElementaryTypeName","src":"34062:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74777,"initialValue":{"expression":{"baseExpression":{"id":74773,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"34077:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74775,"indexExpression":{"id":74774,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"34094:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34077:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34097:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72515,"src":"34077:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"34062:47:111"},{"assignments":[74782],"declarations":[{"constant":false,"id":74782,"mutability":"mutable","name":"proposal","nameLocation":"34156:8:111","nodeType":"VariableDeclaration","scope":74918,"src":"34124:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74781,"nodeType":"UserDefinedTypeName","pathNode":{"id":74780,"name":"StrategyStruct.Proposal","nameLocations":["34124:14:111","34139:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"34124:23:111"},"referencedDeclaration":72511,"src":"34124:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74786,"initialValue":{"baseExpression":{"id":74783,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"34167:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74785,"indexExpression":{"id":74784,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"34177:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34167:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"34124:64:111"},{"assignments":[74788],"declarations":[{"constant":false,"id":74788,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"34298:20:111","nodeType":"VariableDeclaration","scope":74918,"src":"34290:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74787,"name":"uint256","nodeType":"ElementaryTypeName","src":"34290:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74793,"initialValue":{"baseExpression":{"expression":{"id":74789,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"34321:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34330:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"34321:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74792,"indexExpression":{"id":74791,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"34348:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34321:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34290:66:111"},{"assignments":[74795],"declarations":[{"constant":false,"id":74795,"mutability":"mutable","name":"stakedPoints","nameLocation":"34529:12:111","nodeType":"VariableDeclaration","scope":74918,"src":"34521:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74794,"name":"uint256","nodeType":"ElementaryTypeName","src":"34521:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74800,"initialValue":{"arguments":[{"id":74797,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"34556:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74798,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74772,"src":"34578:5:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74796,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74956,"src":"34544:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34544:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34521:63:111"},{"expression":{"id":74807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74801,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"34719:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34728:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"34719:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74805,"indexExpression":{"id":74803,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"34746:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34719:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74806,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"34757:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34719:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74808,"nodeType":"ExpressionStatement","src":"34719:50:111"},{"assignments":[74810],"declarations":[{"constant":false,"id":74810,"mutability":"mutable","name":"hasProposal","nameLocation":"35008:11:111","nodeType":"VariableDeclaration","scope":74918,"src":"35003:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74809,"name":"bool","nodeType":"ElementaryTypeName","src":"35003:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74812,"initialValue":{"hexValue":"66616c7365","id":74811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35022:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35003:24:111"},{"body":{"id":74841,"nodeType":"Block","src":"35108:179:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":74826,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"35130:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74828,"indexExpression":{"id":74827,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"35151:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35130:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74830,"indexExpression":{"id":74829,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74814,"src":"35160:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35130:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":74831,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35166:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35175:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"35166:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35130:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74840,"nodeType":"IfStatement","src":"35126:147:111","trueBody":{"id":74839,"nodeType":"Block","src":"35187:86:111","statements":[{"expression":{"id":74836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74834,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74810,"src":"35209:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35223:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35209:18:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74837,"nodeType":"ExpressionStatement","src":"35209:18:111"},{"id":74838,"nodeType":"Break","src":"35249:5:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74817,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74814,"src":"35061:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":74818,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"35065:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74820,"indexExpression":{"id":74819,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"35086:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35065:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35095:6:111","memberName":"length","nodeType":"MemberAccess","src":"35065:36:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35061:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74842,"initializationExpression":{"assignments":[74814],"declarations":[{"constant":false,"id":74814,"mutability":"mutable","name":"k","nameLocation":"35054:1:111","nodeType":"VariableDeclaration","scope":74842,"src":"35046:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74813,"name":"uint256","nodeType":"ElementaryTypeName","src":"35046:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74816,"initialValue":{"hexValue":"30","id":74815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35058:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35046:13:111"},"loopExpression":{"expression":{"id":74824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35103:3:111","subExpression":{"id":74823,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74814,"src":"35103:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74825,"nodeType":"ExpressionStatement","src":"35103:3:111"},"nodeType":"ForStatement","src":"35041:246:111"},{"condition":{"id":74844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35304:12:111","subExpression":{"id":74843,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74810,"src":"35305:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74854,"nodeType":"IfStatement","src":"35300:106:111","trueBody":{"id":74853,"nodeType":"Block","src":"35318:88:111","statements":[{"expression":{"arguments":[{"expression":{"id":74849,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35371:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35380:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"35371:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":74845,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"35336:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74847,"indexExpression":{"id":74846,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"35357:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35336:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35366:4:111","memberName":"push","nodeType":"MemberAccess","src":"35336:34:111","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":74851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35336:55:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74852,"nodeType":"ExpressionStatement","src":"35336:55:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74855,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35561:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":74856,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35585:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35561:36:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74887,"nodeType":"Block","src":"35766:161:111","statements":[{"expression":{"id":74877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74873,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72808,"src":"35784:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74874,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35799:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74875,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35822:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35799:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35784:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74878,"nodeType":"ExpressionStatement","src":"35784:50:111"},{"expression":{"id":74885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35852:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35861:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"35852:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74882,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35877:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74883,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35900:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35877:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35852:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74886,"nodeType":"ExpressionStatement","src":"35852:60:111"}]},"id":74888,"nodeType":"IfStatement","src":"35557:370:111","trueBody":{"id":74872,"nodeType":"Block","src":"35599:161:111","statements":[{"expression":{"id":74862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74858,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72808,"src":"35617:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74859,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35632:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74860,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35647:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35632:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35617:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74863,"nodeType":"ExpressionStatement","src":"35617:50:111"},{"expression":{"id":74870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74864,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35685:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35694:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"35685:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74867,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35710:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74868,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35725:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35710:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35685:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74871,"nodeType":"ExpressionStatement","src":"35685:60:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74889,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35944:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74890,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35953:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"35944:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35966:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35944:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74916,"nodeType":"Block","src":"36041:209:111","statements":[{"expression":{"arguments":[{"id":74902,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"36086:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74903,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"36096:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74901,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"36059:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36059:58:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74905,"nodeType":"ExpressionStatement","src":"36059:58:111"},{"eventCall":{"arguments":[{"id":74907,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"36153:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74908,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"36162:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74909,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"36174:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74910,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"36188:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36197:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"36188:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74912,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"36211:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36220:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"36211:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74906,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72728,"src":"36140:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36140:95:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74915,"nodeType":"EmitStatement","src":"36135:100:111"}]},"id":74917,"nodeType":"IfStatement","src":"35940:310:111","trueBody":{"id":74900,"nodeType":"Block","src":"35969:66:111","statements":[{"expression":{"id":74898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74893,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35987:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35996:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"35987:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74896,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"36008:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":74897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36014:6:111","memberName":"number","nodeType":"MemberAccess","src":"36008:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35987:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74899,"nodeType":"ExpressionStatement","src":"35987:33:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"32961:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74654,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"32965:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32982:6:111","memberName":"length","nodeType":"MemberAccess","src":"32965:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32961:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74919,"initializationExpression":{"assignments":[74650],"declarations":[{"constant":false,"id":74650,"mutability":"mutable","name":"i","nameLocation":"32954:1:111","nodeType":"VariableDeclaration","scope":74919,"src":"32946:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74649,"name":"uint256","nodeType":"ElementaryTypeName","src":"32946:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74652,"initialValue":{"hexValue":"30","id":74651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32958:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32946:13:111"},"loopExpression":{"expression":{"id":74658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32990:3:111","subExpression":{"id":74657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"32990:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74659,"nodeType":"ExpressionStatement","src":"32990:3:111"},"nodeType":"ForStatement","src":"32941:3319:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"32796:11:111","parameters":{"id":74641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74636,"mutability":"mutable","name":"_sender","nameLocation":"32816:7:111","nodeType":"VariableDeclaration","scope":74921,"src":"32808:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74635,"name":"address","nodeType":"ElementaryTypeName","src":"32808:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74640,"mutability":"mutable","name":"_proposalSupport","nameLocation":"32865:16:111","nodeType":"VariableDeclaration","scope":74921,"src":"32825:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74638,"nodeType":"UserDefinedTypeName","pathNode":{"id":74637,"name":"StrategyStruct.ProposalSupport","nameLocations":["32825:14:111","32840:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"32825:30:111"},"referencedDeclaration":72516,"src":"32825:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74639,"nodeType":"ArrayTypeName","src":"32825:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"32807:75:111"},"returnParameters":{"id":74642,"nodeType":"ParameterList","parameters":[],"src":"32892:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74956,"nodeType":"FunctionDefinition","src":"36272:276:111","nodes":[],"body":{"id":74955,"nodeType":"Block","src":"36358:190:111","nodes":[],"statements":[{"assignments":[74931],"declarations":[{"constant":false,"id":74931,"mutability":"mutable","name":"result","nameLocation":"36375:6:111","nodeType":"VariableDeclaration","scope":74955,"src":"36368:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74930,"name":"int256","nodeType":"ElementaryTypeName","src":"36368:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74938,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":74934,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74923,"src":"36391:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36384:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":74932,"name":"int256","nodeType":"ElementaryTypeName","src":"36384:6:111","typeDescriptions":{}}},"id":74935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36384:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74936,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74925,"src":"36403:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"36384:25:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"36368:41:111"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74939,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"36424:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":74940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36433:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"36424:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74949,"nodeType":"IfStatement","src":"36420:90:111","trueBody":{"id":74948,"nodeType":"Block","src":"36436:74:111","statements":[{"errorCall":{"arguments":[{"id":74943,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74923,"src":"36474:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74944,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74925,"src":"36484:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":74945,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"36492:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74942,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72603,"src":"36457:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":74946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36457:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74947,"nodeType":"RevertStatement","src":"36450:49:111"}]}},{"expression":{"arguments":[{"id":74952,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"36534:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36526:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":74950,"name":"uint256","nodeType":"ElementaryTypeName","src":"36526:7:111","typeDescriptions":{}}},"id":74953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36526:15:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74929,"id":74954,"nodeType":"Return","src":"36519:22:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"36281:11:111","parameters":{"id":74926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74923,"mutability":"mutable","name":"_support","nameLocation":"36301:8:111","nodeType":"VariableDeclaration","scope":74956,"src":"36293:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74922,"name":"uint256","nodeType":"ElementaryTypeName","src":"36293:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74925,"mutability":"mutable","name":"_delta","nameLocation":"36318:6:111","nodeType":"VariableDeclaration","scope":74956,"src":"36311:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74924,"name":"int256","nodeType":"ElementaryTypeName","src":"36311:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"36292:33:111"},"returnParameters":{"id":74929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74956,"src":"36349:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74927,"name":"uint256","nodeType":"ElementaryTypeName","src":"36349:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36348:9:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75014,"nodeType":"FunctionDefinition","src":"36965:1175:111","nodes":[],"body":{"id":75013,"nodeType":"Block","src":"37112:1028:111","nodes":[],"statements":[{"assignments":[74969],"declarations":[{"constant":false,"id":74969,"mutability":"mutable","name":"t","nameLocation":"37130:1:111","nodeType":"VariableDeclaration","scope":75013,"src":"37122:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74968,"name":"uint256","nodeType":"ElementaryTypeName","src":"37122:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74971,"initialValue":{"id":74970,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74959,"src":"37134:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37122:23:111"},{"assignments":[74973],"declarations":[{"constant":false,"id":74973,"mutability":"mutable","name":"atTWO_128","nameLocation":"37468:9:111","nodeType":"VariableDeclaration","scope":75013,"src":"37460:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74972,"name":"uint256","nodeType":"ElementaryTypeName","src":"37460:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74984,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74975,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"37486:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37495:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"37486:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":74977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37504:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37486:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74979,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37485:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74980,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"37511:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37485:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74982,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74969,"src":"37514:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74974,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75207,"src":"37480:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":74983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37480:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37460:56:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74985,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74973,"src":"38012:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74986,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74961,"src":"38024:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38012:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74988,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38011:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74989,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74963,"src":"38039:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74990,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"38052:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74992,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"38057:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74993,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74973,"src":"38067:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38057:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74995,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38056:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74997,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38038:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74998,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"38082:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":74999,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"38086:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38095:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"38086:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38082:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75002,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38081:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38038:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75004,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38037:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38011:91:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75006,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38010:93:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75007,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72778,"src":"38106:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38010:103:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75009,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38009:105:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38130:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38009:124:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74967,"id":75012,"nodeType":"Return","src":"38002:131:111"}]},"documentation":{"id":74957,"nodeType":"StructuredDocumentation","src":"36554:406:111","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"36974:19:111","parameters":{"id":74964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74959,"mutability":"mutable","name":"_timePassed","nameLocation":"37002:11:111","nodeType":"VariableDeclaration","scope":75014,"src":"36994:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74958,"name":"uint256","nodeType":"ElementaryTypeName","src":"36994:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74961,"mutability":"mutable","name":"_lastConv","nameLocation":"37023:9:111","nodeType":"VariableDeclaration","scope":75014,"src":"37015:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74960,"name":"uint256","nodeType":"ElementaryTypeName","src":"37015:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74963,"mutability":"mutable","name":"_oldAmount","nameLocation":"37042:10:111","nodeType":"VariableDeclaration","scope":75014,"src":"37034:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74962,"name":"uint256","nodeType":"ElementaryTypeName","src":"37034:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36993:60:111"},"returnParameters":{"id":74967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75014,"src":"37099:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74965,"name":"uint256","nodeType":"ElementaryTypeName","src":"37099:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37098:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75107,"nodeType":"FunctionDefinition","src":"38721:1541:111","nodes":[],"body":{"id":75106,"nodeType":"Block","src":"38816:1446:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75022,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"38950:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":75023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38964:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38950:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75029,"nodeType":"IfStatement","src":"38946:66:111","trueBody":{"id":75028,"nodeType":"Block","src":"38967:45:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75025,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72581,"src":"38988:11:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38988:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75027,"nodeType":"RevertStatement","src":"38981:20:111"}]}},{"condition":{"arguments":[{"id":75031,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"39468:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75030,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"39452:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":75032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39452:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75037,"nodeType":"IfStatement","src":"39448:91:111","trueBody":{"id":75036,"nodeType":"Block","src":"39487:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75033,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72589,"src":"39508:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39508:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75035,"nodeType":"RevertStatement","src":"39501:27:111"}]}},{"assignments":[75039],"declarations":[{"constant":false,"id":75039,"mutability":"mutable","name":"denom","nameLocation":"39695:5:111","nodeType":"VariableDeclaration","scope":75106,"src":"39687:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75038,"name":"uint256","nodeType":"ElementaryTypeName","src":"39687:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75058,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75040,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"39704:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39713:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72535,"src":"39704:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":75044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":75042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39724:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":75043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39729:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39724:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39704:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75046,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39703:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75047,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39735:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39703:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75049,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"39740:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":75052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":75050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39759:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":75051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39764:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39759:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39740:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75054,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39739:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75055,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"39770:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39739:41:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39703:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39687:93:111"},{"expression":{"id":75093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75059,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"39790:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75060,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"39822:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39831:6:111","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":72537,"src":"39822:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":75062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39841:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39822:22:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75064,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39821:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75065,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39848:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39821:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75067,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39820:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75068,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75039,"src":"39855:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75069,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75039,"src":"39863:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39855:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75071,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39854:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39873:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39854:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75074,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39853:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39820:56:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75076,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39819:58:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75077,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39880:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39819:62:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75079,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39818:64:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75080,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39886:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75081,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"39890:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39899:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"39890:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39886:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39885:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39818:87:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39817:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":75087,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75215,"src":"39925:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":75088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39925:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39817:136:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39803:160:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39967:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39803:166:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39790:179:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75094,"nodeType":"ExpressionStatement","src":"39790:179:111"},{"expression":{"id":75104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75095,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"40159:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75096,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"40172:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75097,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"40185:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40194:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72541,"src":"40185:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40172:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":75101,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"40228:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40237:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72541,"src":"40228:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"40172:83:111","trueExpression":{"id":75100,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"40215:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40159:96:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75105,"nodeType":"ExpressionStatement","src":"40159:96:111"}]},"documentation":{"id":75015,"nodeType":"StructuredDocumentation","src":"38146:570:111","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"38730:18:111","parameters":{"id":75018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75017,"mutability":"mutable","name":"_requestedAmount","nameLocation":"38757:16:111","nodeType":"VariableDeclaration","scope":75107,"src":"38749:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75016,"name":"uint256","nodeType":"ElementaryTypeName","src":"38749:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38748:26:111"},"returnParameters":{"id":75021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75020,"mutability":"mutable","name":"_threshold","nameLocation":"38804:10:111","nodeType":"VariableDeclaration","scope":75107,"src":"38796:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75019,"name":"uint256","nodeType":"ElementaryTypeName","src":"38796:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38795:20:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75142,"nodeType":"FunctionDefinition","src":"40523:269:111","nodes":[],"body":{"id":75141,"nodeType":"Block","src":"40601:191:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75118,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75110,"src":"40619:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75119,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"40625:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40619:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":75121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40634:42:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":75117,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40611:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40611:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75123,"nodeType":"ExpressionStatement","src":"40611:66:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75125,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75112,"src":"40695:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75126,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"40700:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40695:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":75128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40709:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":75124,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40687:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40687:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75130,"nodeType":"ExpressionStatement","src":"40687:53:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75131,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75110,"src":"40759:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75132,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75112,"src":"40764:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40759:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75134,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40758:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75135,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72778,"src":"40770:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40758:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75137,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40757:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40782:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40757:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75116,"id":75140,"nodeType":"Return","src":"40750:35:111"}]},"documentation":{"id":75108,"nodeType":"StructuredDocumentation","src":"40268:250:111","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"40532:4:111","parameters":{"id":75113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75110,"mutability":"mutable","name":"_a","nameLocation":"40545:2:111","nodeType":"VariableDeclaration","scope":75142,"src":"40537:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75109,"name":"uint256","nodeType":"ElementaryTypeName","src":"40537:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75112,"mutability":"mutable","name":"_b","nameLocation":"40557:2:111","nodeType":"VariableDeclaration","scope":75142,"src":"40549:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75111,"name":"uint256","nodeType":"ElementaryTypeName","src":"40549:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40536:24:111"},"returnParameters":{"id":75116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75115,"mutability":"mutable","name":"_result","nameLocation":"40592:7:111","nodeType":"VariableDeclaration","scope":75142,"src":"40584:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75114,"name":"uint256","nodeType":"ElementaryTypeName","src":"40584:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40583:17:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75207,"nodeType":"FunctionDefinition","src":"41014:447:111","nodes":[],"body":{"id":75206,"nodeType":"Block","src":"41092:369:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75153,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75145,"src":"41110:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75154,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"41115:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41110:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":75156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41124:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":75152,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41102:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41102:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75158,"nodeType":"ExpressionStatement","src":"41102:53:111"},{"assignments":[75160],"declarations":[{"constant":false,"id":75160,"mutability":"mutable","name":"a","nameLocation":"41173:1:111","nodeType":"VariableDeclaration","scope":75206,"src":"41165:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75159,"name":"uint256","nodeType":"ElementaryTypeName","src":"41165:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75162,"initialValue":{"id":75161,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75145,"src":"41177:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41165:14:111"},{"assignments":[75164],"declarations":[{"constant":false,"id":75164,"mutability":"mutable","name":"b","nameLocation":"41197:1:111","nodeType":"VariableDeclaration","scope":75206,"src":"41189:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75163,"name":"uint256","nodeType":"ElementaryTypeName","src":"41189:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75166,"initialValue":{"id":75165,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"41201:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41189:14:111"},{"expression":{"id":75169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75167,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75150,"src":"41213:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75168,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"41223:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41213:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75170,"nodeType":"ExpressionStatement","src":"41213:17:111"},{"body":{"id":75204,"nodeType":"Block","src":"41254:201:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75174,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41272:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":75175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41276:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41272:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41281:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41272:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75202,"nodeType":"Block","src":"41362:83:111","statements":[{"expression":{"id":75196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75191,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75150,"src":"41380:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75193,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75150,"src":"41395:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75194,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41404:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75192,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75142,"src":"41390:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41390:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41380:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75197,"nodeType":"ExpressionStatement","src":"41380:26:111"},{"expression":{"id":75200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75198,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41424:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":75199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41429:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41424:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75201,"nodeType":"ExpressionStatement","src":"41424:6:111"}]},"id":75203,"nodeType":"IfStatement","src":"41268:177:111","trueBody":{"id":75190,"nodeType":"Block","src":"41284:72:111","statements":[{"expression":{"id":75184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75179,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41302:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75181,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41311:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75182,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41314:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75180,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75142,"src":"41306:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41306:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41302:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75185,"nodeType":"ExpressionStatement","src":"41302:14:111"},{"expression":{"id":75188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75186,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41334:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":75187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41340:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41334:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75189,"nodeType":"ExpressionStatement","src":"41334:7:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75171,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41247:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41251:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41247:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75205,"nodeType":"WhileStatement","src":"41240:215:111"}]},"documentation":{"id":75143,"nodeType":"StructuredDocumentation","src":"40798:211:111","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"41023:4:111","parameters":{"id":75148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75145,"mutability":"mutable","name":"_a","nameLocation":"41036:2:111","nodeType":"VariableDeclaration","scope":75207,"src":"41028:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75144,"name":"uint256","nodeType":"ElementaryTypeName","src":"41028:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75147,"mutability":"mutable","name":"_b","nameLocation":"41048:2:111","nodeType":"VariableDeclaration","scope":75207,"src":"41040:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75146,"name":"uint256","nodeType":"ElementaryTypeName","src":"41040:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41027:24:111"},"returnParameters":{"id":75151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75150,"mutability":"mutable","name":"_result","nameLocation":"41083:7:111","nodeType":"VariableDeclaration","scope":75207,"src":"41075:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75149,"name":"uint256","nodeType":"ElementaryTypeName","src":"41075:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41074:17:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75215,"nodeType":"FunctionDefinition","src":"41467:112:111","nodes":[],"body":{"id":75214,"nodeType":"Block","src":"41535:44:111","nodes":[],"statements":[{"expression":{"id":75212,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"41552:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75211,"id":75213,"nodeType":"Return","src":"41545:27:111"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"41476:26:111","parameters":{"id":75208,"nodeType":"ParameterList","parameters":[],"src":"41502:2:111"},"returnParameters":{"id":75211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75215,"src":"41526:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75209,"name":"uint256","nodeType":"ElementaryTypeName","src":"41526:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41525:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75256,"nodeType":"FunctionDefinition","src":"41769:396:111","nodes":[],"body":{"id":75255,"nodeType":"Block","src":"41877:288:111","nodes":[],"statements":[{"assignments":[75225,75227],"declarations":[{"constant":false,"id":75225,"mutability":"mutable","name":"conviction","nameLocation":"41896:10:111","nodeType":"VariableDeclaration","scope":75255,"src":"41888:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75224,"name":"uint256","nodeType":"ElementaryTypeName","src":"41888:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75227,"mutability":"mutable","name":"blockNumber","nameLocation":"41916:11:111","nodeType":"VariableDeclaration","scope":75255,"src":"41908:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75226,"name":"uint256","nodeType":"ElementaryTypeName","src":"41908:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75232,"initialValue":{"arguments":[{"id":75229,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75219,"src":"41965:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":75230,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75221,"src":"41976:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75228,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75303,"src":"41931:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":75231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41931:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"41887:100:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75233,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75225,"src":"42001:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42015:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42001:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75236,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"42020:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42035:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42020:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"42001:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75242,"nodeType":"IfStatement","src":"41997:72:111","trueBody":{"id":75241,"nodeType":"Block","src":"42038:31:111","statements":[{"functionReturnParameters":75223,"id":75240,"nodeType":"Return","src":"42052:7:111"}]}},{"expression":{"id":75247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75243,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75219,"src":"42078:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42088:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42078:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75246,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"42100:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42078:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75248,"nodeType":"ExpressionStatement","src":"42078:33:111"},{"expression":{"id":75253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75249,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75219,"src":"42121:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42131:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"42121:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75252,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75225,"src":"42148:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42121:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75254,"nodeType":"ExpressionStatement","src":"42121:37:111"}]},"documentation":{"id":75216,"nodeType":"StructuredDocumentation","src":"41585:179:111","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"41778:26:111","parameters":{"id":75222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75219,"mutability":"mutable","name":"_proposal","nameLocation":"41837:9:111","nodeType":"VariableDeclaration","scope":75256,"src":"41805:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75218,"nodeType":"UserDefinedTypeName","pathNode":{"id":75217,"name":"StrategyStruct.Proposal","nameLocations":["41805:14:111","41820:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"41805:23:111"},"referencedDeclaration":72511,"src":"41805:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75221,"mutability":"mutable","name":"_oldStaked","nameLocation":"41856:10:111","nodeType":"VariableDeclaration","scope":75256,"src":"41848:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75220,"name":"uint256","nodeType":"ElementaryTypeName","src":"41848:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41804:63:111"},"returnParameters":{"id":75223,"nodeType":"ParameterList","parameters":[],"src":"41877:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75303,"nodeType":"FunctionDefinition","src":"42171:719:111","nodes":[],"body":{"id":75302,"nodeType":"Block","src":"42369:521:111","nodes":[],"statements":[{"expression":{"id":75271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75268,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42379:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75269,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"42393:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42399:6:111","memberName":"number","nodeType":"MemberAccess","src":"42393:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42379:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75272,"nodeType":"ExpressionStatement","src":"42379:26:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75274,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42422:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42432:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42422:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75276,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42445:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42422:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75273,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"42415:6:111","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":75278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42415:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75279,"nodeType":"ExpressionStatement","src":"42415:42:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75280,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42471:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42481:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42471:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75282,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42494:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42471:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75289,"nodeType":"IfStatement","src":"42467:173:111","trueBody":{"id":75288,"nodeType":"Block","src":"42507:133:111","statements":[{"expression":{"components":[{"hexValue":"30","id":75284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42595:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42598:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":75286,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"42594:6:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":75267,"id":75287,"nodeType":"Return","src":"42587:13:111"}]}},{"expression":{"id":75300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75290,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75264,"src":"42693:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75292,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42739:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75293,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42753:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42763:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42753:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42739:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75296,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42825:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42835:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"42825:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75298,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"42863:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75291,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"42706:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":75299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42706:177:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42693:190:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75301,"nodeType":"ExpressionStatement","src":"42693:190:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"42180:33:111","parameters":{"id":75262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75259,"mutability":"mutable","name":"_proposal","nameLocation":"42246:9:111","nodeType":"VariableDeclaration","scope":75303,"src":"42214:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75258,"nodeType":"UserDefinedTypeName","pathNode":{"id":75257,"name":"StrategyStruct.Proposal","nameLocations":["42214:14:111","42229:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"42214:23:111"},"referencedDeclaration":72511,"src":"42214:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75261,"mutability":"mutable","name":"_oldStaked","nameLocation":"42265:10:111","nodeType":"VariableDeclaration","scope":75303,"src":"42257:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75260,"name":"uint256","nodeType":"ElementaryTypeName","src":"42257:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42213:63:111"},"returnParameters":{"id":75267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75264,"mutability":"mutable","name":"conviction","nameLocation":"42332:10:111","nodeType":"VariableDeclaration","scope":75303,"src":"42324:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75263,"name":"uint256","nodeType":"ElementaryTypeName","src":"42324:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75266,"mutability":"mutable","name":"blockNumber","nameLocation":"42352:11:111","nodeType":"VariableDeclaration","scope":75303,"src":"42344:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75265,"name":"uint256","nodeType":"ElementaryTypeName","src":"42344:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42323:41:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75414,"nodeType":"FunctionDefinition","src":"42896:1464:111","nodes":[],"body":{"id":75413,"nodeType":"Block","src":"43051:1309:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75312,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43078:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43096:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"43078:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43120:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43112:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75314,"name":"address","nodeType":"ElementaryTypeName","src":"43112:7:111","typeDescriptions":{}}},"id":75317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43112:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43078:44:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75321,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43134:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43152:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43134:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43126:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75319,"name":"address","nodeType":"ElementaryTypeName","src":"43126:7:111","typeDescriptions":{}}},"id":75323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43126:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43175:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43167:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75324,"name":"address","nodeType":"ElementaryTypeName","src":"43167:7:111","typeDescriptions":{}}},"id":75327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43167:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43126:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43078:99:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75330,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43219:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43237:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"43219:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75332,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43253:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43270:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"43253:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43219:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},"id":75339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75335,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43310:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43328:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43310:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75337,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43342:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43359:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43342:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"src":"43310:59:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:150:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75341,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43397:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43415:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"43397:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75343,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43444:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43461:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"43444:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43397:89:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:267:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75347,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43514:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43532:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"43514:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75349,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43562:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43579:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"43562:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43514:91:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:386:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75353,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43633:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43651:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"43633:31:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75355,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43668:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43685:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"43668:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43633:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:479:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75359,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43726:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43744:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72532,"src":"43726:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75361,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43768:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75362,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43785:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72532,"src":"43768:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43726:79:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:586:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":75365,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43197:626:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43078:745:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75403,"nodeType":"IfStatement","src":"43061:1200:111","trueBody":{"id":75402,"nodeType":"Block","src":"43834:427:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":75369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75367,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72803,"src":"43852:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43868:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43852:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75374,"nodeType":"IfStatement","src":"43848:110:111","trueBody":{"id":75373,"nodeType":"Block","src":"43871:87:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75370,"name":"ArbitrationConfigCannotBeChangedDuringDispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72671,"src":"43896:45:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43896:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75372,"nodeType":"RevertStatement","src":"43889:54:111"}]}},{"expression":{"arguments":[{"expression":{"id":75380,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"44014:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44032:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"44014:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":75375,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43972:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43990:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43972:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"id":75379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44001:12:111","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":79665,"src":"43972:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":75382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43972:73:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75383,"nodeType":"ExpressionStatement","src":"43972:73:111"},{"eventCall":{"arguments":[{"arguments":[{"id":75387,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"44111:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":75386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44103:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75385,"name":"address","nodeType":"ElementaryTypeName","src":"44103:7:111","typeDescriptions":{}}},"id":75388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44103:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":75391,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"44126:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44143:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"44126:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44118:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75389,"name":"address","nodeType":"ElementaryTypeName","src":"44118:7:111","typeDescriptions":{}}},"id":75393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44118:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75394,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"44156:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44173:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"44156:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":75384,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72769,"src":"44064:21:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":75396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44064:135:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75397,"nodeType":"EmitStatement","src":"44059:140:111"},{"expression":{"id":75400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75398,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"44214:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75399,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"44233:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"44214:36:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75401,"nodeType":"ExpressionStatement","src":"44214:36:111"}]}},{"expression":{"id":75406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75404,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"44271:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75405,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75309,"src":"44282:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"44271:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75407,"nodeType":"ExpressionStatement","src":"44271:20:111"},{"eventCall":{"arguments":[{"id":75409,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75309,"src":"44324:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"id":75410,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"44335:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":75408,"name":"PoolParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"44306:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$72542_memory_ptr_$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory,struct StrategyStruct.ArbitrableConfig memory)"}},"id":75411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44306:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75412,"nodeType":"EmitStatement","src":"44301:52:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"42905:14:111","parameters":{"id":75310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75306,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"42968:17:111","nodeType":"VariableDeclaration","scope":75414,"src":"42929:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75305,"nodeType":"UserDefinedTypeName","pathNode":{"id":75304,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["42929:14:111","42944:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"42929:31:111"},"referencedDeclaration":72533,"src":"42929:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75309,"mutability":"mutable","name":"_cvParams","nameLocation":"43026:9:111","nodeType":"VariableDeclaration","scope":75414,"src":"42995:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75308,"nodeType":"UserDefinedTypeName","pathNode":{"id":75307,"name":"StrategyStruct.CVParams","nameLocations":["42995:14:111","43010:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"42995:23:111"},"referencedDeclaration":72542,"src":"42995:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"42919:122:111"},"returnParameters":{"id":75311,"nodeType":"ParameterList","parameters":[],"src":"43051:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75450,"nodeType":"FunctionDefinition","src":"44366:631:111","nodes":[],"body":{"id":75449,"nodeType":"Block","src":"44445:552:111","nodes":[],"statements":[{"assignments":[75425],"declarations":[{"constant":false,"id":75425,"mutability":"mutable","name":"proposal","nameLocation":"44487:8:111","nodeType":"VariableDeclaration","scope":75449,"src":"44455:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75424,"nodeType":"UserDefinedTypeName","pathNode":{"id":75423,"name":"StrategyStruct.Proposal","nameLocations":["44455:14:111","44470:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"44455:23:111"},"referencedDeclaration":72511,"src":"44455:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75429,"initialValue":{"baseExpression":{"id":75426,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"44498:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75428,"indexExpression":{"id":75427,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75416,"src":"44508:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44498:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"44455:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44534:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44543:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"44534:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75432,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75416,"src":"44557:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44534:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75439,"nodeType":"IfStatement","src":"44530:100:111","trueBody":{"id":75438,"nodeType":"Block","src":"44569:61:111","statements":[{"errorCall":{"arguments":[{"id":75435,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75416,"src":"44608:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75434,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"44590:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44590:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75437,"nodeType":"RevertStatement","src":"44583:36:111"}]}},{"expression":{"arguments":[{"id":75441,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44918:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":75442,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44928:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44937:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"44928:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75440,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"44891:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":75444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44891:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75445,"nodeType":"ExpressionStatement","src":"44891:59:111"},{"expression":{"expression":{"id":75446,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44967:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75447,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44976:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"44967:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75420,"id":75448,"nodeType":"Return","src":"44960:30:111"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"44375:24:111","parameters":{"id":75417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75416,"mutability":"mutable","name":"proposalId","nameLocation":"44408:10:111","nodeType":"VariableDeclaration","scope":75450,"src":"44400:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75415,"name":"uint256","nodeType":"ElementaryTypeName","src":"44400:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44399:20:111"},"returnParameters":{"id":75420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75419,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75450,"src":"44436:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75418,"name":"uint256","nodeType":"ElementaryTypeName","src":"44436:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44435:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75470,"nodeType":"FunctionDefinition","src":"45003:133:111","nodes":[],"body":{"id":75469,"nodeType":"Block","src":"45075:61:111","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75457,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"45094:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75458,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"45103:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45094:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75460,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45093:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75461,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"45109:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75462,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"45113:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45122:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"45113:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45109:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75465,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45108:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45093:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75467,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45092:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75456,"id":75468,"nodeType":"Return","src":"45085:44:111"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"45012:16:111","parameters":{"id":75453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75452,"mutability":"mutable","name":"amount","nameLocation":"45037:6:111","nodeType":"VariableDeclaration","scope":75470,"src":"45029:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75451,"name":"uint256","nodeType":"ElementaryTypeName","src":"45029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45028:16:111"},"returnParameters":{"id":75456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75470,"src":"45066:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75454,"name":"uint256","nodeType":"ElementaryTypeName","src":"45066:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45065:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75490,"nodeType":"FunctionDefinition","src":"45142:223:111","nodes":[],"body":{"id":75489,"nodeType":"Block","src":"45237:128:111","nodes":[],"statements":[{"expression":{"id":75483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75479,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"45247:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75481,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75472,"src":"45289:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75480,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"45267:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78776_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":75482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45267:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"src":"45247:61:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":75484,"nodeType":"ExpressionStatement","src":"45247:61:111"},{"eventCall":{"arguments":[{"id":75486,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75472,"src":"45339:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75485,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72740,"src":"45323:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45323:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75488,"nodeType":"EmitStatement","src":"45318:40:111"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":75475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"45225:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45229:6:111","memberName":"sender","nodeType":"MemberAccess","src":"45225:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":75477,"kind":"modifierInvocation","modifierName":{"id":75474,"name":"onlyPoolManager","nameLocations":["45209:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":71837,"src":"45209:15:111"},"nodeType":"ModifierInvocation","src":"45209:27:111"}],"name":"setRegistryCommunity","nameLocation":"45151:20:111","parameters":{"id":75473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75472,"mutability":"mutable","name":"_registryCommunity","nameLocation":"45180:18:111","nodeType":"VariableDeclaration","scope":75490,"src":"45172:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75471,"name":"address","nodeType":"ElementaryTypeName","src":"45172:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45171:28:111"},"returnParameters":{"id":75478,"nodeType":"ParameterList","parameters":[],"src":"45237:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75509,"nodeType":"FunctionDefinition","src":"45371:181:111","nodes":[],"body":{"id":75508,"nodeType":"Block","src":"45426:126:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75495,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73092,"src":"45436:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45436:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75497,"nodeType":"ExpressionStatement","src":"45436:17:111"},{"expression":{"arguments":[{"id":75499,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75492,"src":"45482:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75498,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"45463:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":75500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45463:32:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75501,"nodeType":"ExpressionStatement","src":"45463:32:111"},{"expression":{"id":75506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75502,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"45505:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75504,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75492,"src":"45532:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75503,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"45519:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76330_$","typeString":"type(contract ISybilScorer)"}},"id":75505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45519:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"src":"45505:40:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"id":75507,"nodeType":"ExpressionStatement","src":"45505:40:111"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"45380:14:111","parameters":{"id":75493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75492,"mutability":"mutable","name":"_sybilScorer","nameLocation":"45403:12:111","nodeType":"VariableDeclaration","scope":75509,"src":"45395:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75491,"name":"address","nodeType":"ElementaryTypeName","src":"45395:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45394:22:111"},"returnParameters":{"id":75494,"nodeType":"ParameterList","parameters":[],"src":"45426:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75527,"nodeType":"FunctionDefinition","src":"45558:242:111","nodes":[],"body":{"id":75526,"nodeType":"Block","src":"45712:88:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75518,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73092,"src":"45722:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45722:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75520,"nodeType":"ExpressionStatement","src":"45722:17:111"},{"expression":{"arguments":[{"id":75522,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75512,"src":"45764:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":75523,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75515,"src":"45783:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":75521,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75414,"src":"45749:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$_t_struct$_CVParams_$72542_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":75524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45749:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75525,"nodeType":"ExpressionStatement","src":"45749:44:111"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"45567:13:111","parameters":{"id":75516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75512,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"45629:17:111","nodeType":"VariableDeclaration","scope":75527,"src":"45590:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75511,"nodeType":"UserDefinedTypeName","pathNode":{"id":75510,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["45590:14:111","45605:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"45590:31:111"},"referencedDeclaration":72533,"src":"45590:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75515,"mutability":"mutable","name":"_cvParams","nameLocation":"45687:9:111","nodeType":"VariableDeclaration","scope":75527,"src":"45656:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75514,"nodeType":"UserDefinedTypeName","pathNode":{"id":75513,"name":"StrategyStruct.CVParams","nameLocations":["45656:14:111","45671:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"45656:23:111"},"referencedDeclaration":72542,"src":"45656:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"45580:122:111"},"returnParameters":{"id":75517,"nodeType":"ParameterList","parameters":[],"src":"45712:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75710,"nodeType":"FunctionDefinition","src":"45806:2270:111","nodes":[],"body":{"id":75709,"nodeType":"Block","src":"45976:2100:111","nodes":[],"statements":[{"assignments":[75542],"declarations":[{"constant":false,"id":75542,"mutability":"mutable","name":"proposal","nameLocation":"46018:8:111","nodeType":"VariableDeclaration","scope":75709,"src":"45986:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75541,"nodeType":"UserDefinedTypeName","pathNode":{"id":75540,"name":"StrategyStruct.Proposal","nameLocations":["45986:14:111","46001:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"45986:23:111"},"referencedDeclaration":72511,"src":"45986:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75546,"initialValue":{"baseExpression":{"id":75543,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"46029:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75545,"indexExpression":{"id":75544,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46039:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46029:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"45986:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75549,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"46073:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46090:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"46073:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46065:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75547,"name":"address","nodeType":"ElementaryTypeName","src":"46065:7:111","typeDescriptions":{}}},"id":75551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46065:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46113:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46105:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75552,"name":"address","nodeType":"ElementaryTypeName","src":"46105:7:111","typeDescriptions":{}}},"id":75555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46105:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46065:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75561,"nodeType":"IfStatement","src":"46061:112:111","trueBody":{"id":75560,"nodeType":"Block","src":"46117:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75557,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72661,"src":"46138:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46138:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75559,"nodeType":"RevertStatement","src":"46131:31:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75562,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46350:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75563,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46359:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"46350:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75564,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46373:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46350:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75571,"nodeType":"IfStatement","src":"46346:100:111","trueBody":{"id":75570,"nodeType":"Block","src":"46385:61:111","statements":[{"errorCall":{"arguments":[{"id":75567,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46424:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75566,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"46406:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46406:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75569,"nodeType":"RevertStatement","src":"46399:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"id":75577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75572,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46459:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46468:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"46459:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75574,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"46486:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46501:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"46486:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46516:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"46486:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"46459:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75583,"nodeType":"IfStatement","src":"46455:130:111","trueBody":{"id":75582,"nodeType":"Block","src":"46524:61:111","statements":[{"errorCall":{"arguments":[{"id":75579,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46563:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75578,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72621,"src":"46545:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46545:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75581,"nodeType":"RevertStatement","src":"46538:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75584,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46598:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46602:5:111","memberName":"value","nodeType":"MemberAccess","src":"46598:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75586,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"46610:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75587,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46627:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"46610:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46598:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75597,"nodeType":"IfStatement","src":"46594:171:111","trueBody":{"id":75596,"nodeType":"Block","src":"46655:110:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":75590,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46699:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46703:5:111","memberName":"value","nodeType":"MemberAccess","src":"46699:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75592,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"46710:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46727:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"46710:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75589,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72653,"src":"46676:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46676:78:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75595,"nodeType":"RevertStatement","src":"46669:85:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75598,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46884:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46893:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"46884:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46918:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"46884:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75602,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46939:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46948:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"46939:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75604,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"46972:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46939:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75606,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"46995:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47001:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"46995:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46939:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46884:126:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75622,"nodeType":"IfStatement","src":"46867:325:111","trueBody":{"id":75621,"nodeType":"Block","src":"47021:171:111","statements":[{"errorCall":{"arguments":[{"id":75611,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47084:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75612,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47096:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47105:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"47096:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75614,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"47129:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47096:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75616,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47152:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47158:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47152:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47096:71:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75610,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72669,"src":"47042:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47042:139:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75620,"nodeType":"RevertStatement","src":"47035:146:111"}]}},{"assignments":[75624],"declarations":[{"constant":false,"id":75624,"mutability":"mutable","name":"arbitrationFee","nameLocation":"47210:14:111","nodeType":"VariableDeclaration","scope":75709,"src":"47202:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75623,"name":"uint256","nodeType":"ElementaryTypeName","src":"47202:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75630,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75625,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47227:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47231:5:111","memberName":"value","nodeType":"MemberAccess","src":"47227:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75627,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47239:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47256:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"47239:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47227:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47202:80:111"},{"expression":{"arguments":[{"id":75637,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47379:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75638,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47391:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47395:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47391:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75631,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"47293:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47309:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79678,"src":"47293:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":75636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":75634,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47334:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47351:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"47334:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47293:85:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":75640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47293:109:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75641,"nodeType":"ExpressionStatement","src":"47293:109:111"},{"expression":{"id":75651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75642,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47413:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75648,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72787,"src":"47490:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75649,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"47506:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":75643,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47425:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75644,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47442:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"47425:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"id":75645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47453:13:111","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":79613,"src":"47425:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":75646,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75624,"src":"47474:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47425:64:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47425:92:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47413:104:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75652,"nodeType":"ExpressionStatement","src":"47413:104:111"},{"expression":{"id":75659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75653,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47528:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47537:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"47528:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75656,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"47554:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47569:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"47554:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47584:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"47554:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"47528:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75660,"nodeType":"ExpressionStatement","src":"47528:64:111"},{"expression":{"id":75667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75661,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47602:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47611:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"47602:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47623:9:111","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"47602:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75666,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47635:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47602:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75668,"nodeType":"ExpressionStatement","src":"47602:42:111"},{"expression":{"id":75676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75669,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47654:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47663:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"47654:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47675:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72474,"src":"47654:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75674,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47694:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47700:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47694:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47654:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75677,"nodeType":"ExpressionStatement","src":"47654:55:111"},{"expression":{"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75678,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47719:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47728:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"47719:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47740:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"47719:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75683,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47753:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47757:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47753:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"47719:44:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75686,"nodeType":"ExpressionStatement","src":"47719:44:111"},{"expression":{"id":75691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75687,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72852,"src":"47773:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75689,"indexExpression":{"id":75688,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47795:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"47773:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75690,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47808:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47773:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75692,"nodeType":"ExpressionStatement","src":"47773:45:111"},{"expression":{"id":75694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"47829:14:111","subExpression":{"id":75693,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72803,"src":"47829:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75695,"nodeType":"ExpressionStatement","src":"47829:14:111"},{"eventCall":{"arguments":[{"expression":{"id":75697,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47889:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47906:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"47889:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},{"id":75699,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47930:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75700,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47954:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47977:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47981:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47977:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75703,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75531,"src":"48001:7:111","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":75704,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"48022:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48031:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"48022:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48043:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72474,"src":"48022:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75696,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72761,"src":"47859:16:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79666_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":75707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47859:210:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75708,"nodeType":"EmitStatement","src":"47854:215:111"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"45815:15:111","parameters":{"id":75534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75529,"mutability":"mutable","name":"proposalId","nameLocation":"45839:10:111","nodeType":"VariableDeclaration","scope":75710,"src":"45831:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75528,"name":"uint256","nodeType":"ElementaryTypeName","src":"45831:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75531,"mutability":"mutable","name":"context","nameLocation":"45867:7:111","nodeType":"VariableDeclaration","scope":75710,"src":"45851:23:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":75530,"name":"string","nodeType":"ElementaryTypeName","src":"45851:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":75533,"mutability":"mutable","name":"_extraData","nameLocation":"45891:10:111","nodeType":"VariableDeclaration","scope":75710,"src":"45876:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":75532,"name":"bytes","nodeType":"ElementaryTypeName","src":"45876:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45830:72:111"},"returnParameters":{"id":75537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75536,"mutability":"mutable","name":"disputeId","nameLocation":"45961:9:111","nodeType":"VariableDeclaration","scope":75710,"src":"45953:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75535,"name":"uint256","nodeType":"ElementaryTypeName","src":"45953:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45952:19:111"},"scope":75969,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75955,"nodeType":"FunctionDefinition","src":"48082:2798:111","nodes":[],"body":{"id":75954,"nodeType":"Block","src":"48151:2729:111","nodes":[],"statements":[{"assignments":[75719],"declarations":[{"constant":false,"id":75719,"mutability":"mutable","name":"proposalId","nameLocation":"48169:10:111","nodeType":"VariableDeclaration","scope":75954,"src":"48161:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75718,"name":"uint256","nodeType":"ElementaryTypeName","src":"48161:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75723,"initialValue":{"baseExpression":{"id":75720,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72852,"src":"48182:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75722,"indexExpression":{"id":75721,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75712,"src":"48204:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48182:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"48161:54:111"},{"assignments":[75728],"declarations":[{"constant":false,"id":75728,"mutability":"mutable","name":"proposal","nameLocation":"48257:8:111","nodeType":"VariableDeclaration","scope":75954,"src":"48225:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75727,"nodeType":"UserDefinedTypeName","pathNode":{"id":75726,"name":"StrategyStruct.Proposal","nameLocations":["48225:14:111","48240:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"48225:23:111"},"referencedDeclaration":72511,"src":"48225:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75732,"initialValue":{"baseExpression":{"id":75729,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"48268:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75731,"indexExpression":{"id":75730,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48278:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48268:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48225:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75733,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48304:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48318:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48304:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75741,"nodeType":"IfStatement","src":"48300:82:111","trueBody":{"id":75740,"nodeType":"Block","src":"48321:61:111","statements":[{"errorCall":{"arguments":[{"id":75737,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48360:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75736,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"48342:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48342:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75739,"nodeType":"RevertStatement","src":"48335:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"id":75747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75742,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"48395:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48404:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"48395:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75744,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"48422:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48437:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"48422:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48452:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"48422:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"48395:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75753,"nodeType":"IfStatement","src":"48391:134:111","trueBody":{"id":75752,"nodeType":"Block","src":"48462:63:111","statements":[{"errorCall":{"arguments":[{"id":75749,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48503:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75748,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72659,"src":"48483:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48483:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75751,"nodeType":"RevertStatement","src":"48476:38:111"}]}},{"assignments":[75755],"declarations":[{"constant":false,"id":75755,"mutability":"mutable","name":"isTimeOut","nameLocation":"48540:9:111","nodeType":"VariableDeclaration","scope":75954,"src":"48535:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75754,"name":"bool","nodeType":"ElementaryTypeName","src":"48535:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75765,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75756,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"48552:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48558:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"48552:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75758,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"48570:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75759,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48579:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"48570:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75760,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48591:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72474,"src":"48570:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":75761,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48610:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48627:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72532,"src":"48610:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48570:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48552:95:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"48535:112:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"48662:10:111","subExpression":{"id":75766,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75755,"src":"48663:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75768,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48676:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48680:6:111","memberName":"sender","nodeType":"MemberAccess","src":"48676:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":75772,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48698:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48715:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"48698:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48690:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75770,"name":"address","nodeType":"ElementaryTypeName","src":"48690:7:111","typeDescriptions":{}}},"id":75774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48690:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"48676:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48662:64:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75781,"nodeType":"IfStatement","src":"48658:118:111","trueBody":{"id":75780,"nodeType":"Block","src":"48728:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75777,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72655,"src":"48749:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48749:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75779,"nodeType":"RevertStatement","src":"48742:23:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75782,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75755,"src":"48790:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75783,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"48803:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48814:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48803:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48790:25:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75847,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"49578:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49589:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"49578:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75876,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"49950:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49961:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49950:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75934,"nodeType":"IfStatement","src":"49946:774:111","trueBody":{"id":75933,"nodeType":"Block","src":"49964:756:111","statements":[{"expression":{"id":75885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49978:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49987:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49978:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75882,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"50004:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50019:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"50004:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50034:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72469,"src":"50004:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49978:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75886,"nodeType":"ExpressionStatement","src":"49978:64:111"},{"expression":{"arguments":[{"id":75890,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"50108:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75891,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50120:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50129:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50120:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75893,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50141:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"50120:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75894,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"50153:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50170:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"50153:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75887,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"50056:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50072:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"50056:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50056:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75897,"nodeType":"ExpressionStatement","src":"50056:154:111"},{"expression":{"arguments":[{"id":75901,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"50279:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75902,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50307:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50316:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"50307:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75906,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"50351:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":75907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50369:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77107,"src":"50351:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79792_$","typeString":"function () view external returns (contract ISafe)"}},"id":75908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50351:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":75905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50343:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75904,"name":"address","nodeType":"ElementaryTypeName","src":"50343:7:111","typeDescriptions":{}}},"id":75909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50343:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75910,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50401:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50410:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50401:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50422:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"50401:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50449:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50401:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75898,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"50224:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50240:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79698,"src":"50224:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50224:240:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75916,"nodeType":"ExpressionStatement","src":"50224:240:111"},{"expression":{"arguments":[{"id":75920,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"50533:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75921,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50561:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50570:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"50561:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75923,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50597:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50606:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50597:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50618:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"50597:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75926,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50646:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50655:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50646:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75928,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50667:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"50646:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50694:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50646:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75917,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"50478:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50494:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79698,"src":"50478:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50478:231:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75932,"nodeType":"ExpressionStatement","src":"50478:231:111"}]}},"id":75935,"nodeType":"IfStatement","src":"49574:1146:111","trueBody":{"id":75875,"nodeType":"Block","src":"49592:348:111","statements":[{"expression":{"id":75856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75850,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49606:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49615:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49606:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75853,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"49632:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49647:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49632:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49662:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"49632:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49606:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75857,"nodeType":"ExpressionStatement","src":"49606:62:111"},{"expression":{"arguments":[{"id":75861,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"49737:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75862,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49765:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75863,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49774:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"49765:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49786:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"49765:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75867,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"49822:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":75868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49840:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77107,"src":"49822:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79792_$","typeString":"function () view external returns (contract ISafe)"}},"id":75869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49822:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":75866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49814:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75865,"name":"address","nodeType":"ElementaryTypeName","src":"49814:7:111","typeDescriptions":{}}},"id":75870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49814:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75871,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"49872:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75872,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49889:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"49872:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75858,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"49682:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49698:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79698,"src":"49682:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49682:247:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75874,"nodeType":"ExpressionStatement","src":"49682:247:111"}]}},"id":75936,"nodeType":"IfStatement","src":"48786:1934:111","trueBody":{"id":75846,"nodeType":"Block","src":"48817:751:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75787,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48835:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75788,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48852:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"48835:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48869:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48835:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75795,"nodeType":"IfStatement","src":"48831:102:111","trueBody":{"id":75794,"nodeType":"Block","src":"48872:61:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75791,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72663,"src":"48897:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48897:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75793,"nodeType":"RevertStatement","src":"48890:28:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75796,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48950:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48967:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"48950:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48984:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"48950:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75809,"nodeType":"IfStatement","src":"48946:136:111","trueBody":{"id":75808,"nodeType":"Block","src":"48987:95:111","statements":[{"expression":{"id":75806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75800,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49005:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49014:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49005:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75803,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"49031:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49046:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49031:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49061:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"49031:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49005:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75807,"nodeType":"ExpressionStatement","src":"49005:62:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75810,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"49099:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49116:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"49099:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49133:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49099:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75823,"nodeType":"IfStatement","src":"49095:138:111","trueBody":{"id":75822,"nodeType":"Block","src":"49136:97:111","statements":[{"expression":{"id":75820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75814,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49154:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49163:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49154:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75817,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"49180:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49195:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49180:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49210:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72469,"src":"49180:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49154:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75821,"nodeType":"ExpressionStatement","src":"49154:64:111"}]}},{"expression":{"arguments":[{"id":75827,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"49298:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75828,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49310:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49319:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"49310:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49331:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"49310:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75831,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"49343:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49360:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"49343:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75824,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"49246:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49262:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"49246:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49246:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75834,"nodeType":"ExpressionStatement","src":"49246:154:111"},{"expression":{"arguments":[{"id":75838,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"49466:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75839,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49478:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75840,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49487:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"49478:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75841,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49498:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49507:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"49498:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49519:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"49498:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75835,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"49414:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49430:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"49414:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49414:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75845,"nodeType":"ExpressionStatement","src":"49414:143:111"}]}},{"expression":{"id":75938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"50730:14:111","subExpression":{"id":75937,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72803,"src":"50730:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75939,"nodeType":"ExpressionStatement","src":"50730:14:111"},{"expression":{"id":75945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75940,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50754:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50763:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"50754:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75943,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50787:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50793:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"50787:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50754:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75946,"nodeType":"ExpressionStatement","src":"50754:48:111"},{"eventCall":{"arguments":[{"expression":{"id":75948,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"50824:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50841:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"50824:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},{"id":75950,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75712,"src":"50853:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75951,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"50865:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75947,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79553,"src":"50817:6:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79666_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":75952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50817:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75953,"nodeType":"EmitStatement","src":"50812:61:111"}]},"baseFunctions":[79561],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"48091:4:111","overrides":{"id":75716,"nodeType":"OverrideSpecifier","overrides":[],"src":"48142:8:111"},"parameters":{"id":75715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75712,"mutability":"mutable","name":"_disputeID","nameLocation":"48104:10:111","nodeType":"VariableDeclaration","scope":75955,"src":"48096:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75711,"name":"uint256","nodeType":"ElementaryTypeName","src":"48096:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75714,"mutability":"mutable","name":"_ruling","nameLocation":"48124:7:111","nodeType":"VariableDeclaration","scope":75955,"src":"48116:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75713,"name":"uint256","nodeType":"ElementaryTypeName","src":"48116:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48095:37:111"},"returnParameters":{"id":75717,"nodeType":"ParameterList","parameters":[],"src":"48151:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75964,"nodeType":"FunctionDefinition","src":"50886:66:111","nodes":[],"body":{"id":75963,"nodeType":"Block","src":"50950:2:111","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":75961,"kind":"modifierInvocation","modifierName":{"id":75960,"name":"onlyOwner","nameLocations":["50940:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"50940:9:111"},"nodeType":"ModifierInvocation","src":"50940:9:111"}],"name":"_authorizeUpgrade","nameLocation":"50895:17:111","overrides":{"id":75959,"nodeType":"OverrideSpecifier","overrides":[],"src":"50931:8:111"},"parameters":{"id":75958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75964,"src":"50913:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75956,"name":"address","nodeType":"ElementaryTypeName","src":"50913:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50912:9:111"},"returnParameters":{"id":75962,"nodeType":"ParameterList","parameters":[],"src":"50950:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75968,"nodeType":"VariableDeclaration","src":"50958:25:111","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"50978:5:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":75965,"name":"uint256","nodeType":"ElementaryTypeName","src":"50958:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75967,"length":{"hexValue":"3530","id":75966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50966:2:111","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"50958:11:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":72564,"name":"OwnableUpgradeable","nameLocations":["4077:18:111"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"4077:18:111"},"id":72565,"nodeType":"InheritanceSpecifier","src":"4077:18:111"},{"baseName":{"id":72566,"name":"BaseStrategyUpgradeable","nameLocations":["4097:23:111"],"nodeType":"IdentifierPath","referencedDeclaration":72374,"src":"4097:23:111"},"id":72567,"nodeType":"InheritanceSpecifier","src":"4097:23:111"},{"baseName":{"id":72568,"name":"IArbitrable","nameLocations":["4122:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79562,"src":"4122:11:111"},"id":72569,"nodeType":"InheritanceSpecifier","src":"4122:11:111"},{"baseName":{"id":72570,"name":"IPointStrategy","nameLocations":["4135:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72441,"src":"4135:14:111"},"id":72571,"nodeType":"InheritanceSpecifier","src":"4135:14:111"},{"baseName":{"id":72572,"name":"ERC165","nameLocations":["4151:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":57806,"src":"4151:6:111"},"id":72573,"nodeType":"InheritanceSpecifier","src":"4151:6:111"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[75969,57806,58012,72441,79562,72374,3089,3317,3106,2969,55753,55406,55055,55065,52984,53777,53233],"name":"CVStrategyV0_0","nameLocation":"4059:14:111","scope":75970,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,72575,72577,72579,72581,72583,72585,72587,72589,72591,72593,72595,72603,72605,72607,72613,72615,72617,72621,72625,72631,72633,72635,72643,72645,72647,72653,72655,72659,72661,72663,72669,72671]}],"license":"AGPL-3.0-only"},"id":111}
\ No newline at end of file
diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json b/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json
index 5a007f2db..83b40f482 100644
--- a/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json
+++ b/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json
@@ -1 +1 @@
-{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122029f0bf3736261c2b0ca962b69b8a4bc8a37518c5c4272b3aca875e09f280e7da64736f6c63430008130033","sourceMap":"1633:2413:111:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122029f0bf3736261c2b0ca962b69b8a4bc8a37518c5c4272b3aca875e09f280e7da64736f6c63430008130033","sourceMap":"1633:2413:111:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"StrategyStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc\",\"dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"StrategyStruct"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304","urls":["bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc","dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":75910,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[72314],"CVStrategyV0_0":[75909],"Clone":[3002],"ERC165":[57806],"ERC20":[56531],"IAllo":[2610],"IArbitrable":[79502],"IArbitrator":[79606],"ICollateralVault":[79639],"IERC165":[58012],"IPointStrategy":[72381],"ISybilScorer":[76270],"Math":[58878],"Metadata":[3098],"OwnableUpgradeable":[52984],"PassportData":[76188],"RegistryCommunityV0_0":[78716],"StrategyStruct":[72503],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"42:50910:111","nodes":[{"id":72316,"nodeType":"PragmaDirective","src":"42:24:111","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72318,"nodeType":"ImportDirective","src":"68:71:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":72317,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72321,"nodeType":"ImportDirective","src":"140:82:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":72319,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72320,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72323,"nodeType":"ImportDirective","src":"223:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":72322,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"231:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72326,"nodeType":"ImportDirective","src":"290:87:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":57807,"symbolAliases":[{"foreign":{"id":72324,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57806,"src":"298:6:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72325,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58012,"src":"306:7:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72328,"nodeType":"ImportDirective","src":"378:68:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":56532,"symbolAliases":[{"foreign":{"id":72327,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"386:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72330,"nodeType":"ImportDirective","src":"447:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":79607,"symbolAliases":[{"foreign":{"id":72329,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79606,"src":"455:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72332,"nodeType":"ImportDirective","src":"505:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":79503,"symbolAliases":[{"foreign":{"id":72331,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79502,"src":"513:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72334,"nodeType":"ImportDirective","src":"563:65:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":72333,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"571:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72336,"nodeType":"ImportDirective","src":"679:65:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":58879,"symbolAliases":[{"foreign":{"id":72335,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"687:4:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72339,"nodeType":"ImportDirective","src":"745:62:111","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":76271,"symbolAliases":[{"foreign":{"id":72337,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"753:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72338,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76188,"src":"767:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72341,"nodeType":"ImportDirective","src":"809:88:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":72340,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"817:15:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72343,"nodeType":"ImportDirective","src":"898:70:111","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":72315,"symbolAliases":[{"foreign":{"id":72342,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72314,"src":"906:23:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72345,"nodeType":"ImportDirective","src":"969:101:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":72344,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"977:18:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72347,"nodeType":"ImportDirective","src":"1071:67:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"./interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":79640,"symbolAliases":[{"foreign":{"id":72346,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79639,"src":"1079:16:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72349,"nodeType":"ImportDirective","src":"1139:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":72348,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"1147:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72351,"nodeType":"ImportDirective","src":"1205:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75910,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":72350,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"1213:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72381,"nodeType":"ContractDefinition","src":"1273:358:111","nodes":[{"id":72356,"nodeType":"FunctionDefinition","src":"1304:52:111","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1313:16:111","parameters":{"id":72354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72353,"mutability":"mutable","name":"_member","nameLocation":"1338:7:111","nodeType":"VariableDeclaration","scope":72356,"src":"1330:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72352,"name":"address","nodeType":"ElementaryTypeName","src":"1330:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1329:17:111"},"returnParameters":{"id":72355,"nodeType":"ParameterList","parameters":[],"src":"1355:0:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72365,"nodeType":"FunctionDefinition","src":"1362:91:111","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1371:13:111","parameters":{"id":72361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72358,"mutability":"mutable","name":"_member","nameLocation":"1393:7:111","nodeType":"VariableDeclaration","scope":72365,"src":"1385:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72357,"name":"address","nodeType":"ElementaryTypeName","src":"1385:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72360,"mutability":"mutable","name":"_amountToStake","nameLocation":"1410:14:111","nodeType":"VariableDeclaration","scope":72365,"src":"1402:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72359,"name":"uint256","nodeType":"ElementaryTypeName","src":"1402:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1384:41:111"},"returnParameters":{"id":72364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72365,"src":"1444:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72362,"name":"uint256","nodeType":"ElementaryTypeName","src":"1444:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1443:9:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72374,"nodeType":"FunctionDefinition","src":"1459:92:111","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1468:13:111","parameters":{"id":72370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72367,"mutability":"mutable","name":"_member","nameLocation":"1490:7:111","nodeType":"VariableDeclaration","scope":72374,"src":"1482:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72366,"name":"address","nodeType":"ElementaryTypeName","src":"1482:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72369,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1507:15:111","nodeType":"VariableDeclaration","scope":72374,"src":"1499:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72368,"name":"uint256","nodeType":"ElementaryTypeName","src":"1499:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1481:42:111"},"returnParameters":{"id":72373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72374,"src":"1542:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72371,"name":"uint256","nodeType":"ElementaryTypeName","src":"1542:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1541:9:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72380,"nodeType":"FunctionDefinition","src":"1557:72:111","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1566:14:111","parameters":{"id":72375,"nodeType":"ParameterList","parameters":[],"src":"1580:2:111"},"returnParameters":{"id":72379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72378,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72380,"src":"1601:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72377,"nodeType":"UserDefinedTypeName","pathNode":{"id":72376,"name":"StrategyStruct.PointSystem","nameLocations":["1601:14:111","1616:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"1601:26:111"},"referencedDeclaration":72390,"src":"1601:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1600:28:111"},"scope":72381,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[72381],"name":"IPointStrategy","nameLocation":"1283:14:111","scope":75910,"usedErrors":[]},{"id":72503,"nodeType":"ContractDefinition","src":"1633:2413:111","nodes":[{"id":72385,"nodeType":"EnumDefinition","src":"1662:79:111","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":72382,"name":"Signaling","nameLocation":"1690:9:111","nodeType":"EnumValue","src":"1690:9:111"},{"id":72383,"name":"Funding","nameLocation":"1709:7:111","nodeType":"EnumValue","src":"1709:7:111"},{"id":72384,"name":"Streaming","nameLocation":"1726:9:111","nodeType":"EnumValue","src":"1726:9:111"}],"name":"ProposalType","nameLocation":"1667:12:111"},{"id":72390,"nodeType":"EnumDefinition","src":"1747:92:111","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":72386,"name":"Fixed","nameLocation":"1774:5:111","nodeType":"EnumValue","src":"1774:5:111"},{"id":72387,"name":"Capped","nameLocation":"1789:6:111","nodeType":"EnumValue","src":"1789:6:111"},{"id":72388,"name":"Unlimited","nameLocation":"1805:9:111","nodeType":"EnumValue","src":"1805:9:111"},{"id":72389,"name":"Quadratic","nameLocation":"1824:9:111","nodeType":"EnumValue","src":"1824:9:111"}],"name":"PointSystem","nameLocation":"1752:11:111"},{"id":72402,"nodeType":"StructDefinition","src":"1845:243:111","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":72392,"mutability":"mutable","name":"poolId","nameLocation":"1916:6:111","nodeType":"VariableDeclaration","scope":72402,"src":"1908:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72391,"name":"uint256","nodeType":"ElementaryTypeName","src":"1908:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72394,"mutability":"mutable","name":"beneficiary","nameLocation":"1940:11:111","nodeType":"VariableDeclaration","scope":72402,"src":"1932:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72393,"name":"address","nodeType":"ElementaryTypeName","src":"1932:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72396,"mutability":"mutable","name":"amountRequested","nameLocation":"2007:15:111","nodeType":"VariableDeclaration","scope":72402,"src":"1999:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72395,"name":"uint256","nodeType":"ElementaryTypeName","src":"1999:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72398,"mutability":"mutable","name":"requestedToken","nameLocation":"2040:14:111","nodeType":"VariableDeclaration","scope":72402,"src":"2032:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72397,"name":"address","nodeType":"ElementaryTypeName","src":"2032:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72401,"mutability":"mutable","name":"metadata","nameLocation":"2073:8:111","nodeType":"VariableDeclaration","scope":72402,"src":"2064:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72400,"nodeType":"UserDefinedTypeName","pathNode":{"id":72399,"name":"Metadata","nameLocations":["2064:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2064:8:111"},"referencedDeclaration":3098,"src":"2064:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1852:14:111","scope":72503,"visibility":"public"},{"id":72410,"nodeType":"EnumDefinition","src":"2094:390:111","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":72403,"name":"Inactive","nameLocation":"2124:8:111","nodeType":"EnumValue","src":"2124:8:111"},{"id":72404,"name":"Active","nameLocation":"2154:6:111","nodeType":"EnumValue","src":"2154:6:111"},{"id":72405,"name":"Paused","nameLocation":"2217:6:111","nodeType":"EnumValue","src":"2217:6:111"},{"id":72406,"name":"Cancelled","nameLocation":"2282:9:111","nodeType":"EnumValue","src":"2282:9:111"},{"id":72407,"name":"Executed","nameLocation":"2335:8:111","nodeType":"EnumValue","src":"2335:8:111"},{"id":72408,"name":"Disputed","nameLocation":"2386:8:111","nodeType":"EnumValue","src":"2386:8:111"},{"id":72409,"name":"Rejected","nameLocation":"2437:8:111","nodeType":"EnumValue","src":"2437:8:111"}],"name":"ProposalStatus","nameLocation":"2099:14:111"},{"id":72419,"nodeType":"StructDefinition","src":"2490:165:111","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":72412,"mutability":"mutable","name":"disputeId","nameLocation":"2535:9:111","nodeType":"VariableDeclaration","scope":72419,"src":"2527:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72411,"name":"uint256","nodeType":"ElementaryTypeName","src":"2527:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72414,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2562:16:111","nodeType":"VariableDeclaration","scope":72419,"src":"2554:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72413,"name":"uint256","nodeType":"ElementaryTypeName","src":"2554:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72416,"mutability":"mutable","name":"challenger","nameLocation":"2596:10:111","nodeType":"VariableDeclaration","scope":72419,"src":"2588:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72415,"name":"address","nodeType":"ElementaryTypeName","src":"2588:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72418,"mutability":"mutable","name":"submitterCollateralVault","nameLocation":"2624:24:111","nodeType":"VariableDeclaration","scope":72419,"src":"2616:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72417,"name":"uint256","nodeType":"ElementaryTypeName","src":"2616:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2497:19:111","scope":72503,"visibility":"public"},{"id":72451,"nodeType":"StructDefinition","src":"2661:485:111","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":72421,"mutability":"mutable","name":"proposalId","nameLocation":"2695:10:111","nodeType":"VariableDeclaration","scope":72451,"src":"2687:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72420,"name":"uint256","nodeType":"ElementaryTypeName","src":"2687:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72423,"mutability":"mutable","name":"requestedAmount","nameLocation":"2723:15:111","nodeType":"VariableDeclaration","scope":72451,"src":"2715:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72422,"name":"uint256","nodeType":"ElementaryTypeName","src":"2715:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72425,"mutability":"mutable","name":"stakedAmount","nameLocation":"2756:12:111","nodeType":"VariableDeclaration","scope":72451,"src":"2748:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72424,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72427,"mutability":"mutable","name":"convictionLast","nameLocation":"2786:14:111","nodeType":"VariableDeclaration","scope":72451,"src":"2778:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72426,"name":"uint256","nodeType":"ElementaryTypeName","src":"2778:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72429,"mutability":"mutable","name":"beneficiary","nameLocation":"2818:11:111","nodeType":"VariableDeclaration","scope":72451,"src":"2810:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72428,"name":"address","nodeType":"ElementaryTypeName","src":"2810:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72431,"mutability":"mutable","name":"submitter","nameLocation":"2847:9:111","nodeType":"VariableDeclaration","scope":72451,"src":"2839:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72430,"name":"address","nodeType":"ElementaryTypeName","src":"2839:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72433,"mutability":"mutable","name":"requestedToken","nameLocation":"2874:14:111","nodeType":"VariableDeclaration","scope":72451,"src":"2866:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72432,"name":"address","nodeType":"ElementaryTypeName","src":"2866:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72435,"mutability":"mutable","name":"blockLast","nameLocation":"2906:9:111","nodeType":"VariableDeclaration","scope":72451,"src":"2898:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72434,"name":"uint256","nodeType":"ElementaryTypeName","src":"2898:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72438,"mutability":"mutable","name":"proposalStatus","nameLocation":"2940:14:111","nodeType":"VariableDeclaration","scope":72451,"src":"2925:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":72437,"nodeType":"UserDefinedTypeName","pathNode":{"id":72436,"name":"ProposalStatus","nameLocations":["2925:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72410,"src":"2925:14:111"},"referencedDeclaration":72410,"src":"2925:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":72442,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2992:17:111","nodeType":"VariableDeclaration","scope":72451,"src":"2964:45:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72441,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72439,"name":"address","nodeType":"ElementaryTypeName","src":"2972:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2964:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72440,"name":"uint256","nodeType":"ElementaryTypeName","src":"2983:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":72445,"mutability":"mutable","name":"metadata","nameLocation":"3051:8:111","nodeType":"VariableDeclaration","scope":72451,"src":"3042:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72444,"nodeType":"UserDefinedTypeName","pathNode":{"id":72443,"name":"Metadata","nameLocations":["3042:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"3042:8:111"},"referencedDeclaration":3098,"src":"3042:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":72448,"mutability":"mutable","name":"disputeInfo","nameLocation":"3089:11:111","nodeType":"VariableDeclaration","scope":72451,"src":"3069:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":72447,"nodeType":"UserDefinedTypeName","pathNode":{"id":72446,"name":"ProposalDisputeInfo","nameLocations":["3069:19:111"],"nodeType":"IdentifierPath","referencedDeclaration":72419,"src":"3069:19:111"},"referencedDeclaration":72419,"src":"3069:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":72450,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"3118:21:111","nodeType":"VariableDeclaration","scope":72451,"src":"3110:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72449,"name":"uint256","nodeType":"ElementaryTypeName","src":"3110:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2668:8:111","scope":72503,"visibility":"public"},{"id":72456,"nodeType":"StructDefinition","src":"3152:126:111","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":72453,"mutability":"mutable","name":"proposalId","nameLocation":"3193:10:111","nodeType":"VariableDeclaration","scope":72456,"src":"3185:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72452,"name":"uint256","nodeType":"ElementaryTypeName","src":"3185:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72455,"mutability":"mutable","name":"deltaSupport","nameLocation":"3220:12:111","nodeType":"VariableDeclaration","scope":72456,"src":"3213:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72454,"name":"int256","nodeType":"ElementaryTypeName","src":"3213:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3159:15:111","scope":72503,"visibility":"public"},{"id":72459,"nodeType":"StructDefinition","src":"3284:89:111","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":72458,"mutability":"mutable","name":"maxAmount","nameLocation":"3357:9:111","nodeType":"VariableDeclaration","scope":72459,"src":"3349:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72457,"name":"uint256","nodeType":"ElementaryTypeName","src":"3349:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3291:17:111","scope":72503,"visibility":"public"},{"id":72473,"nodeType":"StructDefinition","src":"3379:249:111","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":72462,"mutability":"mutable","name":"arbitrator","nameLocation":"3425:10:111","nodeType":"VariableDeclaration","scope":72473,"src":"3413:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},"typeName":{"id":72461,"nodeType":"UserDefinedTypeName","pathNode":{"id":72460,"name":"IArbitrator","nameLocations":["3413:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79606,"src":"3413:11:111"},"referencedDeclaration":79606,"src":"3413:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72464,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3453:12:111","nodeType":"VariableDeclaration","scope":72473,"src":"3445:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72463,"name":"address","nodeType":"ElementaryTypeName","src":"3445:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72466,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3483:25:111","nodeType":"VariableDeclaration","scope":72473,"src":"3475:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72465,"name":"uint256","nodeType":"ElementaryTypeName","src":"3475:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72468,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3526:26:111","nodeType":"VariableDeclaration","scope":72473,"src":"3518:34:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72467,"name":"uint256","nodeType":"ElementaryTypeName","src":"3518:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72470,"mutability":"mutable","name":"defaultRuling","nameLocation":"3570:13:111","nodeType":"VariableDeclaration","scope":72473,"src":"3562:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72469,"name":"uint256","nodeType":"ElementaryTypeName","src":"3562:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72472,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3601:20:111","nodeType":"VariableDeclaration","scope":72473,"src":"3593:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72471,"name":"uint256","nodeType":"ElementaryTypeName","src":"3593:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3386:16:111","scope":72503,"visibility":"public"},{"id":72482,"nodeType":"StructDefinition","src":"3634:132:111","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":72475,"mutability":"mutable","name":"maxRatio","nameLocation":"3668:8:111","nodeType":"VariableDeclaration","scope":72482,"src":"3660:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72474,"name":"uint256","nodeType":"ElementaryTypeName","src":"3660:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72477,"mutability":"mutable","name":"weight","nameLocation":"3694:6:111","nodeType":"VariableDeclaration","scope":72482,"src":"3686:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72476,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72479,"mutability":"mutable","name":"decay","nameLocation":"3718:5:111","nodeType":"VariableDeclaration","scope":72482,"src":"3710:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72478,"name":"uint256","nodeType":"ElementaryTypeName","src":"3710:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72481,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3741:18:111","nodeType":"VariableDeclaration","scope":72482,"src":"3733:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72480,"name":"uint256","nodeType":"ElementaryTypeName","src":"3733:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3641:8:111","scope":72503,"visibility":"public"},{"id":72502,"nodeType":"StructDefinition","src":"3772:272:111","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":72485,"mutability":"mutable","name":"cvParams","nameLocation":"3815:8:111","nodeType":"VariableDeclaration","scope":72502,"src":"3806:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72484,"nodeType":"UserDefinedTypeName","pathNode":{"id":72483,"name":"CVParams","nameLocations":["3806:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"3806:8:111"},"referencedDeclaration":72482,"src":"3806:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72488,"mutability":"mutable","name":"proposalType","nameLocation":"3846:12:111","nodeType":"VariableDeclaration","scope":72502,"src":"3833:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72487,"nodeType":"UserDefinedTypeName","pathNode":{"id":72486,"name":"ProposalType","nameLocations":["3833:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72385,"src":"3833:12:111"},"referencedDeclaration":72385,"src":"3833:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":72491,"mutability":"mutable","name":"pointSystem","nameLocation":"3880:11:111","nodeType":"VariableDeclaration","scope":72502,"src":"3868:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72490,"nodeType":"UserDefinedTypeName","pathNode":{"id":72489,"name":"PointSystem","nameLocations":["3868:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"3868:11:111"},"referencedDeclaration":72390,"src":"3868:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":72494,"mutability":"mutable","name":"pointConfig","nameLocation":"3919:11:111","nodeType":"VariableDeclaration","scope":72502,"src":"3901:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72493,"nodeType":"UserDefinedTypeName","pathNode":{"id":72492,"name":"PointSystemConfig","nameLocations":["3901:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72459,"src":"3901:17:111"},"referencedDeclaration":72459,"src":"3901:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":72497,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3957:16:111","nodeType":"VariableDeclaration","scope":72502,"src":"3940:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72496,"nodeType":"UserDefinedTypeName","pathNode":{"id":72495,"name":"ArbitrableConfig","nameLocations":["3940:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"3940:16:111"},"referencedDeclaration":72473,"src":"3940:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":72499,"mutability":"mutable","name":"registryCommunity","nameLocation":"3991:17:111","nodeType":"VariableDeclaration","scope":72502,"src":"3983:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72498,"name":"address","nodeType":"ElementaryTypeName","src":"3983:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72501,"mutability":"mutable","name":"sybilScorer","nameLocation":"4026:11:111","nodeType":"VariableDeclaration","scope":72502,"src":"4018:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72500,"name":"address","nodeType":"ElementaryTypeName","src":"4018:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3779:16:111","scope":72503,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[72503],"name":"StrategyStruct","nameLocation":"1641:14:111","scope":75910,"usedErrors":[]},{"id":75909,"nodeType":"ContractDefinition","src":"4048:46903:111","nodes":[{"id":72515,"nodeType":"ErrorDefinition","src":"4328:25:111","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4334:16:111","parameters":{"id":72514,"nodeType":"ParameterList","parameters":[],"src":"4350:2:111"}},{"id":72517,"nodeType":"ErrorDefinition","src":"4372:26:111","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4378:17:111","parameters":{"id":72516,"nodeType":"ParameterList","parameters":[],"src":"4395:2:111"}},{"id":72519,"nodeType":"ErrorDefinition","src":"4416:23:111","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4422:14:111","parameters":{"id":72518,"nodeType":"ParameterList","parameters":[],"src":"4436:2:111"}},{"id":72521,"nodeType":"ErrorDefinition","src":"4458:20:111","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4464:11:111","parameters":{"id":72520,"nodeType":"ParameterList","parameters":[],"src":"4475:2:111"}},{"id":72523,"nodeType":"ErrorDefinition","src":"4497:23:111","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4503:14:111","parameters":{"id":72522,"nodeType":"ParameterList","parameters":[],"src":"4517:2:111"}},{"id":72525,"nodeType":"ErrorDefinition","src":"4538:26:111","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4544:17:111","parameters":{"id":72524,"nodeType":"ParameterList","parameters":[],"src":"4561:2:111"}},{"id":72527,"nodeType":"ErrorDefinition","src":"4582:24:111","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4588:15:111","parameters":{"id":72526,"nodeType":"ParameterList","parameters":[],"src":"4603:2:111"}},{"id":72529,"nodeType":"ErrorDefinition","src":"4625:27:111","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4631:18:111","parameters":{"id":72528,"nodeType":"ParameterList","parameters":[],"src":"4649:2:111"}},{"id":72531,"nodeType":"ErrorDefinition","src":"4671:27:111","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4677:18:111","parameters":{"id":72530,"nodeType":"ParameterList","parameters":[],"src":"4695:2:111"}},{"id":72533,"nodeType":"ErrorDefinition","src":"4716:28:111","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4722:19:111","parameters":{"id":72532,"nodeType":"ParameterList","parameters":[],"src":"4741:2:111"}},{"id":72535,"nodeType":"ErrorDefinition","src":"4762:29:111","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4768:20:111","parameters":{"id":72534,"nodeType":"ParameterList","parameters":[],"src":"4788:2:111"}},{"id":72543,"nodeType":"ErrorDefinition","src":"4810:72:111","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4816:16:111","parameters":{"id":72542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72537,"mutability":"mutable","name":"_support","nameLocation":"4841:8:111","nodeType":"VariableDeclaration","scope":72543,"src":"4833:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72536,"name":"uint256","nodeType":"ElementaryTypeName","src":"4833:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72539,"mutability":"mutable","name":"_delta","nameLocation":"4858:6:111","nodeType":"VariableDeclaration","scope":72543,"src":"4851:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72538,"name":"int256","nodeType":"ElementaryTypeName","src":"4851:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":72541,"mutability":"mutable","name":"_result","nameLocation":"4873:7:111","nodeType":"VariableDeclaration","scope":72543,"src":"4866:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72540,"name":"int256","nodeType":"ElementaryTypeName","src":"4866:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4832:49:111"}},{"id":72545,"nodeType":"ErrorDefinition","src":"4901:25:111","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4907:16:111","parameters":{"id":72544,"nodeType":"ParameterList","parameters":[],"src":"4923:2:111"}},{"id":72547,"nodeType":"ErrorDefinition","src":"4945:32:111","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4951:23:111","parameters":{"id":72546,"nodeType":"ParameterList","parameters":[],"src":"4974:2:111"}},{"id":72553,"nodeType":"ErrorDefinition","src":"4996:77:111","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"5002:24:111","parameters":{"id":72552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72549,"mutability":"mutable","name":"pointsSupport","nameLocation":"5035:13:111","nodeType":"VariableDeclaration","scope":72553,"src":"5027:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72548,"name":"uint256","nodeType":"ElementaryTypeName","src":"5027:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72551,"mutability":"mutable","name":"pointsBalance","nameLocation":"5058:13:111","nodeType":"VariableDeclaration","scope":72553,"src":"5050:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72550,"name":"uint256","nodeType":"ElementaryTypeName","src":"5050:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5026:46:111"}},{"id":72555,"nodeType":"ErrorDefinition","src":"5093:28:111","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5099:19:111","parameters":{"id":72554,"nodeType":"ParameterList","parameters":[],"src":"5118:2:111"}},{"id":72557,"nodeType":"ErrorDefinition","src":"5139:31:111","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5145:22:111","parameters":{"id":72556,"nodeType":"ParameterList","parameters":[],"src":"5167:2:111"}},{"id":72561,"nodeType":"ErrorDefinition","src":"5188:45:111","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5194:17:111","parameters":{"id":72560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72559,"mutability":"mutable","name":"_proposalId","nameLocation":"5220:11:111","nodeType":"VariableDeclaration","scope":72561,"src":"5212:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72558,"name":"uint256","nodeType":"ElementaryTypeName","src":"5212:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5211:21:111"}},{"id":72565,"nodeType":"ErrorDefinition","src":"5252:45:111","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5258:17:111","parameters":{"id":72564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72563,"mutability":"mutable","name":"_proposalId","nameLocation":"5284:11:111","nodeType":"VariableDeclaration","scope":72565,"src":"5276:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72562,"name":"uint256","nodeType":"ElementaryTypeName","src":"5276:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5275:21:111"}},{"id":72571,"nodeType":"ErrorDefinition","src":"5316:68:111","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5322:25:111","parameters":{"id":72570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72567,"mutability":"mutable","name":"_proposalId","nameLocation":"5356:11:111","nodeType":"VariableDeclaration","scope":72571,"src":"5348:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72566,"name":"uint256","nodeType":"ElementaryTypeName","src":"5348:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72569,"mutability":"mutable","name":"index","nameLocation":"5377:5:111","nodeType":"VariableDeclaration","scope":72571,"src":"5369:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72568,"name":"uint256","nodeType":"ElementaryTypeName","src":"5369:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5347:36:111"}},{"id":72573,"nodeType":"ErrorDefinition","src":"5402:40:111","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5408:31:111","parameters":{"id":72572,"nodeType":"ParameterList","parameters":[],"src":"5439:2:111"}},{"id":72575,"nodeType":"ErrorDefinition","src":"5461:29:111","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5467:20:111","parameters":{"id":72574,"nodeType":"ParameterList","parameters":[],"src":"5487:2:111"}},{"id":72583,"nodeType":"ErrorDefinition","src":"5509:94:111","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5515:19:111","parameters":{"id":72582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72577,"mutability":"mutable","name":"_proposalId","nameLocation":"5543:11:111","nodeType":"VariableDeclaration","scope":72583,"src":"5535:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5535:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72579,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5564:16:111","nodeType":"VariableDeclaration","scope":72583,"src":"5556:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72578,"name":"uint256","nodeType":"ElementaryTypeName","src":"5556:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72581,"mutability":"mutable","name":"_poolAmount","nameLocation":"5590:11:111","nodeType":"VariableDeclaration","scope":72583,"src":"5582:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72580,"name":"uint256","nodeType":"ElementaryTypeName","src":"5582:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5534:68:111"}},{"id":72585,"nodeType":"ErrorDefinition","src":"5621:24:111","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5627:15:111","parameters":{"id":72584,"nodeType":"ParameterList","parameters":[],"src":"5642:2:111"}},{"id":72587,"nodeType":"ErrorDefinition","src":"5650:32:111","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5656:23:111","parameters":{"id":72586,"nodeType":"ParameterList","parameters":[],"src":"5679:2:111"}},{"id":72593,"nodeType":"ErrorDefinition","src":"5687:73:111","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5693:22:111","parameters":{"id":72592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72589,"mutability":"mutable","name":"sentAmount","nameLocation":"5724:10:111","nodeType":"VariableDeclaration","scope":72593,"src":"5716:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72588,"name":"uint256","nodeType":"ElementaryTypeName","src":"5716:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72591,"mutability":"mutable","name":"requiredAmount","nameLocation":"5744:14:111","nodeType":"VariableDeclaration","scope":72593,"src":"5736:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72590,"name":"uint256","nodeType":"ElementaryTypeName","src":"5736:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5715:44:111"}},{"id":72595,"nodeType":"ErrorDefinition","src":"5765:23:111","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5771:14:111","parameters":{"id":72594,"nodeType":"ParameterList","parameters":[],"src":"5785:2:111"}},{"id":72599,"nodeType":"ErrorDefinition","src":"5793:47:111","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5799:19:111","parameters":{"id":72598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72597,"mutability":"mutable","name":"_proposalId","nameLocation":"5827:11:111","nodeType":"VariableDeclaration","scope":72599,"src":"5819:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72596,"name":"uint256","nodeType":"ElementaryTypeName","src":"5819:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5818:21:111"}},{"id":72601,"nodeType":"ErrorDefinition","src":"5845:31:111","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5851:22:111","parameters":{"id":72600,"nodeType":"ParameterList","parameters":[],"src":"5873:2:111"}},{"id":72603,"nodeType":"ErrorDefinition","src":"5962:28:111","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5968:19:111","parameters":{"id":72602,"nodeType":"ParameterList","parameters":[],"src":"5987:2:111"}},{"id":72609,"nodeType":"ErrorDefinition","src":"5995:75:111","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"6001:24:111","parameters":{"id":72608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72605,"mutability":"mutable","name":"_proposalId","nameLocation":"6034:11:111","nodeType":"VariableDeclaration","scope":72609,"src":"6026:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72604,"name":"uint256","nodeType":"ElementaryTypeName","src":"6026:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72607,"mutability":"mutable","name":"_remainingSec","nameLocation":"6055:13:111","nodeType":"VariableDeclaration","scope":72609,"src":"6047:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72606,"name":"uint256","nodeType":"ElementaryTypeName","src":"6047:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6025:44:111"}},{"id":72611,"nodeType":"ErrorDefinition","src":"6075:54:111","nodes":[],"errorSelector":"fcc12b5b","name":"ArbitrationConfigCannotBeChangedDuringDispute","nameLocation":"6081:45:111","parameters":{"id":72610,"nodeType":"ParameterList","parameters":[],"src":"6126:2:111"}},{"id":72618,"nodeType":"EventDefinition","src":"6301:74:111","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6307:13:111","parameters":{"id":72617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72613,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6329:6:111","nodeType":"VariableDeclaration","scope":72618,"src":"6321:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72612,"name":"uint256","nodeType":"ElementaryTypeName","src":"6321:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72616,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6369:4:111","nodeType":"VariableDeclaration","scope":72618,"src":"6337:36:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72615,"nodeType":"UserDefinedTypeName","pathNode":{"id":72614,"name":"StrategyStruct.InitializeParams","nameLocations":["6337:14:111","6352:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"6337:31:111"},"referencedDeclaration":72502,"src":"6337:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6320:54:111"}},{"id":72626,"nodeType":"EventDefinition","src":"6380:75:111","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6386:11:111","parameters":{"id":72625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72620,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6406:10:111","nodeType":"VariableDeclaration","scope":72626,"src":"6398:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72619,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72622,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6426:11:111","nodeType":"VariableDeclaration","scope":72626,"src":"6418:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72621,"name":"address","nodeType":"ElementaryTypeName","src":"6418:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72624,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6447:6:111","nodeType":"VariableDeclaration","scope":72626,"src":"6439:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72623,"name":"uint256","nodeType":"ElementaryTypeName","src":"6439:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:57:111"}},{"id":72632,"nodeType":"EventDefinition","src":"6460:58:111","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6466:15:111","parameters":{"id":72631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72628,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6490:6:111","nodeType":"VariableDeclaration","scope":72632,"src":"6482:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72627,"name":"uint256","nodeType":"ElementaryTypeName","src":"6482:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72630,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6506:10:111","nodeType":"VariableDeclaration","scope":72632,"src":"6498:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72629,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6481:36:111"}},{"id":72636,"nodeType":"EventDefinition","src":"6523:42:111","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6529:19:111","parameters":{"id":72635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72634,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6557:6:111","nodeType":"VariableDeclaration","scope":72636,"src":"6549:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72633,"name":"uint256","nodeType":"ElementaryTypeName","src":"6549:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6548:16:111"}},{"id":72640,"nodeType":"EventDefinition","src":"6570:40:111","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6576:17:111","parameters":{"id":72639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72638,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6602:6:111","nodeType":"VariableDeclaration","scope":72640,"src":"6594:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72637,"name":"address","nodeType":"ElementaryTypeName","src":"6594:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6593:16:111"}},{"id":72648,"nodeType":"EventDefinition","src":"6615:85:111","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6621:14:111","parameters":{"id":72647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72642,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6644:6:111","nodeType":"VariableDeclaration","scope":72648,"src":"6636:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72641,"name":"address","nodeType":"ElementaryTypeName","src":"6636:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72644,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6660:12:111","nodeType":"VariableDeclaration","scope":72648,"src":"6652:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72643,"name":"uint256","nodeType":"ElementaryTypeName","src":"6652:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72646,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6682:16:111","nodeType":"VariableDeclaration","scope":72648,"src":"6674:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72645,"name":"uint256","nodeType":"ElementaryTypeName","src":"6674:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6635:64:111"}},{"id":72656,"nodeType":"EventDefinition","src":"6705:87:111","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6711:14:111","parameters":{"id":72655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72650,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6734:6:111","nodeType":"VariableDeclaration","scope":72656,"src":"6726:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72649,"name":"address","nodeType":"ElementaryTypeName","src":"6726:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72652,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6750:14:111","nodeType":"VariableDeclaration","scope":72656,"src":"6742:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72651,"name":"uint256","nodeType":"ElementaryTypeName","src":"6742:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72654,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6774:16:111","nodeType":"VariableDeclaration","scope":72656,"src":"6766:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72653,"name":"uint256","nodeType":"ElementaryTypeName","src":"6766:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6725:66:111"}},{"id":72668,"nodeType":"EventDefinition","src":"6797:134:111","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6803:12:111","parameters":{"id":72667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72658,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6833:4:111","nodeType":"VariableDeclaration","scope":72668,"src":"6825:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72657,"name":"address","nodeType":"ElementaryTypeName","src":"6825:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72660,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6847:10:111","nodeType":"VariableDeclaration","scope":72668,"src":"6839:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72659,"name":"uint256","nodeType":"ElementaryTypeName","src":"6839:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72662,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6867:6:111","nodeType":"VariableDeclaration","scope":72668,"src":"6859:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72661,"name":"uint256","nodeType":"ElementaryTypeName","src":"6859:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72664,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6883:17:111","nodeType":"VariableDeclaration","scope":72668,"src":"6875:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72663,"name":"uint256","nodeType":"ElementaryTypeName","src":"6875:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72666,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6910:14:111","nodeType":"VariableDeclaration","scope":72668,"src":"6902:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72665,"name":"uint256","nodeType":"ElementaryTypeName","src":"6902:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6815:115:111"}},{"id":72676,"nodeType":"EventDefinition","src":"6936:108:111","nodes":[],"anonymous":false,"eventSelector":"b47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d","name":"PoolParamsUpdated","nameLocation":"6942:17:111","parameters":{"id":72675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72671,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6984:8:111","nodeType":"VariableDeclaration","scope":72676,"src":"6960:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72670,"nodeType":"UserDefinedTypeName","pathNode":{"id":72669,"name":"StrategyStruct.CVParams","nameLocations":["6960:14:111","6975:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"6960:23:111"},"referencedDeclaration":72482,"src":"6960:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72674,"indexed":false,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"7026:16:111","nodeType":"VariableDeclaration","scope":72676,"src":"6994:48:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72673,"nodeType":"UserDefinedTypeName","pathNode":{"id":72672,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["6994:14:111","7009:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"6994:31:111"},"referencedDeclaration":72473,"src":"6994:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"6959:84:111"}},{"id":72680,"nodeType":"EventDefinition","src":"7049:49:111","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"7055:15:111","parameters":{"id":72679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72678,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"7079:17:111","nodeType":"VariableDeclaration","scope":72680,"src":"7071:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72677,"name":"address","nodeType":"ElementaryTypeName","src":"7071:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7070:27:111"}},{"id":72686,"nodeType":"EventDefinition","src":"7103:76:111","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"7109:25:111","parameters":{"id":72685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72682,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7143:6:111","nodeType":"VariableDeclaration","scope":72686,"src":"7135:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72681,"name":"uint256","nodeType":"ElementaryTypeName","src":"7135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72684,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7159:18:111","nodeType":"VariableDeclaration","scope":72686,"src":"7151:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72683,"name":"uint256","nodeType":"ElementaryTypeName","src":"7151:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7134:44:111"}},{"id":72701,"nodeType":"EventDefinition","src":"7184:195:111","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7190:16:111","parameters":{"id":72700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72689,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7228:10:111","nodeType":"VariableDeclaration","scope":72701,"src":"7216:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},"typeName":{"id":72688,"nodeType":"UserDefinedTypeName","pathNode":{"id":72687,"name":"IArbitrator","nameLocations":["7216:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79606,"src":"7216:11:111"},"referencedDeclaration":79606,"src":"7216:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72691,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7256:10:111","nodeType":"VariableDeclaration","scope":72701,"src":"7248:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72690,"name":"uint256","nodeType":"ElementaryTypeName","src":"7248:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72693,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7284:9:111","nodeType":"VariableDeclaration","scope":72701,"src":"7276:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72692,"name":"uint256","nodeType":"ElementaryTypeName","src":"7276:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72695,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7311:10:111","nodeType":"VariableDeclaration","scope":72701,"src":"7303:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72694,"name":"address","nodeType":"ElementaryTypeName","src":"7303:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72697,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7338:7:111","nodeType":"VariableDeclaration","scope":72701,"src":"7331:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72696,"name":"string","nodeType":"ElementaryTypeName","src":"7331:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":72699,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7363:9:111","nodeType":"VariableDeclaration","scope":72701,"src":"7355:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72698,"name":"uint256","nodeType":"ElementaryTypeName","src":"7355:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7206:172:111"}},{"id":72709,"nodeType":"EventDefinition","src":"7384:88:111","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7390:21:111","parameters":{"id":72708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72703,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7420:8:111","nodeType":"VariableDeclaration","scope":72709,"src":"7412:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72702,"name":"address","nodeType":"ElementaryTypeName","src":"7412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72705,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7438:10:111","nodeType":"VariableDeclaration","scope":72709,"src":"7430:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72704,"name":"address","nodeType":"ElementaryTypeName","src":"7430:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72707,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7458:12:111","nodeType":"VariableDeclaration","scope":72709,"src":"7450:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72706,"name":"address","nodeType":"ElementaryTypeName","src":"7450:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7411:60:111"}},{"id":72712,"nodeType":"VariableDeclaration","src":"7846:36:111","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"7870:1:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72710,"name":"uint256","nodeType":"ElementaryTypeName","src":"7846:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":72711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7874:8:111","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":72715,"nodeType":"VariableDeclaration","src":"7896:70:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"7921:7:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72713,"name":"uint256","nodeType":"ElementaryTypeName","src":"7896:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":72714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7931:35:111","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":72718,"nodeType":"VariableDeclaration","src":"7982:69:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8007:7:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72716,"name":"uint256","nodeType":"ElementaryTypeName","src":"7982:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":72717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8017:34:111","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":72721,"nodeType":"VariableDeclaration","src":"8067:53:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8092:6:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72719,"name":"uint256","nodeType":"ElementaryTypeName","src":"8067:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":72720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8101:19:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":72724,"nodeType":"VariableDeclaration","src":"8135:49:111","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8159:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72722,"name":"uint256","nodeType":"ElementaryTypeName","src":"8135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":72723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8182:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":72727,"nodeType":"VariableDeclaration","src":"8270:42:111","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8294:14:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72725,"name":"uint256","nodeType":"ElementaryTypeName","src":"8270:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":72726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8311:1:111","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":72730,"nodeType":"VariableDeclaration","src":"8318:54:111","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8342:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72728,"name":"uint256","nodeType":"ElementaryTypeName","src":"8318:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":72729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8365:7:111","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":72736,"nodeType":"VariableDeclaration","src":"8379:93:111","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8395:23:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72731,"name":"address","nodeType":"ElementaryTypeName","src":"8379:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307833623166624642303444423335383539323062326541644262383833394643393638304645386364","id":72734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8429:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x3b1fbFB04DB3585920b2eAdBb8839FC9680FE8cd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8421:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72732,"name":"address","nodeType":"ElementaryTypeName","src":"8421:7:111","typeDescriptions":{}}},"id":72735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8421:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":72738,"nodeType":"VariableDeclaration","src":"8576:47:111","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8593:30:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72737,"name":"uint256","nodeType":"ElementaryTypeName","src":"8576:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":72740,"nodeType":"VariableDeclaration","src":"8667:25:111","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8682:10:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72739,"name":"uint256","nodeType":"ElementaryTypeName","src":"8667:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72743,"nodeType":"VariableDeclaration","src":"8698:30:111","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8712:12:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72741,"name":"uint64","nodeType":"ElementaryTypeName","src":"8698:6:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"30","id":72742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8727:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72746,"nodeType":"VariableDeclaration","src":"8734:34:111","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8749:15:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72744,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":72745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8767:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72748,"nodeType":"VariableDeclaration","src":"8775:26:111","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8790:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72747,"name":"uint256","nodeType":"ElementaryTypeName","src":"8775:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72750,"nodeType":"VariableDeclaration","src":"8807:35:111","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"8822:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72749,"name":"uint256","nodeType":"ElementaryTypeName","src":"8807:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72753,"nodeType":"VariableDeclaration","src":"8849:39:111","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"8880:8:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72752,"nodeType":"UserDefinedTypeName","pathNode":{"id":72751,"name":"StrategyStruct.CVParams","nameLocations":["8849:14:111","8864:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"8849:23:111"},"referencedDeclaration":72482,"src":"8849:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":72756,"nodeType":"VariableDeclaration","src":"8935:47:111","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"8970:12:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72755,"nodeType":"UserDefinedTypeName","pathNode":{"id":72754,"name":"StrategyStruct.ProposalType","nameLocations":["8935:14:111","8950:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72385,"src":"8935:27:111"},"referencedDeclaration":72385,"src":"8935:27:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":72759,"nodeType":"VariableDeclaration","src":"9041:45:111","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9075:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72758,"nodeType":"UserDefinedTypeName","pathNode":{"id":72757,"name":"StrategyStruct.PointSystem","nameLocations":["9041:14:111","9056:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"9041:26:111"},"referencedDeclaration":72390,"src":"9041:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":72762,"nodeType":"VariableDeclaration","src":"9092:51:111","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9132:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72761,"nodeType":"UserDefinedTypeName","pathNode":{"id":72760,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9092:14:111","9107:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72459,"src":"9092:32:111"},"referencedDeclaration":72459,"src":"9092:32:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":72765,"nodeType":"VariableDeclaration","src":"9149:55:111","nodes":[],"constant":false,"functionSelector":"1073e996","mutability":"mutable","name":"arbitrableConfig","nameLocation":"9188:16:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72764,"nodeType":"UserDefinedTypeName","pathNode":{"id":72763,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9149:14:111","9164:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"9149:31:111"},"referencedDeclaration":72473,"src":"9149:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"public"},{"id":72768,"nodeType":"VariableDeclaration","src":"9237:46:111","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9266:17:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":72767,"nodeType":"UserDefinedTypeName","pathNode":{"id":72766,"name":"RegistryCommunityV0_0","nameLocations":["9237:21:111"],"nodeType":"IdentifierPath","referencedDeclaration":78716,"src":"9237:21:111"},"referencedDeclaration":78716,"src":"9237:21:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":72771,"nodeType":"VariableDeclaration","src":"9290:39:111","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9314:15:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"},"typeName":{"id":72770,"nodeType":"UserDefinedTypeName","pathNode":{"id":72769,"name":"ICollateralVault","nameLocations":["9290:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":79639,"src":"9290:16:111"},"referencedDeclaration":79639,"src":"9290:16:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":72774,"nodeType":"VariableDeclaration","src":"9335:31:111","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9355:11:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"},"typeName":{"id":72773,"nodeType":"UserDefinedTypeName","pathNode":{"id":72772,"name":"ISybilScorer","nameLocations":["9335:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":76270,"src":"9335:12:111"},"referencedDeclaration":76270,"src":"9335:12:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":72779,"nodeType":"VariableDeclaration","src":"9433:60:111","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9484:9:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":72778,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72775,"name":"uint256","nodeType":"ElementaryTypeName","src":"9441:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9433:43:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72777,"nodeType":"UserDefinedTypeName","pathNode":{"id":72776,"name":"StrategyStruct.Proposal","nameLocations":["9452:14:111","9467:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"9452:23:111"},"referencedDeclaration":72451,"src":"9452:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":72783,"nodeType":"VariableDeclaration","src":"9549:53:111","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9584:18:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72782,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72780,"name":"address","nodeType":"ElementaryTypeName","src":"9557:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9549:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72781,"name":"uint256","nodeType":"ElementaryTypeName","src":"9568:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72788,"nodeType":"VariableDeclaration","src":"9640:57:111","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9677:20:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":72787,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72784,"name":"address","nodeType":"ElementaryTypeName","src":"9648:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9640:29:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":72785,"name":"uint256","nodeType":"ElementaryTypeName","src":"9659:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72786,"nodeType":"ArrayTypeName","src":"9659:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":72792,"nodeType":"VariableDeclaration","src":"9735:56:111","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9770:21:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":72791,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72789,"name":"uint256","nodeType":"ElementaryTypeName","src":"9743:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9735:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72790,"name":"uint256","nodeType":"ElementaryTypeName","src":"9754:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72816,"nodeType":"FunctionDefinition","src":"10044:226:111","nodes":[],"body":{"id":72815,"nodeType":"Block","src":"10136:134:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72804,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72794,"src":"10157:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":72805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10164:12:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":72801,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10146:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75909_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10152:4:111","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":71758,"src":"10146:10:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":72806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10146:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72807,"nodeType":"ExpressionStatement","src":"10146:31:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72808,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"10187:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10187:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72810,"nodeType":"ExpressionStatement","src":"10187:16:111"},{"expression":{"id":72813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72811,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"10213:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72812,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72796,"src":"10239:24:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10213:50:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72814,"nodeType":"ExpressionStatement","src":"10213:50:111"}]},"functionSelector":"f09a4016","implemented":true,"kind":"function","modifiers":[{"id":72799,"kind":"modifierInvocation","modifierName":{"id":72798,"name":"initializer","nameLocations":["10124:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"10124:11:111"},"nodeType":"ModifierInvocation","src":"10124:11:111"}],"name":"init","nameLocation":"10053:4:111","parameters":{"id":72797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72794,"mutability":"mutable","name":"_allo","nameLocation":"10066:5:111","nodeType":"VariableDeclaration","scope":72816,"src":"10058:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72793,"name":"address","nodeType":"ElementaryTypeName","src":"10058:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72796,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10081:24:111","nodeType":"VariableDeclaration","scope":72816,"src":"10073:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72795,"name":"address","nodeType":"ElementaryTypeName","src":"10073:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10057:49:111"},"returnParameters":{"id":72800,"nodeType":"ParameterList","parameters":[],"src":"10136:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72912,"nodeType":"FunctionDefinition","src":"10276:824:111","nodes":[],"body":{"id":72911,"nodeType":"Block","src":"10359:741:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72826,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72818,"src":"10389:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72825,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71894,"src":"10369:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10369:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72828,"nodeType":"ExpressionStatement","src":"10369:28:111"},{"expression":{"id":72838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72829,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"10408:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":72833,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"10461:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10486:12:111","subExpression":{"id":72834,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72740,"src":"10486:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72831,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10443:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":72832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10449:11:111","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10443:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":72836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10443:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72830,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79639,"src":"10426:16:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$79639_$","typeString":"type(contract ICollateralVault)"}},"id":72837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10426:74:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"src":"10408:92:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":72839,"nodeType":"ExpressionStatement","src":"10408:92:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72840,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"10510:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":72842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10526:10:111","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":79611,"src":"10510:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":72843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10510:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72844,"nodeType":"ExpressionStatement","src":"10510:28:111"},{"assignments":[72849],"declarations":[{"constant":false,"id":72849,"mutability":"mutable","name":"ip","nameLocation":"10588:2:111","nodeType":"VariableDeclaration","scope":72911,"src":"10549:41:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72848,"nodeType":"UserDefinedTypeName","pathNode":{"id":72847,"name":"StrategyStruct.InitializeParams","nameLocations":["10549:14:111","10564:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"10549:31:111"},"referencedDeclaration":72502,"src":"10549:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":72857,"initialValue":{"arguments":[{"id":72852,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72820,"src":"10604:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":72853,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"10612:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":72854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10627:16:111","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"10612:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72502_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":72855,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10611:33:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72502_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72502_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":72850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10593:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10597:6:111","memberName":"decode","nodeType":"MemberAccess","src":"10593:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":72856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10549:96:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72858,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10660:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72859,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10663:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72499,"src":"10660:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10692:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10684:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72860,"name":"address","nodeType":"ElementaryTypeName","src":"10684:7:111","typeDescriptions":{}}},"id":72863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10684:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10660:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72869,"nodeType":"IfStatement","src":"10656:94:111","trueBody":{"id":72868,"nodeType":"Block","src":"10696:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72865,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72535,"src":"10717:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10717:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72867,"nodeType":"RevertStatement","src":"10710:29:111"}]}},{"expression":{"id":72875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72870,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"10760:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72872,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10802:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10805:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72499,"src":"10802:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72871,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"10780:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78716_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":72874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10780:43:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"src":"10760:63:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":72876,"nodeType":"ExpressionStatement","src":"10760:63:111"},{"expression":{"id":72880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72877,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72756,"src":"10834:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72878,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10849:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72879,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10852:12:111","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72488,"src":"10849:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"10834:30:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"id":72881,"nodeType":"ExpressionStatement","src":"10834:30:111"},{"expression":{"id":72885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72882,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"10874:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72883,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10888:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10891:11:111","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"10888:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"10874:28:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"id":72886,"nodeType":"ExpressionStatement","src":"10874:28:111"},{"expression":{"id":72890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72887,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"10912:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72888,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10926:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10929:11:111","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":72494,"src":"10926:14:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"10912:28:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":72891,"nodeType":"ExpressionStatement","src":"10912:28:111"},{"expression":{"id":72897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72892,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"10950:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72894,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"10977:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10980:11:111","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":72501,"src":"10977:14:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72893,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"10964:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76270_$","typeString":"type(contract ISybilScorer)"}},"id":72896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10964:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"src":"10950:42:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"id":72898,"nodeType":"ExpressionStatement","src":"10950:42:111"},{"expression":{"arguments":[{"expression":{"id":72900,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"11018:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72901,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11021:16:111","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":72497,"src":"11018:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":72902,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"11039:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11042:8:111","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"11039:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":72899,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75354,"src":"11003:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$_t_struct$_CVParams_$72482_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":72904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11003:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72905,"nodeType":"ExpressionStatement","src":"11003:48:111"},{"eventCall":{"arguments":[{"id":72907,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72818,"src":"11081:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72908,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72849,"src":"11090:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":72906,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72618,"src":"11067:13:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$72502_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":72909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11067:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72910,"nodeType":"EmitStatement","src":"11062:31:111"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":72823,"kind":"modifierInvocation","modifierName":{"id":72822,"name":"onlyAllo","nameLocations":["10350:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":71766,"src":"10350:8:111"},"nodeType":"ModifierInvocation","src":"10350:8:111"}],"name":"initialize","nameLocation":"10285:10:111","parameters":{"id":72821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72818,"mutability":"mutable","name":"_poolId","nameLocation":"10304:7:111","nodeType":"VariableDeclaration","scope":72912,"src":"10296:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72817,"name":"uint256","nodeType":"ElementaryTypeName","src":"10296:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72820,"mutability":"mutable","name":"_data","nameLocation":"10326:5:111","nodeType":"VariableDeclaration","scope":72912,"src":"10313:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":72819,"name":"bytes","nodeType":"ElementaryTypeName","src":"10313:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10295:37:111"},"returnParameters":{"id":72824,"nodeType":"ParameterList","parameters":[],"src":"10359:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72916,"nodeType":"FunctionDefinition","src":"11271:83:111","nodes":[],"body":{"id":72915,"nodeType":"Block","src":"11299:55:111","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72913,"nodeType":"ParameterList","parameters":[],"src":"11279:2:111"},"returnParameters":{"id":72914,"nodeType":"ParameterList","parameters":[],"src":"11299:0:111"},"scope":75909,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72920,"nodeType":"FunctionDefinition","src":"11360:135:111","nodes":[],"body":{"id":72919,"nodeType":"Block","src":"11387:108:111","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72917,"nodeType":"ParameterList","parameters":[],"src":"11367:2:111"},"returnParameters":{"id":72918,"nodeType":"ParameterList","parameters":[],"src":"11387:0:111"},"scope":75909,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72941,"nodeType":"FunctionDefinition","src":"11501:202:111","nodes":[],"body":{"id":72940,"nodeType":"Block","src":"11592:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":72938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":72933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72928,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72922,"src":"11609:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":72930,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"11629:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}],"id":72929,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11624:4:111","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11624:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72381","typeString":"type(contract IPointStrategy)"}},"id":72932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11645:11:111","memberName":"interfaceId","nodeType":"MemberAccess","src":"11624:32:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11609:47:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":72936,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72922,"src":"11684:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72934,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11660:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75909_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11666:17:111","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57805,"src":"11660:23:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":72937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11660:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11609:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72927,"id":72939,"nodeType":"Return","src":"11602:94:111"}]},"baseFunctions":[57805],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11510:17:111","overrides":{"id":72924,"nodeType":"OverrideSpecifier","overrides":[],"src":"11568:8:111"},"parameters":{"id":72923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72922,"mutability":"mutable","name":"interfaceId","nameLocation":"11535:11:111","nodeType":"VariableDeclaration","scope":72941,"src":"11528:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":72921,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11528:6:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11527:20:111"},"returnParameters":{"id":72927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72941,"src":"11586:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72925,"name":"bool","nodeType":"ElementaryTypeName","src":"11586:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11585:6:111"},"scope":75909,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72982,"nodeType":"FunctionDefinition","src":"11874:377:111","nodes":[],"body":{"id":72981,"nodeType":"Block","src":"11933:318:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72946,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72943,"src":"11947:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11966:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11958:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72947,"name":"address","nodeType":"ElementaryTypeName","src":"11958:7:111","typeDescriptions":{}}},"id":72950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11958:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11947:21:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72956,"nodeType":"IfStatement","src":"11943:77:111","trueBody":{"id":72955,"nodeType":"Block","src":"11970:50:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72952,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72515,"src":"11991:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11991:18:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72954,"nodeType":"RevertStatement","src":"11984:25:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":72959,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12041:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":72958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12033:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72957,"name":"address","nodeType":"ElementaryTypeName","src":"12033:7:111","typeDescriptions":{}}},"id":72960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12033:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12071:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12063:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72961,"name":"address","nodeType":"ElementaryTypeName","src":"12063:7:111","typeDescriptions":{}}},"id":72964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12063:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12033:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72970,"nodeType":"IfStatement","src":"12029:100:111","trueBody":{"id":72969,"nodeType":"Block","src":"12075:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72966,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72535,"src":"12096:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12096:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72968,"nodeType":"RevertStatement","src":"12089:29:111"}]}},{"condition":{"id":72975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12142:36:111","subExpression":{"arguments":[{"id":72973,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72943,"src":"12170:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72971,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12143:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":72972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12161:8:111","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":78324,"src":"12143:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":72974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12143:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72980,"nodeType":"IfStatement","src":"12138:93:111","trueBody":{"id":72979,"nodeType":"Block","src":"12180:51:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72976,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72517,"src":"12201:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12201:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72978,"nodeType":"RevertStatement","src":"12194:26:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"11883:19:111","parameters":{"id":72944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72943,"mutability":"mutable","name":"_sender","nameLocation":"11911:7:111","nodeType":"VariableDeclaration","scope":72982,"src":"11903:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72942,"name":"address","nodeType":"ElementaryTypeName","src":"11903:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11902:17:111"},"returnParameters":{"id":72945,"nodeType":"ParameterList","parameters":[],"src":"11933:0:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":72998,"nodeType":"FunctionDefinition","src":"12257:162:111","nodes":[],"body":{"id":72997,"nodeType":"Block","src":"12303:116:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72985,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12317:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12321:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12317:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":72989,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12339:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":72988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12331:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72987,"name":"address","nodeType":"ElementaryTypeName","src":"12331:7:111","typeDescriptions":{}}},"id":72990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12331:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12317:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72996,"nodeType":"IfStatement","src":"12313:100:111","trueBody":{"id":72995,"nodeType":"Block","src":"12359:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72992,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72575,"src":"12380:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12380:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72994,"nodeType":"RevertStatement","src":"12373:29:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12266:21:111","parameters":{"id":72983,"nodeType":"ParameterList","parameters":[],"src":"12287:2:111"},"returnParameters":{"id":72984,"nodeType":"ParameterList","parameters":[],"src":"12303:0:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":73014,"nodeType":"FunctionDefinition","src":"12425:133:111","nodes":[],"body":{"id":73013,"nodeType":"Block","src":"12485:73:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73003,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73000,"src":"12499:8:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12519:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12511:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73004,"name":"address","nodeType":"ElementaryTypeName","src":"12511:7:111","typeDescriptions":{}}},"id":73007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12511:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12499:22:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73012,"nodeType":"IfStatement","src":"12495:56:111","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73009,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72533,"src":"12530:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12530:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73011,"nodeType":"RevertStatement","src":"12523:28:111"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12434:18:111","parameters":{"id":73001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73000,"mutability":"mutable","name":"_address","nameLocation":"12461:8:111","nodeType":"VariableDeclaration","scope":73014,"src":"12453:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72999,"name":"address","nodeType":"ElementaryTypeName","src":"12453:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12452:18:111"},"returnParameters":{"id":73002,"nodeType":"ParameterList","parameters":[],"src":"12485:0:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73032,"nodeType":"FunctionDefinition","src":"12564:166:111","nodes":[],"body":{"id":73031,"nodeType":"Block","src":"12605:125:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73017,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12619:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12623:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12619:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73021,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"12641:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12659:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77047,"src":"12641:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79732_$","typeString":"function () view external returns (contract ISafe)"}},"id":73023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12641:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":73020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12633:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73019,"name":"address","nodeType":"ElementaryTypeName","src":"12633:7:111","typeDescriptions":{}}},"id":73024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12633:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12619:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73030,"nodeType":"IfStatement","src":"12615:109:111","trueBody":{"id":73029,"nodeType":"Block","src":"12675:49:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73026,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72585,"src":"12696:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12696:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73028,"nodeType":"RevertStatement","src":"12689:24:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12573:15:111","parameters":{"id":73015,"nodeType":"ParameterList","parameters":[],"src":"12588:2:111"},"returnParameters":{"id":73016,"nodeType":"ParameterList","parameters":[],"src":"12605:0:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73062,"nodeType":"FunctionDefinition","src":"12736:230:111","nodes":[],"body":{"id":73061,"nodeType":"Block","src":"12807:159:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73041,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"12829:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}],"id":73040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12821:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73039,"name":"address","nodeType":"ElementaryTypeName","src":"12821:7:111","typeDescriptions":{}}},"id":73042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12821:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12853:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12845:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73043,"name":"address","nodeType":"ElementaryTypeName","src":"12845:7:111","typeDescriptions":{}}},"id":73046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12845:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12821:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73051,"nodeType":"IfStatement","src":"12817:76:111","trueBody":{"id":73050,"nodeType":"Block","src":"12857:36:111","statements":[{"expression":{"hexValue":"74727565","id":73048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12878:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":73038,"id":73049,"nodeType":"Return","src":"12871:11:111"}]}},{"expression":{"arguments":[{"id":73054,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73034,"src":"12938:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73057,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12953:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12945:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73055,"name":"address","nodeType":"ElementaryTypeName","src":"12945:7:111","typeDescriptions":{}}},"id":73058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12945:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73052,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"12909:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"id":73053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12921:16:111","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76227,"src":"12909:28:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12909:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73038,"id":73060,"nodeType":"Return","src":"12902:57:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12745:17:111","parameters":{"id":73035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73034,"mutability":"mutable","name":"_user","nameLocation":"12771:5:111","nodeType":"VariableDeclaration","scope":73062,"src":"12763:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73033,"name":"address","nodeType":"ElementaryTypeName","src":"12763:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12762:15:111"},"returnParameters":{"id":73038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73062,"src":"12801:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73036,"name":"bool","nodeType":"ElementaryTypeName","src":"12801:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12800:6:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73300,"nodeType":"FunctionDefinition","src":"13292:2658:111","nodes":[],"body":{"id":73299,"nodeType":"Block","src":"13393:2557:111","nodes":[],"statements":[{"condition":{"id":73075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13407:27:111","subExpression":{"arguments":[{"id":73073,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73066,"src":"13426:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73072,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"13408:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13408:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73080,"nodeType":"IfStatement","src":"13403:90:111","trueBody":{"id":73079,"nodeType":"Block","src":"13436:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73076,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"13457:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13457:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73078,"nodeType":"RevertStatement","src":"13450:32:111"}]}},{"expression":{"id":73081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73064,"src":"13547:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73082,"nodeType":"ExpressionStatement","src":"13547:5:111"},{"assignments":[73087],"declarations":[{"constant":false,"id":73087,"mutability":"mutable","name":"proposal","nameLocation":"13599:8:111","nodeType":"VariableDeclaration","scope":73299,"src":"13562:45:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":73086,"nodeType":"UserDefinedTypeName","pathNode":{"id":73085,"name":"StrategyStruct.CreateProposal","nameLocations":["13562:14:111","13577:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72402,"src":"13562:29:111"},"referencedDeclaration":72402,"src":"13562:29:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":73095,"initialValue":{"arguments":[{"id":73090,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73064,"src":"13621:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":73091,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"13629:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13644:14:111","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":72402,"src":"13629:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72402_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":73093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13628:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72402_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72402_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":73088,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13610:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13614:6:111","memberName":"decode","nodeType":"MemberAccess","src":"13610:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13610:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13562:98:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73096,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"13775:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73097,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13784:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72392,"src":"13775:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13794:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13775:20:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73104,"nodeType":"IfStatement","src":"13771:78:111","trueBody":{"id":73103,"nodeType":"Block","src":"13797:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73100,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72531,"src":"13818:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13818:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73102,"nodeType":"RevertStatement","src":"13811:27:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"id":73109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73105,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72756,"src":"13925:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73106,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"13941:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13956:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72385,"src":"13941:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72385_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13969:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72383,"src":"13941:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"13925:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73165,"nodeType":"IfStatement","src":"13921:764:111","trueBody":{"id":73164,"nodeType":"Block","src":"13978:707:111","statements":[{"expression":{"arguments":[{"expression":{"id":73111,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14011:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14020:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72394,"src":"14011:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73110,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73014,"src":"13992:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13992:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73114,"nodeType":"ExpressionStatement","src":"13992:40:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73115,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14098:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14107:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72398,"src":"14098:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14133:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14125:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73117,"name":"address","nodeType":"ElementaryTypeName","src":"14125:7:111","typeDescriptions":{}}},"id":73120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14125:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14098:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73126,"nodeType":"IfStatement","src":"14094:102:111","trueBody":{"id":73125,"nodeType":"Block","src":"14137:59:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73122,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72525,"src":"14162:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14162:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73124,"nodeType":"RevertStatement","src":"14155:26:111"}]}},{"assignments":[73129],"declarations":[{"constant":false,"id":73129,"mutability":"mutable","name":"_allo","nameLocation":"14215:5:111","nodeType":"VariableDeclaration","scope":73164,"src":"14209:11:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":73128,"nodeType":"UserDefinedTypeName","pathNode":{"id":73127,"name":"IAllo","nameLocations":["14209:5:111"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14209:5:111"},"referencedDeclaration":2610,"src":"14209:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":73133,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73130,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14223:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}},"id":73131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14228:7:111","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":71812,"src":"14223:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":73132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14223:14:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14209:28:111"},{"assignments":[73138],"declarations":[{"constant":false,"id":73138,"mutability":"mutable","name":"pool","nameLocation":"14269:4:111","nodeType":"VariableDeclaration","scope":73164,"src":"14251:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73137,"nodeType":"UserDefinedTypeName","pathNode":{"id":73136,"name":"IAllo.Pool","nameLocations":["14251:5:111","14257:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14251:10:111"},"referencedDeclaration":2319,"src":"14251:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":73144,"initialValue":{"arguments":[{"expression":{"id":73141,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14290:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14299:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72392,"src":"14290:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73139,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73129,"src":"14276:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":73140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14282:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14276:13:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":73143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14276:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14251:55:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73145,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14324:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14333:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72398,"src":"14324:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":73147,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73138,"src":"14351:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":73148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14356:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14351:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14324:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73154,"nodeType":"IfStatement","src":"14320:235:111","trueBody":{"id":73153,"nodeType":"Block","src":"14363:192:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73150,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72527,"src":"14523:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73152,"nodeType":"RevertStatement","src":"14516:24:111"}]}},{"condition":{"arguments":[{"expression":{"id":73156,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"14588:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14597:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72396,"src":"14588:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73155,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74478,"src":"14572:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":73158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14572:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73163,"nodeType":"IfStatement","src":"14568:107:111","trueBody":{"id":73162,"nodeType":"Block","src":"14615:60:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73159,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72529,"src":"14640:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14640:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73161,"nodeType":"RevertStatement","src":"14633:27:111"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":73168,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"14720:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14737:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"14720:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":73167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14712:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73166,"name":"address","nodeType":"ElementaryTypeName","src":"14712:7:111","typeDescriptions":{}}},"id":73170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14712:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":73173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14760:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14752:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73171,"name":"address","nodeType":"ElementaryTypeName","src":"14752:7:111","typeDescriptions":{}}},"id":73174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14752:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14712:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73176,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14766:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14770:5:111","memberName":"value","nodeType":"MemberAccess","src":"14766:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":73178,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"14778:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14795:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"14778:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14766:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14712:108:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73190,"nodeType":"IfStatement","src":"14695:245:111","trueBody":{"id":73189,"nodeType":"Block","src":"14831:109:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":73183,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14875:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14879:5:111","memberName":"value","nodeType":"MemberAccess","src":"14875:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73185,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"14886:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73186,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14903:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"14886:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73182,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"14852:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":73187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14852:77:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73188,"nodeType":"RevertStatement","src":"14845:84:111"}]}},{"assignments":[73192],"declarations":[{"constant":false,"id":73192,"mutability":"mutable","name":"proposalId","nameLocation":"14958:10:111","nodeType":"VariableDeclaration","scope":73299,"src":"14950:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73191,"name":"uint256","nodeType":"ElementaryTypeName","src":"14950:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73195,"initialValue":{"id":73194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"14971:17:111","subExpression":{"id":73193,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72746,"src":"14973:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14950:38:111"},{"assignments":[73200],"declarations":[{"constant":false,"id":73200,"mutability":"mutable","name":"p","nameLocation":"15030:1:111","nodeType":"VariableDeclaration","scope":73299,"src":"14998:33:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73199,"nodeType":"UserDefinedTypeName","pathNode":{"id":73198,"name":"StrategyStruct.Proposal","nameLocations":["14998:14:111","15013:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"14998:23:111"},"referencedDeclaration":72451,"src":"14998:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73204,"initialValue":{"baseExpression":{"id":73201,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"15034:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73203,"indexExpression":{"id":73202,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15044:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15034:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14998:57:111"},{"expression":{"id":73209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73205,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15066:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15068:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"15066:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73208,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15081:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15066:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73210,"nodeType":"ExpressionStatement","src":"15066:25:111"},{"expression":{"id":73215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73211,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15101:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15103:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"15101:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73214,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73066,"src":"15115:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15101:21:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73216,"nodeType":"ExpressionStatement","src":"15101:21:111"},{"expression":{"id":73222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73217,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15132:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15134:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"15132:13:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73220,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15148:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15157:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72394,"src":"15148:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15132:36:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73223,"nodeType":"ExpressionStatement","src":"15132:36:111"},{"expression":{"id":73229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73224,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15178:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15180:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72433,"src":"15178:16:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73227,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15197:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73228,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15206:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72398,"src":"15197:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15178:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73230,"nodeType":"ExpressionStatement","src":"15178:42:111"},{"expression":{"id":73236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73231,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15230:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15232:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"15230:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73234,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15250:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15259:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72396,"src":"15250:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15230:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73237,"nodeType":"ExpressionStatement","src":"15230:44:111"},{"expression":{"id":73244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73238,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15335:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73240,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15337:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"15335:16:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":73241,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"15354:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15369:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"15354:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":73243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15384:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"15354:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15335:55:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":73245,"nodeType":"ExpressionStatement","src":"15335:55:111"},{"expression":{"id":73251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73246,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15400:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15402:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"15400:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73249,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15414:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":73250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15420:6:111","memberName":"number","nodeType":"MemberAccess","src":"15414:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15400:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73252,"nodeType":"ExpressionStatement","src":"15400:26:111"},{"expression":{"id":73257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73253,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15436:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15438:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"15436:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":73256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15455:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15436:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73258,"nodeType":"ExpressionStatement","src":"15436:20:111"},{"expression":{"id":73264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73259,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15502:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15504:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"15502:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73262,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73087,"src":"15515:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72402_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15524:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72401,"src":"15515:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"15502:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":73265,"nodeType":"ExpressionStatement","src":"15502:30:111"},{"expression":{"id":73273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73266,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15629:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15631:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"15629:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":73270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15643:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"15629:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73271,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"15670:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73272,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15687:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"15670:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15629:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73274,"nodeType":"ExpressionStatement","src":"15629:83:111"},{"expression":{"arguments":[{"id":73281,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15774:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73282,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73200,"src":"15786:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15788:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"15786:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73275,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"15722:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":73277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15738:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79618,"src":"15722:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":73280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":73278,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15763:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15767:5:111","memberName":"value","nodeType":"MemberAccess","src":"15763:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15722:51:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":73284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15722:76:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73285,"nodeType":"ExpressionStatement","src":"15722:76:111"},{"eventCall":{"arguments":[{"id":73287,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71732,"src":"15830:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73288,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15838:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73286,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72632,"src":"15814:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":73289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15814:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73290,"nodeType":"EmitStatement","src":"15809:40:111"},{"expression":{"arguments":[{"arguments":[{"id":73295,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73192,"src":"15931:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15923:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":73293,"name":"uint160","nodeType":"ElementaryTypeName","src":"15923:7:111","typeDescriptions":{}}},"id":73296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15923:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":73292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15915:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73291,"name":"address","nodeType":"ElementaryTypeName","src":"15915:7:111","typeDescriptions":{}}},"id":73297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15915:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73071,"id":73298,"nodeType":"Return","src":"15908:35:111"}]},"baseFunctions":[72200],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13301:18:111","overrides":{"id":73068,"nodeType":"OverrideSpecifier","overrides":[],"src":"13366:8:111"},"parameters":{"id":73067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73064,"mutability":"mutable","name":"_data","nameLocation":"13333:5:111","nodeType":"VariableDeclaration","scope":73300,"src":"13320:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73063,"name":"bytes","nodeType":"ElementaryTypeName","src":"13320:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73066,"mutability":"mutable","name":"_sender","nameLocation":"13348:7:111","nodeType":"VariableDeclaration","scope":73300,"src":"13340:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73065,"name":"address","nodeType":"ElementaryTypeName","src":"13340:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13319:37:111"},"returnParameters":{"id":73071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73300,"src":"13384:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73069,"name":"address","nodeType":"ElementaryTypeName","src":"13384:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13383:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73309,"nodeType":"FunctionDefinition","src":"15956:90:111","nodes":[],"body":{"id":73308,"nodeType":"Block","src":"16008:38:111","nodes":[],"statements":[{"expression":{"expression":{"id":73305,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"16025:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":73306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16034:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"16025:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73304,"id":73307,"nodeType":"Return","src":"16018:21:111"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"15965:8:111","parameters":{"id":73301,"nodeType":"ParameterList","parameters":[],"src":"15973:2:111"},"returnParameters":{"id":73304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73303,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73309,"src":"15999:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73302,"name":"uint256","nodeType":"ElementaryTypeName","src":"15999:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15998:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73348,"nodeType":"FunctionDefinition","src":"16052:351:111","nodes":[],"body":{"id":73347,"nodeType":"Block","src":"16087:316:111","nodes":[],"statements":[{"assignments":[73313],"declarations":[{"constant":false,"id":73313,"mutability":"mutable","name":"member","nameLocation":"16105:6:111","nodeType":"VariableDeclaration","scope":73347,"src":"16097:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73312,"name":"address","nodeType":"ElementaryTypeName","src":"16097:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":73316,"initialValue":{"expression":{"id":73314,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16114:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16118:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16114:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16097:27:111"},{"condition":{"id":73320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16138:26:111","subExpression":{"arguments":[{"id":73318,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"16157:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73317,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"16139:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16139:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73325,"nodeType":"IfStatement","src":"16134:89:111","trueBody":{"id":73324,"nodeType":"Block","src":"16166:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73321,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"16187:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16187:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73323,"nodeType":"RevertStatement","src":"16180:32:111"}]}},{"expression":{"arguments":[{"id":73329,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"16275:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73332,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16291:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16283:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73330,"name":"address","nodeType":"ElementaryTypeName","src":"16283:7:111","typeDescriptions":{}}},"id":73333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16283:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73326,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16232:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16250:24:111","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"16232:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16232:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73335,"nodeType":"ExpressionStatement","src":"16232:65:111"},{"expression":{"id":73345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73336,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"16307:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":73339,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"16374:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73342,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16390:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16382:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73340,"name":"address","nodeType":"ElementaryTypeName","src":"16382:7:111","typeDescriptions":{}}},"id":73343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16382:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73337,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16331:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16349:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"16331:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16331:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16307:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73346,"nodeType":"ExpressionStatement","src":"16307:89:111"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16061:14:111","parameters":{"id":73310,"nodeType":"ParameterList","parameters":[],"src":"16075:2:111"},"returnParameters":{"id":73311,"nodeType":"ParameterList","parameters":[],"src":"16087:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73357,"nodeType":"FunctionDefinition","src":"16409:81:111","nodes":[],"body":{"id":73356,"nodeType":"Block","src":"16444:46:111","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":73352,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16472:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16476:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16472:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73351,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73405,"src":"16454:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16454:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73355,"nodeType":"ExpressionStatement","src":"16454:29:111"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16418:16:111","parameters":{"id":73349,"nodeType":"ParameterList","parameters":[],"src":"16434:2:111"},"returnParameters":{"id":73350,"nodeType":"ParameterList","parameters":[],"src":"16444:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73370,"nodeType":"FunctionDefinition","src":"16496:128:111","nodes":[],"body":{"id":73369,"nodeType":"Block","src":"16548:76:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73362,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72998,"src":"16558:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16558:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73364,"nodeType":"ExpressionStatement","src":"16558:23:111"},{"expression":{"arguments":[{"id":73366,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73359,"src":"16609:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73365,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73405,"src":"16591:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73368,"nodeType":"ExpressionStatement","src":"16591:26:111"}]},"baseFunctions":[72356],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16505:16:111","parameters":{"id":73360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73359,"mutability":"mutable","name":"_member","nameLocation":"16530:7:111","nodeType":"VariableDeclaration","scope":73370,"src":"16522:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73358,"name":"address","nodeType":"ElementaryTypeName","src":"16522:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16521:17:111"},"returnParameters":{"id":73361,"nodeType":"ParameterList","parameters":[],"src":"16548:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73405,"nodeType":"FunctionDefinition","src":"16630:351:111","nodes":[],"body":{"id":73404,"nodeType":"Block","src":"16683:298:111","nodes":[],"statements":[{"expression":{"id":73384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73375,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"16693:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":73378,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16760:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73381,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16777:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16769:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73379,"name":"address","nodeType":"ElementaryTypeName","src":"16769:7:111","typeDescriptions":{}}},"id":73382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16769:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73376,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16717:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16735:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"16717:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16717:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16693:90:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73385,"nodeType":"ExpressionStatement","src":"16693:90:111"},{"expression":{"arguments":[{"id":73389,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16838:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73392,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16855:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16847:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73390,"name":"address","nodeType":"ElementaryTypeName","src":"16847:7:111","typeDescriptions":{}}},"id":73393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16847:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73386,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"16793:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16811:26:111","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77790,"src":"16793:44:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16793:68:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73395,"nodeType":"ExpressionStatement","src":"16793:68:111"},{"expression":{"arguments":[{"id":73397,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16925:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73396,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"16916:8:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73399,"nodeType":"ExpressionStatement","src":"16916:17:111"},{"eventCall":{"arguments":[{"id":73401,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73372,"src":"16966:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73400,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72640,"src":"16948:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16948:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73403,"nodeType":"EmitStatement","src":"16943:31:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"16639:17:111","parameters":{"id":73373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73372,"mutability":"mutable","name":"_member","nameLocation":"16665:7:111","nodeType":"VariableDeclaration","scope":73405,"src":"16657:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73371,"name":"address","nodeType":"ElementaryTypeName","src":"16657:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16656:17:111"},"returnParameters":{"id":73374,"nodeType":"ParameterList","parameters":[],"src":"16683:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73498,"nodeType":"FunctionDefinition","src":"16987:1057:111","nodes":[],"body":{"id":73497,"nodeType":"Block","src":"17078:966:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73414,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72998,"src":"17133:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17133:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73416,"nodeType":"ExpressionStatement","src":"17133:23:111"},{"condition":{"id":73420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17170:27:111","subExpression":{"arguments":[{"id":73418,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17189:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73417,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"17171:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17171:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73425,"nodeType":"IfStatement","src":"17166:90:111","trueBody":{"id":73424,"nodeType":"Block","src":"17199:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73421,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"17220:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17220:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73423,"nodeType":"RevertStatement","src":"17213:32:111"}]}},{"assignments":[73427],"declarations":[{"constant":false,"id":73427,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17273:16:111","nodeType":"VariableDeclaration","scope":73497,"src":"17265:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73426,"name":"uint256","nodeType":"ElementaryTypeName","src":"17265:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73429,"initialValue":{"hexValue":"30","id":73428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17292:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17265:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73430,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"17307:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73431,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"17322:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17337:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"17322:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17349:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72388,"src":"17322:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"17307:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73442,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"17452:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73443,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"17467:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17482:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"17467:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17494:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72387,"src":"17467:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"17452:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73455,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"17600:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73456,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"17615:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17630:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"17615:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17642:9:111","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":72389,"src":"17615:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"17600:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73468,"nodeType":"IfStatement","src":"17596:148:111","trueBody":{"id":73467,"nodeType":"Block","src":"17653:91:111","statements":[{"expression":{"id":73465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73460,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17667:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73462,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17709:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73463,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17718:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73461,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73684,"src":"17686:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17686:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17667:66:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73466,"nodeType":"ExpressionStatement","src":"17667:66:111"}]}},"id":73469,"nodeType":"IfStatement","src":"17448:296:111","trueBody":{"id":73454,"nodeType":"Block","src":"17502:88:111","statements":[{"expression":{"id":73452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73447,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17516:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73449,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17555:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73450,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17564:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73448,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73606,"src":"17535:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17535:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17516:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73453,"nodeType":"ExpressionStatement","src":"17516:63:111"}]}},"id":73470,"nodeType":"IfStatement","src":"17303:441:111","trueBody":{"id":73441,"nodeType":"Block","src":"17360:82:111","statements":[{"expression":{"id":73439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73435,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17374:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73437,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17416:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73436,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73564,"src":"17393:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17393:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17374:57:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73440,"nodeType":"ExpressionStatement","src":"17374:57:111"}]}},{"assignments":[73472],"declarations":[{"constant":false,"id":73472,"mutability":"mutable","name":"isActivated","nameLocation":"17758:11:111","nodeType":"VariableDeclaration","scope":73497,"src":"17753:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73471,"name":"bool","nodeType":"ElementaryTypeName","src":"17753:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73481,"initialValue":{"arguments":[{"id":73475,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17818:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73478,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17835:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17827:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73476,"name":"address","nodeType":"ElementaryTypeName","src":"17827:7:111","typeDescriptions":{}}},"id":73479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17827:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73473,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"17772:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17790:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77088,"src":"17772:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17772:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"17753:88:111"},{"condition":{"id":73482,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73472,"src":"17855:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73488,"nodeType":"IfStatement","src":"17851:82:111","trueBody":{"id":73487,"nodeType":"Block","src":"17868:65:111","statements":[{"expression":{"id":73485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73483,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"17882:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":73484,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17906:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17882:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73486,"nodeType":"ExpressionStatement","src":"17882:40:111"}]}},{"eventCall":{"arguments":[{"id":73490,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"17962:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73491,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73409,"src":"17971:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73492,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"17987:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73489,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72648,"src":"17947:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17947:57:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73494,"nodeType":"EmitStatement","src":"17942:62:111"},{"expression":{"id":73495,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73427,"src":"18021:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73413,"id":73496,"nodeType":"Return","src":"18014:23:111"}]},"baseFunctions":[72365],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"16996:13:111","parameters":{"id":73410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73407,"mutability":"mutable","name":"_member","nameLocation":"17018:7:111","nodeType":"VariableDeclaration","scope":73498,"src":"17010:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73406,"name":"address","nodeType":"ElementaryTypeName","src":"17010:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73409,"mutability":"mutable","name":"_amountToStake","nameLocation":"17035:14:111","nodeType":"VariableDeclaration","scope":73498,"src":"17027:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73408,"name":"uint256","nodeType":"ElementaryTypeName","src":"17027:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17009:41:111"},"returnParameters":{"id":73413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73498,"src":"17069:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73411,"name":"uint256","nodeType":"ElementaryTypeName","src":"17069:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17068:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73554,"nodeType":"FunctionDefinition","src":"18050:681:111","nodes":[],"body":{"id":73553,"nodeType":"Block","src":"18143:588:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73507,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72998,"src":"18153:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18153:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73509,"nodeType":"ExpressionStatement","src":"18153:23:111"},{"assignments":[73511],"declarations":[{"constant":false,"id":73511,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18240:16:111","nodeType":"VariableDeclaration","scope":73553,"src":"18232:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18232:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73513,"initialValue":{"hexValue":"30","id":73512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18259:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18232:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73514,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"18274:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73515,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"18289:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18304:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"18289:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18316:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72388,"src":"18289:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"18274:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":73523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73519,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"18329:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73520,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"18344:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18359:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"18344:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18371:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72387,"src":"18344:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"18329:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18274:103:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":73539,"nodeType":"Block","src":"18475:93:111","statements":[{"expression":{"id":73537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73532,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18489:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73534,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"18531:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73535,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"18540:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73533,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73768,"src":"18508:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18508:49:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18489:68:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73538,"nodeType":"ExpressionStatement","src":"18489:68:111"}]},"id":73540,"nodeType":"IfStatement","src":"18270:298:111","trueBody":{"id":73531,"nodeType":"Block","src":"18379:90:111","statements":[{"expression":{"id":73529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73525,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18393:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73527,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"18441:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73526,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73694,"src":"18412:28:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18412:46:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18393:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73530,"nodeType":"ExpressionStatement","src":"18393:65:111"}]}},{"expression":{"id":73543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73541,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"18577:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":73542,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18601:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18577:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73544,"nodeType":"ExpressionStatement","src":"18577:40:111"},{"eventCall":{"arguments":[{"id":73546,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"18647:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73547,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"18656:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73548,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18674:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73545,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72656,"src":"18632:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18632:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73550,"nodeType":"EmitStatement","src":"18627:64:111"},{"expression":{"id":73551,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73511,"src":"18708:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73506,"id":73552,"nodeType":"Return","src":"18701:23:111"}]},"baseFunctions":[72374],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18059:13:111","parameters":{"id":73503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73500,"mutability":"mutable","name":"_member","nameLocation":"18081:7:111","nodeType":"VariableDeclaration","scope":73554,"src":"18073:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73499,"name":"address","nodeType":"ElementaryTypeName","src":"18073:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73502,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18098:16:111","nodeType":"VariableDeclaration","scope":73554,"src":"18090:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73501,"name":"uint256","nodeType":"ElementaryTypeName","src":"18090:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18072:43:111"},"returnParameters":{"id":73506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73554,"src":"18134:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73504,"name":"uint256","nodeType":"ElementaryTypeName","src":"18134:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18133:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73564,"nodeType":"FunctionDefinition","src":"18737:126:111","nodes":[],"body":{"id":73563,"nodeType":"Block","src":"18825:38:111","nodes":[],"statements":[{"expression":{"id":73561,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73556,"src":"18842:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73560,"id":73562,"nodeType":"Return","src":"18835:21:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"18746:22:111","parameters":{"id":73557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73556,"mutability":"mutable","name":"_amountToStake","nameLocation":"18777:14:111","nodeType":"VariableDeclaration","scope":73564,"src":"18769:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73555,"name":"uint256","nodeType":"ElementaryTypeName","src":"18769:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18768:24:111"},"returnParameters":{"id":73560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73564,"src":"18816:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73558,"name":"uint256","nodeType":"ElementaryTypeName","src":"18816:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18815:9:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73606,"nodeType":"FunctionDefinition","src":"18869:624:111","nodes":[],"body":{"id":73605,"nodeType":"Block","src":"18971:522:111","nodes":[],"statements":[{"assignments":[73574],"declarations":[{"constant":false,"id":73574,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"18989:16:111","nodeType":"VariableDeclaration","scope":73605,"src":"18981:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73573,"name":"uint256","nodeType":"ElementaryTypeName","src":"18981:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73576,"initialValue":{"id":73575,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73568,"src":"19008:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18981:41:111"},{"assignments":[73578],"declarations":[{"constant":false,"id":73578,"mutability":"mutable","name":"memberPower","nameLocation":"19104:11:111","nodeType":"VariableDeclaration","scope":73605,"src":"19096:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73577,"name":"uint256","nodeType":"ElementaryTypeName","src":"19096:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73587,"initialValue":{"arguments":[{"id":73581,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73566,"src":"19161:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73584,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19178:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19170:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73582,"name":"address","nodeType":"ElementaryTypeName","src":"19170:7:111","typeDescriptions":{}}},"id":73585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19170:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73579,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"19118:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19136:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"19118:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19118:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19096:88:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73588,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73578,"src":"19250:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73589,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73574,"src":"19264:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19250:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":73591,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"19283:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19295:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"19283:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19250:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73602,"nodeType":"IfStatement","src":"19246:139:111","trueBody":{"id":73601,"nodeType":"Block","src":"19306:79:111","statements":[{"expression":{"id":73599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73594,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73574,"src":"19320:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73595,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"19339:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19351:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"19339:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73597,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73578,"src":"19363:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19339:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19320:54:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73600,"nodeType":"ExpressionStatement","src":"19320:54:111"}]}},{"expression":{"id":73603,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73574,"src":"19470:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73572,"id":73604,"nodeType":"Return","src":"19463:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"18878:19:111","parameters":{"id":73569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73566,"mutability":"mutable","name":"_member","nameLocation":"18906:7:111","nodeType":"VariableDeclaration","scope":73606,"src":"18898:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73565,"name":"address","nodeType":"ElementaryTypeName","src":"18898:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73568,"mutability":"mutable","name":"_amountToStake","nameLocation":"18923:14:111","nodeType":"VariableDeclaration","scope":73606,"src":"18915:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73567,"name":"uint256","nodeType":"ElementaryTypeName","src":"18915:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18897:41:111"},"returnParameters":{"id":73572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73606,"src":"18962:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73570,"name":"uint256","nodeType":"ElementaryTypeName","src":"18962:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18961:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73684,"nodeType":"FunctionDefinition","src":"19499:733:111","nodes":[],"body":{"id":73683,"nodeType":"Block","src":"19604:628:111","nodes":[],"statements":[{"assignments":[73616],"declarations":[{"constant":false,"id":73616,"mutability":"mutable","name":"totalStake","nameLocation":"19622:10:111","nodeType":"VariableDeclaration","scope":73683,"src":"19614:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73615,"name":"uint256","nodeType":"ElementaryTypeName","src":"19614:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73623,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73619,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73608,"src":"19675:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73617,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"19635:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19653:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78113,"src":"19635:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19635:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73621,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73610,"src":"19686:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19635:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19614:86:111"},{"assignments":[73625],"declarations":[{"constant":false,"id":73625,"mutability":"mutable","name":"decimal","nameLocation":"19719:7:111","nodeType":"VariableDeclaration","scope":73683,"src":"19711:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73624,"name":"uint256","nodeType":"ElementaryTypeName","src":"19711:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73627,"initialValue":{"hexValue":"3138","id":73626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19729:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"19711:20:111"},{"clauses":[{"block":{"id":73648,"nodeType":"Block","src":"19829:52:111","statements":[{"expression":{"id":73646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73641,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73625,"src":"19843:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73644,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73639,"src":"19861:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19853:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73642,"name":"uint256","nodeType":"ElementaryTypeName","src":"19853:7:111","typeDescriptions":{}}},"id":73645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19853:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19843:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73647,"nodeType":"ExpressionStatement","src":"19843:27:111"}]},"errorName":"","id":73649,"nodeType":"TryCatchClause","parameters":{"id":73640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73639,"mutability":"mutable","name":"_decimal","nameLocation":"19819:8:111","nodeType":"VariableDeclaration","scope":73649,"src":"19813:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73638,"name":"uint8","nodeType":"ElementaryTypeName","src":"19813:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"19812:16:111"},"src":"19804:77:111"},{"block":{"id":73650,"nodeType":"Block","src":"19888:64:111","statements":[]},"errorName":"","id":73651,"nodeType":"TryCatchClause","src":"19882:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73631,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"19759:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19777:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77043,"src":"19759:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19759:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19751:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73629,"name":"address","nodeType":"ElementaryTypeName","src":"19751:7:111","typeDescriptions":{}}},"id":73634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19751:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73628,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"19745:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19745:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19793:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"19745:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19745:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73652,"nodeType":"TryStatement","src":"19741:211:111"},{"assignments":[73654],"declarations":[{"constant":false,"id":73654,"mutability":"mutable","name":"newTotalPoints","nameLocation":"19969:14:111","nodeType":"VariableDeclaration","scope":73683,"src":"19961:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73653,"name":"uint256","nodeType":"ElementaryTypeName","src":"19961:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73663,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73657,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73616,"src":"19996:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20009:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73659,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73625,"src":"20015:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20009:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19996:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73655,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"19986:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19991:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"19986:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19986:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19961:62:111"},{"assignments":[73665],"declarations":[{"constant":false,"id":73665,"mutability":"mutable","name":"currentPoints","nameLocation":"20041:13:111","nodeType":"VariableDeclaration","scope":73683,"src":"20033:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73664,"name":"uint256","nodeType":"ElementaryTypeName","src":"20033:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73674,"initialValue":{"arguments":[{"id":73668,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73608,"src":"20100:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73671,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20117:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20109:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73669,"name":"address","nodeType":"ElementaryTypeName","src":"20109:7:111","typeDescriptions":{}}},"id":73672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20109:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73666,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"20057:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20075:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"20057:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20057:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20033:90:111"},{"assignments":[73676],"declarations":[{"constant":false,"id":73676,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20142:16:111","nodeType":"VariableDeclaration","scope":73683,"src":"20134:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73675,"name":"uint256","nodeType":"ElementaryTypeName","src":"20134:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73680,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73677,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73654,"src":"20161:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73678,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73665,"src":"20178:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20161:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20134:57:111"},{"expression":{"id":73681,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73676,"src":"20209:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73614,"id":73682,"nodeType":"Return","src":"20202:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19508:22:111","parameters":{"id":73611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73608,"mutability":"mutable","name":"_member","nameLocation":"19539:7:111","nodeType":"VariableDeclaration","scope":73684,"src":"19531:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73607,"name":"address","nodeType":"ElementaryTypeName","src":"19531:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73610,"mutability":"mutable","name":"_amountToStake","nameLocation":"19556:14:111","nodeType":"VariableDeclaration","scope":73684,"src":"19548:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73609,"name":"uint256","nodeType":"ElementaryTypeName","src":"19548:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19530:41:111"},"returnParameters":{"id":73614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73684,"src":"19595:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73612,"name":"uint256","nodeType":"ElementaryTypeName","src":"19595:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19594:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73694,"nodeType":"FunctionDefinition","src":"20238:136:111","nodes":[],"body":{"id":73693,"nodeType":"Block","src":"20334:40:111","nodes":[],"statements":[{"expression":{"id":73691,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73686,"src":"20351:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73690,"id":73692,"nodeType":"Return","src":"20344:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20247:28:111","parameters":{"id":73687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73686,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20284:16:111","nodeType":"VariableDeclaration","scope":73694,"src":"20276:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73685,"name":"uint256","nodeType":"ElementaryTypeName","src":"20276:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20275:26:111"},"returnParameters":{"id":73690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73689,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73694,"src":"20325:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73688,"name":"uint256","nodeType":"ElementaryTypeName","src":"20325:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20324:9:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73768,"nodeType":"FunctionDefinition","src":"20380:811:111","nodes":[],"body":{"id":73767,"nodeType":"Block","src":"20487:704:111","nodes":[],"statements":[{"assignments":[73704],"declarations":[{"constant":false,"id":73704,"mutability":"mutable","name":"decimal","nameLocation":"20505:7:111","nodeType":"VariableDeclaration","scope":73767,"src":"20497:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73703,"name":"uint256","nodeType":"ElementaryTypeName","src":"20497:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73706,"initialValue":{"hexValue":"3138","id":73705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20515:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20497:20:111"},{"clauses":[{"block":{"id":73727,"nodeType":"Block","src":"20615:52:111","statements":[{"expression":{"id":73725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73720,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73704,"src":"20629:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73723,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73718,"src":"20647:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20639:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73721,"name":"uint256","nodeType":"ElementaryTypeName","src":"20639:7:111","typeDescriptions":{}}},"id":73724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20639:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20629:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73726,"nodeType":"ExpressionStatement","src":"20629:27:111"}]},"errorName":"","id":73728,"nodeType":"TryCatchClause","parameters":{"id":73719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73718,"mutability":"mutable","name":"_decimal","nameLocation":"20605:8:111","nodeType":"VariableDeclaration","scope":73728,"src":"20599:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73717,"name":"uint8","nodeType":"ElementaryTypeName","src":"20599:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20598:16:111"},"src":"20590:77:111"},{"block":{"id":73729,"nodeType":"Block","src":"20674:64:111","statements":[]},"errorName":"","id":73730,"nodeType":"TryCatchClause","src":"20668:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73710,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"20545:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20563:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77043,"src":"20545:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20545:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20537:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73708,"name":"address","nodeType":"ElementaryTypeName","src":"20537:7:111","typeDescriptions":{}}},"id":73713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20537:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73707,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"20531:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20531:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20579:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"20531:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20531:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73731,"nodeType":"TryStatement","src":"20527:211:111"},{"assignments":[73733],"declarations":[{"constant":false,"id":73733,"mutability":"mutable","name":"newTotalStake","nameLocation":"20817:13:111","nodeType":"VariableDeclaration","scope":73767,"src":"20809:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73732,"name":"uint256","nodeType":"ElementaryTypeName","src":"20809:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73740,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73736,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73696,"src":"20873:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73734,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"20833:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20851:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78113,"src":"20833:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20833:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73738,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73698,"src":"20884:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20833:67:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20809:91:111"},{"assignments":[73742],"declarations":[{"constant":false,"id":73742,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20974:14:111","nodeType":"VariableDeclaration","scope":73767,"src":"20966:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73741,"name":"uint256","nodeType":"ElementaryTypeName","src":"20966:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73751,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73745,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73733,"src":"21001:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21017:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73747,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73704,"src":"21023:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21017:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21001:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73743,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"20991:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20996:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"20991:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20991:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20966:65:111"},{"assignments":[73753],"declarations":[{"constant":false,"id":73753,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21049:16:111","nodeType":"VariableDeclaration","scope":73767,"src":"21041:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73752,"name":"uint256","nodeType":"ElementaryTypeName","src":"21041:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73764,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73756,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73696,"src":"21111:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73759,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21128:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21120:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73757,"name":"address","nodeType":"ElementaryTypeName","src":"21120:7:111","typeDescriptions":{}}},"id":73760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21120:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73754,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"21068:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21086:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"21068:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21068:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73762,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73742,"src":"21137:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21068:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21041:110:111"},{"expression":{"id":73765,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73753,"src":"21168:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73702,"id":73766,"nodeType":"Return","src":"21161:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20389:22:111","parameters":{"id":73699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73696,"mutability":"mutable","name":"_member","nameLocation":"20420:7:111","nodeType":"VariableDeclaration","scope":73768,"src":"20412:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73695,"name":"address","nodeType":"ElementaryTypeName","src":"20412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73698,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20437:16:111","nodeType":"VariableDeclaration","scope":73768,"src":"20429:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73697,"name":"uint256","nodeType":"ElementaryTypeName","src":"20429:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20411:43:111"},"returnParameters":{"id":73702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73701,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73768,"src":"20478:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73700,"name":"uint256","nodeType":"ElementaryTypeName","src":"20478:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20477:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73777,"nodeType":"FunctionDefinition","src":"21197:99:111","nodes":[],"body":{"id":73776,"nodeType":"Block","src":"21251:45:111","nodes":[],"statements":[{"expression":{"expression":{"id":73773,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"21268:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72459_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73774,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21280:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"21268:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73772,"id":73775,"nodeType":"Return","src":"21261:28:111"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21206:12:111","parameters":{"id":73769,"nodeType":"ParameterList","parameters":[],"src":"21218:2:111"},"returnParameters":{"id":73772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73777,"src":"21242:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73770,"name":"uint256","nodeType":"ElementaryTypeName","src":"21242:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21241:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73786,"nodeType":"FunctionDefinition","src":"21302:110:111","nodes":[],"body":{"id":73785,"nodeType":"Block","src":"21377:35:111","nodes":[],"statements":[{"expression":{"id":73783,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72759,"src":"21394:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":73782,"id":73784,"nodeType":"Return","src":"21387:18:111"}]},"baseFunctions":[72380],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21311:14:111","parameters":{"id":73778,"nodeType":"ParameterList","parameters":[],"src":"21325:2:111"},"returnParameters":{"id":73782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73786,"src":"21349:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":73780,"nodeType":"UserDefinedTypeName","pathNode":{"id":73779,"name":"StrategyStruct.PointSystem","nameLocations":["21349:14:111","21364:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72390,"src":"21349:26:111"},"referencedDeclaration":72390,"src":"21349:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21348:28:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73797,"nodeType":"FunctionDefinition","src":"21531:226:111","nodes":[],"body":{"id":73796,"nodeType":"Block","src":"21609:148:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73793,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72523,"src":"21674:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21674:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73795,"nodeType":"RevertStatement","src":"21667:23:111"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"21540:15:111","parameters":{"id":73791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73797,"src":"21556:39:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73788,"nodeType":"UserDefinedTypeName","pathNode":{"id":73787,"name":"StrategyStruct.ProposalSupport","nameLocations":["21556:14:111","21571:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"21556:30:111"},"referencedDeclaration":72456,"src":"21556:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73789,"nodeType":"ArrayTypeName","src":"21556:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"21555:41:111"},"returnParameters":{"id":73792,"nodeType":"ParameterList","parameters":[],"src":"21609:0:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":73862,"nodeType":"FunctionDefinition","src":"21903:650:111","nodes":[],"body":{"id":73861,"nodeType":"Block","src":"21977:576:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":73806,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22007:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73805,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72982,"src":"21987:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":73807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73808,"nodeType":"ExpressionStatement","src":"21987:28:111"},{"condition":{"id":73812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22029:27:111","subExpression":{"arguments":[{"id":73810,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22048:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73809,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73062,"src":"22030:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22030:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73817,"nodeType":"IfStatement","src":"22025:90:111","trueBody":{"id":73816,"nodeType":"Block","src":"22058:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73813,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"22079:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22079:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73815,"nodeType":"RevertStatement","src":"22072:32:111"}]}},{"assignments":[73819],"declarations":[{"constant":false,"id":73819,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22175:23:111","nodeType":"VariableDeclaration","scope":73861,"src":"22170:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73818,"name":"bool","nodeType":"ElementaryTypeName","src":"22170:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73828,"initialValue":{"arguments":[{"id":73822,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22247:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73825,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22264:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":73824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22256:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73823,"name":"address","nodeType":"ElementaryTypeName","src":"22256:7:111","typeDescriptions":{}}},"id":73826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22256:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73820,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"22201:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":73821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22219:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77088,"src":"22201:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22201:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22170:100:111"},{"condition":{"id":73830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22284:24:111","subExpression":{"id":73829,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73819,"src":"22285:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73835,"nodeType":"IfStatement","src":"22280:78:111","trueBody":{"id":73834,"nodeType":"Block","src":"22310:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73831,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72519,"src":"22331:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22331:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73833,"nodeType":"RevertStatement","src":"22324:23:111"}]}},{"assignments":[73841],"declarations":[{"constant":false,"id":73841,"mutability":"mutable","name":"pv","nameLocation":"22407:2:111","nodeType":"VariableDeclaration","scope":73861,"src":"22367:42:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73839,"nodeType":"UserDefinedTypeName","pathNode":{"id":73838,"name":"StrategyStruct.ProposalSupport","nameLocations":["22367:14:111","22382:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"22367:30:111"},"referencedDeclaration":72456,"src":"22367:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73840,"nodeType":"ArrayTypeName","src":"22367:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":73850,"initialValue":{"arguments":[{"id":73844,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73799,"src":"22423:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":73845,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"22431:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22446:15:111","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"22431:30:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$72456_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":73847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22431:32:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":73848,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22430:34:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":73842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22412:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22416:6:111","memberName":"decode","nodeType":"MemberAccess","src":"22412:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22412:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22367:98:111"},{"expression":{"arguments":[{"id":73852,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22500:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73853,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73841,"src":"22509:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73851,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74574,"src":"22475:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22475:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73855,"nodeType":"ExpressionStatement","src":"22475:37:111"},{"expression":{"arguments":[{"id":73857,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"22534:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73858,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73841,"src":"22543:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73856,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74861,"src":"22522:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22522:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73860,"nodeType":"ExpressionStatement","src":"22522:24:111"}]},"baseFunctions":[72208],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"21912:9:111","overrides":{"id":73803,"nodeType":"OverrideSpecifier","overrides":[],"src":"21968:8:111"},"parameters":{"id":73802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73799,"mutability":"mutable","name":"_data","nameLocation":"21935:5:111","nodeType":"VariableDeclaration","scope":73862,"src":"21922:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73798,"name":"bytes","nodeType":"ElementaryTypeName","src":"21922:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73801,"mutability":"mutable","name":"_sender","nameLocation":"21950:7:111","nodeType":"VariableDeclaration","scope":73862,"src":"21942:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73800,"name":"address","nodeType":"ElementaryTypeName","src":"21942:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21921:37:111"},"returnParameters":{"id":73804,"nodeType":"ParameterList","parameters":[],"src":"21977:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74029,"nodeType":"FunctionDefinition","src":"22809:1879:111","nodes":[],"body":{"id":74028,"nodeType":"Block","src":"22895:1793:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73873,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73867,"src":"22954:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22960:6:111","memberName":"length","nodeType":"MemberAccess","src":"22954:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":73875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22970:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22954:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73881,"nodeType":"IfStatement","src":"22950:76:111","trueBody":{"id":73880,"nodeType":"Block","src":"22973:53:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73877,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72555,"src":"22994:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22994:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73879,"nodeType":"RevertStatement","src":"22987:28:111"}]}},{"assignments":[73883],"declarations":[{"constant":false,"id":73883,"mutability":"mutable","name":"proposalId","nameLocation":"23044:10:111","nodeType":"VariableDeclaration","scope":74028,"src":"23036:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73882,"name":"uint256","nodeType":"ElementaryTypeName","src":"23036:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73891,"initialValue":{"arguments":[{"id":73886,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73867,"src":"23068:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":73888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23076:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73887,"name":"uint256","nodeType":"ElementaryTypeName","src":"23076:7:111","typeDescriptions":{}}}],"id":73889,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23075:9:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":73884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23057:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23061:6:111","memberName":"decode","nodeType":"MemberAccess","src":"23057:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23057:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23036:49:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73892,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23100:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23114:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23100:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73899,"nodeType":"IfStatement","src":"23096:77:111","trueBody":{"id":73898,"nodeType":"Block","src":"23117:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73895,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72557,"src":"23138:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23138:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73897,"nodeType":"RevertStatement","src":"23131:31:111"}]}},{"assignments":[73904],"declarations":[{"constant":false,"id":73904,"mutability":"mutable","name":"proposal","nameLocation":"23214:8:111","nodeType":"VariableDeclaration","scope":74028,"src":"23182:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73903,"nodeType":"UserDefinedTypeName","pathNode":{"id":73902,"name":"StrategyStruct.Proposal","nameLocations":["23182:14:111","23197:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"23182:23:111"},"referencedDeclaration":72451,"src":"23182:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73908,"initialValue":{"baseExpression":{"id":73905,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"23225:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73907,"indexExpression":{"id":73906,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23235:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23225:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23182:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"},"id":73913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73909,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72756,"src":"23261:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73910,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"23277:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23292:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72385,"src":"23277:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72385_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23305:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72383,"src":"23277:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72385","typeString":"enum StrategyStruct.ProposalType"}},"src":"23261:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74027,"nodeType":"IfStatement","src":"23257:1365:111","trueBody":{"id":74026,"nodeType":"Block","src":"23314:1308:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73914,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23332:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23341:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"23332:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":73916,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23355:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23332:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73923,"nodeType":"IfStatement","src":"23328:108:111","trueBody":{"id":73922,"nodeType":"Block","src":"23367:69:111","statements":[{"errorCall":{"arguments":[{"id":73919,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23410:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73918,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"23392:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":73920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23392:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73921,"nodeType":"RevertStatement","src":"23385:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73924,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23454:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23463:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23454:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":73926,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"23481:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23454:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73936,"nodeType":"IfStatement","src":"23450:152:111","trueBody":{"id":73935,"nodeType":"Block","src":"23493:109:111","statements":[{"errorCall":{"arguments":[{"id":73929,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23538:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73930,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23550:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23559:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23550:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73932,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"23576:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73928,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72583,"src":"23518:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":73933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23518:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73934,"nodeType":"RevertStatement","src":"23511:76:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"id":73942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73937,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23620:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23629:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"23620:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":73939,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"23647:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":73940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23662:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"23647:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":73941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23677:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"23647:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"23620:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73948,"nodeType":"IfStatement","src":"23616:138:111","trueBody":{"id":73947,"nodeType":"Block","src":"23685:69:111","statements":[{"errorCall":{"arguments":[{"id":73944,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23728:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73943,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72561,"src":"23710:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":73945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23710:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73946,"nodeType":"RevertStatement","src":"23703:36:111"}]}},{"assignments":[73950],"declarations":[{"constant":false,"id":73950,"mutability":"mutable","name":"convictionLast","nameLocation":"23776:14:111","nodeType":"VariableDeclaration","scope":74026,"src":"23768:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73949,"name":"uint256","nodeType":"ElementaryTypeName","src":"23768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73954,"initialValue":{"arguments":[{"id":73952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"23818:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73951,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"23793:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":73953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23793:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23768:61:111"},{"assignments":[73956],"declarations":[{"constant":false,"id":73956,"mutability":"mutable","name":"threshold","nameLocation":"23851:9:111","nodeType":"VariableDeclaration","scope":74026,"src":"23843:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73955,"name":"uint256","nodeType":"ElementaryTypeName","src":"23843:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73961,"initialValue":{"arguments":[{"expression":{"id":73958,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23882:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23891:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23882:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73957,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75047,"src":"23863:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":73960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23863:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23843:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73962,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73950,"src":"23926:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":73963,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73956,"src":"23943:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23926:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73965,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"23956:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23965:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"23956:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":73967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23983:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23956:28:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23926:58:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73974,"nodeType":"IfStatement","src":"23922:137:111","trueBody":{"id":73973,"nodeType":"Block","src":"23986:73:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73970,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72573,"src":"24011:31:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24011:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73972,"nodeType":"RevertStatement","src":"24004:40:111"}]}},{"assignments":[73979],"declarations":[{"constant":false,"id":73979,"mutability":"mutable","name":"pool","nameLocation":"24091:4:111","nodeType":"VariableDeclaration","scope":74026,"src":"24073:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73978,"nodeType":"UserDefinedTypeName","pathNode":{"id":73977,"name":"IAllo.Pool","nameLocations":["24073:5:111","24079:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24073:10:111"},"referencedDeclaration":2319,"src":"24073:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":73984,"initialValue":{"arguments":[{"id":73982,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71732,"src":"24111:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73980,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71726,"src":"24098:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":73981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24103:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24098:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":73983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24098:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24073:45:111"},{"expression":{"id":73988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73985,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"24133:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":73986,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24147:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73987,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24156:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"24147:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24133:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73989,"nodeType":"ExpressionStatement","src":"24133:38:111"},{"expression":{"arguments":[{"expression":{"id":73991,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73979,"src":"24209:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":73992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24214:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24209:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24221:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24230:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"24221:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73995,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24243:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73996,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24252:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"24243:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73990,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24193:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":73997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24193:75:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73998,"nodeType":"ExpressionStatement","src":"24193:75:111"},{"expression":{"id":74005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73999,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24299:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24308:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"24299:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":74002,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"24325:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":74003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24340:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"24325:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":74004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24355:8:111","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":72407,"src":"24325:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24299:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":74006,"nodeType":"ExpressionStatement","src":"24299:64:111"},{"expression":{"arguments":[{"id":74010,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"24429:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74011,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24441:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24450:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"24441:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":74013,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24461:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24470:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"24461:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":74015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24482:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"24461:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74007,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"24377:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":74009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24393:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"24377:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":74016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24377:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74017,"nodeType":"ExpressionStatement","src":"24377:143:111"},{"eventCall":{"arguments":[{"id":74019,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"24552:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74020,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24564:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24573:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"24564:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74022,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"24586:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74023,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24595:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"24586:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74018,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[72626,2858],"referencedDeclaration":72626,"src":"24540:11:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":74024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24540:71:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74025,"nodeType":"EmitStatement","src":"24535:76:111"}]}}]},"baseFunctions":[72219],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"22818:11:111","overrides":{"id":73871,"nodeType":"OverrideSpecifier","overrides":[],"src":"22886:8:111"},"parameters":{"id":73870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74029,"src":"22830:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73863,"name":"address","nodeType":"ElementaryTypeName","src":"22830:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73864,"nodeType":"ArrayTypeName","src":"22830:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":73867,"mutability":"mutable","name":"_data","nameLocation":"22861:5:111","nodeType":"VariableDeclaration","scope":74029,"src":"22848:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73866,"name":"bytes","nodeType":"ElementaryTypeName","src":"22848:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74029,"src":"22868:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73868,"name":"address","nodeType":"ElementaryTypeName","src":"22868:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22829:47:111"},"returnParameters":{"id":73872,"nodeType":"ParameterList","parameters":[],"src":"22895:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74083,"nodeType":"FunctionDefinition","src":"24694:735:111","nodes":[],"body":{"id":74082,"nodeType":"Block","src":"24783:646:111","nodes":[],"statements":[{"assignments":[74040],"declarations":[{"constant":false,"id":74040,"mutability":"mutable","name":"proposal","nameLocation":"24825:8:111","nodeType":"VariableDeclaration","scope":74082,"src":"24793:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74039,"nodeType":"UserDefinedTypeName","pathNode":{"id":74038,"name":"StrategyStruct.Proposal","nameLocations":["24793:14:111","24808:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"24793:23:111"},"referencedDeclaration":72451,"src":"24793:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74044,"initialValue":{"baseExpression":{"id":74041,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"24836:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74043,"indexExpression":{"id":74042,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74031,"src":"24846:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24836:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24793:64:111"},{"assignments":[74046,74048],"declarations":[{"constant":false,"id":74046,"mutability":"mutable","name":"convictionLast","nameLocation":"24951:14:111","nodeType":"VariableDeclaration","scope":74082,"src":"24943:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74045,"name":"uint256","nodeType":"ElementaryTypeName","src":"24943:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74048,"mutability":"mutable","name":"blockNumber","nameLocation":"24975:11:111","nodeType":"VariableDeclaration","scope":74082,"src":"24967:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74047,"name":"uint256","nodeType":"ElementaryTypeName","src":"24967:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74054,"initialValue":{"arguments":[{"id":74050,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25036:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":74051,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25046:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25055:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"25046:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74049,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75243,"src":"25002:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":74053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25002:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24942:126:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74055,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"25083:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25101:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25083:19:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74058,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74048,"src":"25106:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25121:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25106:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25083:39:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74068,"nodeType":"IfStatement","src":"25079:110:111","trueBody":{"id":74067,"nodeType":"Block","src":"25124:65:111","statements":[{"expression":{"id":74065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74062,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"25138:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74063,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25155:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25164:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"25155:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25138:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74066,"nodeType":"ExpressionStatement","src":"25138:40:111"}]}},{"assignments":[74070],"declarations":[{"constant":false,"id":74070,"mutability":"mutable","name":"threshold","nameLocation":"25206:9:111","nodeType":"VariableDeclaration","scope":74082,"src":"25198:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74069,"name":"uint256","nodeType":"ElementaryTypeName","src":"25198:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74075,"initialValue":{"arguments":[{"expression":{"id":74072,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74040,"src":"25237:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25246:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"25237:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74071,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75047,"src":"25218:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25218:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25198:64:111"},{"expression":{"id":74080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74076,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74034,"src":"25379:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74077,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"25395:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":74078,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74070,"src":"25413:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25395:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25379:43:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74081,"nodeType":"ExpressionStatement","src":"25379:43:111"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"24703:18:111","parameters":{"id":74032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74031,"mutability":"mutable","name":"proposalId","nameLocation":"24730:10:111","nodeType":"VariableDeclaration","scope":74083,"src":"24722:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74030,"name":"uint256","nodeType":"ElementaryTypeName","src":"24722:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24721:20:111"},"returnParameters":{"id":74035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74034,"mutability":"mutable","name":"canBeExecuted","nameLocation":"24768:13:111","nodeType":"VariableDeclaration","scope":74083,"src":"24763:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74033,"name":"bool","nodeType":"ElementaryTypeName","src":"24763:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24762:20:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74105,"nodeType":"FunctionDefinition","src":"25719:220:111","nodes":[],"body":{"id":74104,"nodeType":"Block","src":"25810:129:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74092,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74085,"src":"25870:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25894:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25886:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74093,"name":"address","nodeType":"ElementaryTypeName","src":"25886:7:111","typeDescriptions":{}}},"id":74096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25886:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25870:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":74100,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25917:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25924:8:111","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"25917:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":74102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25870:62:111","trueExpression":{"expression":{"id":74098,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25899:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25906:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"25899:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":74091,"id":74103,"nodeType":"Return","src":"25863:69:111"}]},"baseFunctions":[72239],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"25728:19:111","overrides":{"id":74087,"nodeType":"OverrideSpecifier","overrides":[],"src":"25784:8:111"},"parameters":{"id":74086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74085,"mutability":"mutable","name":"_recipientId","nameLocation":"25756:12:111","nodeType":"VariableDeclaration","scope":74105,"src":"25748:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74084,"name":"address","nodeType":"ElementaryTypeName","src":"25748:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25747:22:111"},"returnParameters":{"id":74091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74105,"src":"25802:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":74089,"nodeType":"UserDefinedTypeName","pathNode":{"id":74088,"name":"Status","nameLocations":["25802:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"25802:6:111"},"referencedDeclaration":2815,"src":"25802:6:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"25801:8:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74124,"nodeType":"FunctionDefinition","src":"26068:288:111","nodes":[],"body":{"id":74123,"nodeType":"Block","src":"26178:178:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74120,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72523,"src":"26238:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26238:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74122,"nodeType":"RevertStatement","src":"26231:23:111"}]},"baseFunctions":[72078],"documentation":{"id":74106,"nodeType":"StructuredDocumentation","src":"25945:118:111","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26077:10:111","overrides":{"id":74114,"nodeType":"OverrideSpecifier","overrides":[],"src":"26136:8:111"},"parameters":{"id":74113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74124,"src":"26088:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74107,"name":"address","nodeType":"ElementaryTypeName","src":"26088:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74108,"nodeType":"ArrayTypeName","src":"26088:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74124,"src":"26106:14:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":74110,"name":"bytes","nodeType":"ElementaryTypeName","src":"26106:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":74111,"nodeType":"ArrayTypeName","src":"26106:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26087:34:111"},"returnParameters":{"id":74119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74118,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74124,"src":"26154:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":74116,"nodeType":"UserDefinedTypeName","pathNode":{"id":74115,"name":"PayoutSummary","nameLocations":["26154:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26154:13:111"},"referencedDeclaration":2820,"src":"26154:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":74117,"nodeType":"ArrayTypeName","src":"26154:15:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26153:24:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":74143,"nodeType":"FunctionDefinition","src":"26362:264:111","nodes":[],"body":{"id":74142,"nodeType":"Block","src":"26514:112:111","nodes":[],"statements":[{"expression":{"id":74135,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74128,"src":"26567:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":74136,"nodeType":"ExpressionStatement","src":"26567:5:111"},{"expression":{"arguments":[{"id":74138,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74126,"src":"26603:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":74139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26617:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74137,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"26589:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":74140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26589:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":74134,"id":74141,"nodeType":"Return","src":"26582:37:111"}]},"baseFunctions":[72230],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26371:10:111","overrides":{"id":74130,"nodeType":"OverrideSpecifier","overrides":[],"src":"26462:8:111"},"parameters":{"id":74129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74126,"mutability":"mutable","name":"_recipientId","nameLocation":"26390:12:111","nodeType":"VariableDeclaration","scope":74143,"src":"26382:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74125,"name":"address","nodeType":"ElementaryTypeName","src":"26382:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74128,"mutability":"mutable","name":"_data","nameLocation":"26417:5:111","nodeType":"VariableDeclaration","scope":74143,"src":"26404:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74127,"name":"bytes","nodeType":"ElementaryTypeName","src":"26404:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26381:42:111"},"returnParameters":{"id":74134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74143,"src":"26488:20:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":74132,"nodeType":"UserDefinedTypeName","pathNode":{"id":74131,"name":"PayoutSummary","nameLocations":["26488:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26488:13:111"},"referencedDeclaration":2820,"src":"26488:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"26487:22:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74154,"nodeType":"FunctionDefinition","src":"26632:127:111","nodes":[],"body":{"id":74153,"nodeType":"Block","src":"26709:50:111","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":74150,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74145,"src":"26744:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74149,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72636,"src":"26724:19:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":74151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26724:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74152,"nodeType":"EmitStatement","src":"26719:33:111"}]},"baseFunctions":[72253],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"26641:24:111","overrides":{"id":74147,"nodeType":"OverrideSpecifier","overrides":[],"src":"26700:8:111"},"parameters":{"id":74146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74145,"mutability":"mutable","name":"_amount","nameLocation":"26674:7:111","nodeType":"VariableDeclaration","scope":74154,"src":"26666:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74144,"name":"uint256","nodeType":"ElementaryTypeName","src":"26666:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26665:17:111"},"returnParameters":{"id":74148,"nodeType":"ParameterList","parameters":[],"src":"26709:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":74173,"nodeType":"FunctionDefinition","src":"26854:191:111","nodes":[],"body":{"id":74172,"nodeType":"Block","src":"26939:106:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74162,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74156,"src":"26999:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27021:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27013:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74163,"name":"address","nodeType":"ElementaryTypeName","src":"27013:7:111","typeDescriptions":{}}},"id":74166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27013:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26999:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":74169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27034:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":74170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26999:39:111","trueExpression":{"hexValue":"66616c7365","id":74168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27026:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74161,"id":74171,"nodeType":"Return","src":"26992:46:111"}]},"baseFunctions":[72190],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"26863:17:111","overrides":{"id":74158,"nodeType":"OverrideSpecifier","overrides":[],"src":"26915:8:111"},"parameters":{"id":74157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74156,"mutability":"mutable","name":"_allocator","nameLocation":"26889:10:111","nodeType":"VariableDeclaration","scope":74173,"src":"26881:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74155,"name":"address","nodeType":"ElementaryTypeName","src":"26881:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26880:20:111"},"returnParameters":{"id":74161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74173,"src":"26933:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74159,"name":"bool","nodeType":"ElementaryTypeName","src":"26933:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26932:6:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74183,"nodeType":"FunctionDefinition","src":"27051:86:111","nodes":[],"body":{"id":74182,"nodeType":"Block","src":"27097:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74179,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74175,"src":"27122:7:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74178,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72173,"src":"27107:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":74180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27107:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74181,"nodeType":"ExpressionStatement","src":"27107:23:111"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27060:13:111","parameters":{"id":74176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74175,"mutability":"mutable","name":"_active","nameLocation":"27079:7:111","nodeType":"VariableDeclaration","scope":74183,"src":"27074:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74174,"name":"bool","nodeType":"ElementaryTypeName","src":"27074:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27073:14:111"},"returnParameters":{"id":74177,"nodeType":"ParameterList","parameters":[],"src":"27097:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74271,"nodeType":"FunctionDefinition","src":"27143:836:111","nodes":[],"body":{"id":74270,"nodeType":"Block","src":"27187:792:111","nodes":[],"statements":[{"assignments":[74192],"declarations":[{"constant":false,"id":74192,"mutability":"mutable","name":"proposalsIds","nameLocation":"27262:12:111","nodeType":"VariableDeclaration","scope":74270,"src":"27245:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74190,"name":"uint256","nodeType":"ElementaryTypeName","src":"27245:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74191,"nodeType":"ArrayTypeName","src":"27245:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74196,"initialValue":{"baseExpression":{"id":74193,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"27277:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74195,"indexExpression":{"id":74194,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27298:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27277:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27245:61:111"},{"body":{"id":74268,"nodeType":"Block","src":"27366:607:111","statements":[{"assignments":[74209],"declarations":[{"constant":false,"id":74209,"mutability":"mutable","name":"proposalId","nameLocation":"27388:10:111","nodeType":"VariableDeclaration","scope":74268,"src":"27380:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74208,"name":"uint256","nodeType":"ElementaryTypeName","src":"27380:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74213,"initialValue":{"baseExpression":{"id":74210,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74192,"src":"27401:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74212,"indexExpression":{"id":74211,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74198,"src":"27414:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27401:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27380:36:111"},{"assignments":[74218],"declarations":[{"constant":false,"id":74218,"mutability":"mutable","name":"proposal","nameLocation":"27462:8:111","nodeType":"VariableDeclaration","scope":74268,"src":"27430:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74217,"nodeType":"UserDefinedTypeName","pathNode":{"id":74216,"name":"StrategyStruct.Proposal","nameLocations":["27430:14:111","27445:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"27430:23:111"},"referencedDeclaration":72451,"src":"27430:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74222,"initialValue":{"baseExpression":{"id":74219,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"27473:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74221,"indexExpression":{"id":74220,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74209,"src":"27483:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27473:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27430:64:111"},{"condition":{"arguments":[{"id":74224,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74209,"src":"27527:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74223,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74459,"src":"27512:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27512:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74267,"nodeType":"IfStatement","src":"27508:455:111","trueBody":{"id":74266,"nodeType":"Block","src":"27540:423:111","statements":[{"assignments":[74227],"declarations":[{"constant":false,"id":74227,"mutability":"mutable","name":"stakedPoints","nameLocation":"27566:12:111","nodeType":"VariableDeclaration","scope":74266,"src":"27558:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74226,"name":"uint256","nodeType":"ElementaryTypeName","src":"27558:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74232,"initialValue":{"baseExpression":{"expression":{"id":74228,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27581:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27590:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"27581:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74231,"indexExpression":{"id":74230,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27608:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27581:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27558:58:111"},{"expression":{"id":74239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74233,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27634:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27643:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"27634:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74237,"indexExpression":{"id":74235,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27661:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27634:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":74238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27672:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27634:39:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74240,"nodeType":"ExpressionStatement","src":"27634:39:111"},{"expression":{"id":74245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74241,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27691:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"27700:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"27691:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74244,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74227,"src":"27716:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27691:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74246,"nodeType":"ExpressionStatement","src":"27691:37:111"},{"expression":{"id":74249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74247,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72748,"src":"27746:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74248,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74227,"src":"27761:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27746:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74250,"nodeType":"ExpressionStatement","src":"27746:27:111"},{"expression":{"arguments":[{"id":74252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27818:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74253,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74227,"src":"27828:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74251,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75196,"src":"27791:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27791:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74255,"nodeType":"ExpressionStatement","src":"27791:50:111"},{"eventCall":{"arguments":[{"id":74257,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74185,"src":"27877:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74258,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74209,"src":"27886:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":74259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27898:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":74260,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27901:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27910:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"27901:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74262,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74218,"src":"27924:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27933:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"27924:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74256,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72668,"src":"27864:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27864:84:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74265,"nodeType":"EmitStatement","src":"27859:89:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74201,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74198,"src":"27336:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74202,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74192,"src":"27340:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27353:6:111","memberName":"length","nodeType":"MemberAccess","src":"27340:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27336:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74269,"initializationExpression":{"assignments":[74198],"declarations":[{"constant":false,"id":74198,"mutability":"mutable","name":"i","nameLocation":"27329:1:111","nodeType":"VariableDeclaration","scope":74269,"src":"27321:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74197,"name":"uint256","nodeType":"ElementaryTypeName","src":"27321:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74200,"initialValue":{"hexValue":"30","id":74199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27333:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27321:13:111"},"loopExpression":{"expression":{"id":74206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27361:3:111","subExpression":{"id":74205,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74198,"src":"27361:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74207,"nodeType":"ExpressionStatement","src":"27361:3:111"},"nodeType":"ForStatement","src":"27316:657:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27152:8:111","parameters":{"id":74186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74185,"mutability":"mutable","name":"_member","nameLocation":"27169:7:111","nodeType":"VariableDeclaration","scope":74271,"src":"27161:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74184,"name":"address","nodeType":"ElementaryTypeName","src":"27161:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27160:17:111"},"returnParameters":{"id":74187,"nodeType":"ParameterList","parameters":[],"src":"27187:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74345,"nodeType":"FunctionDefinition","src":"28541:1038:111","nodes":[],"body":{"id":74344,"nodeType":"Block","src":"29010:569:111","nodes":[],"statements":[{"assignments":[74302],"declarations":[{"constant":false,"id":74302,"mutability":"mutable","name":"proposal","nameLocation":"29052:8:111","nodeType":"VariableDeclaration","scope":74344,"src":"29020:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74301,"nodeType":"UserDefinedTypeName","pathNode":{"id":74300,"name":"StrategyStruct.Proposal","nameLocations":["29020:14:111","29035:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"29020:23:111"},"referencedDeclaration":72451,"src":"29020:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74306,"initialValue":{"baseExpression":{"id":74303,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"29063:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74305,"indexExpression":{"id":74304,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74274,"src":"29073:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29063:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29020:65:111"},{"expression":{"id":74318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74307,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74294,"src":"29096:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74308,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29108:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74309,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29117:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"29108:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29136:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29108:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":74314,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29163:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29172:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"29163:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74313,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75047,"src":"29144:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29144:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29108:80:111","trueExpression":{"hexValue":"30","id":74312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29140:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29096:92:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74319,"nodeType":"ExpressionStatement","src":"29096:92:111"},{"expression":{"components":[{"expression":{"id":74320,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29219:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29228:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"29219:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74322,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29251:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29260:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72429,"src":"29251:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74324,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29285:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29294:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72433,"src":"29285:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74326,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29322:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74327,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29331:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"29322:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74328,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29360:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29369:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"29360:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74330,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29395:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29404:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"29395:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":74332,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29432:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29441:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"29432:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74334,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29464:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29473:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"29464:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74336,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74294,"src":"29501:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":74337,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74302,"src":"29524:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29533:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"29524:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74341,"indexExpression":{"expression":{"id":74339,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"29551:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29555:6:111","memberName":"sender","nodeType":"MemberAccess","src":"29551:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29524:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74342,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29205:367:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$72410_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":74297,"id":74343,"nodeType":"Return","src":"29198:374:111"}]},"documentation":{"id":74272,"nodeType":"StructuredDocumentation","src":"27985:551:111","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"28550:11:111","parameters":{"id":74275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74274,"mutability":"mutable","name":"_proposalId","nameLocation":"28570:11:111","nodeType":"VariableDeclaration","scope":74345,"src":"28562:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74273,"name":"uint256","nodeType":"ElementaryTypeName","src":"28562:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28561:21:111"},"returnParameters":{"id":74297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74277,"mutability":"mutable","name":"submitter","nameLocation":"28651:9:111","nodeType":"VariableDeclaration","scope":74345,"src":"28643:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74276,"name":"address","nodeType":"ElementaryTypeName","src":"28643:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74279,"mutability":"mutable","name":"beneficiary","nameLocation":"28682:11:111","nodeType":"VariableDeclaration","scope":74345,"src":"28674:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74278,"name":"address","nodeType":"ElementaryTypeName","src":"28674:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74281,"mutability":"mutable","name":"requestedToken","nameLocation":"28715:14:111","nodeType":"VariableDeclaration","scope":74345,"src":"28707:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74280,"name":"address","nodeType":"ElementaryTypeName","src":"28707:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74283,"mutability":"mutable","name":"requestedAmount","nameLocation":"28751:15:111","nodeType":"VariableDeclaration","scope":74345,"src":"28743:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74282,"name":"uint256","nodeType":"ElementaryTypeName","src":"28743:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74285,"mutability":"mutable","name":"stakedAmount","nameLocation":"28788:12:111","nodeType":"VariableDeclaration","scope":74345,"src":"28780:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74284,"name":"uint256","nodeType":"ElementaryTypeName","src":"28780:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74288,"mutability":"mutable","name":"proposalStatus","nameLocation":"28844:14:111","nodeType":"VariableDeclaration","scope":74345,"src":"28814:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":74287,"nodeType":"UserDefinedTypeName","pathNode":{"id":74286,"name":"StrategyStruct.ProposalStatus","nameLocations":["28814:14:111","28829:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72410,"src":"28814:29:111"},"referencedDeclaration":72410,"src":"28814:29:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":74290,"mutability":"mutable","name":"blockLast","nameLocation":"28880:9:111","nodeType":"VariableDeclaration","scope":74345,"src":"28872:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74289,"name":"uint256","nodeType":"ElementaryTypeName","src":"28872:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74292,"mutability":"mutable","name":"convictionLast","nameLocation":"28911:14:111","nodeType":"VariableDeclaration","scope":74345,"src":"28903:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74291,"name":"uint256","nodeType":"ElementaryTypeName","src":"28903:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74294,"mutability":"mutable","name":"threshold","nameLocation":"28947:9:111","nodeType":"VariableDeclaration","scope":74345,"src":"28939:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74293,"name":"uint256","nodeType":"ElementaryTypeName","src":"28939:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74296,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"28978:17:111","nodeType":"VariableDeclaration","scope":74345,"src":"28970:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74295,"name":"uint256","nodeType":"ElementaryTypeName","src":"28970:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28629:376:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74366,"nodeType":"FunctionDefinition","src":"29585:198:111","nodes":[],"body":{"id":74365,"nodeType":"Block","src":"29667:116:111","nodes":[],"statements":[{"assignments":[74357],"declarations":[{"constant":false,"id":74357,"mutability":"mutable","name":"proposal","nameLocation":"29709:8:111","nodeType":"VariableDeclaration","scope":74365,"src":"29677:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74356,"nodeType":"UserDefinedTypeName","pathNode":{"id":74355,"name":"StrategyStruct.Proposal","nameLocations":["29677:14:111","29692:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"29677:23:111"},"referencedDeclaration":72451,"src":"29677:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74361,"initialValue":{"baseExpression":{"id":74358,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"29720:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74360,"indexExpression":{"id":74359,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74347,"src":"29730:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29720:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29677:65:111"},{"expression":{"expression":{"id":74362,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74357,"src":"29759:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29768:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"29759:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":74352,"id":74364,"nodeType":"Return","src":"29752:24:111"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"29594:11:111","parameters":{"id":74348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74347,"mutability":"mutable","name":"_proposalId","nameLocation":"29614:11:111","nodeType":"VariableDeclaration","scope":74366,"src":"29606:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74346,"name":"uint256","nodeType":"ElementaryTypeName","src":"29606:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29605:21:111"},"returnParameters":{"id":74352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74366,"src":"29650:15:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":74350,"nodeType":"UserDefinedTypeName","pathNode":{"id":74349,"name":"Metadata","nameLocations":["29650:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"29650:8:111"},"referencedDeclaration":3098,"src":"29650:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"29649:17:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74382,"nodeType":"FunctionDefinition","src":"29984:176:111","nodes":[],"body":{"id":74381,"nodeType":"Block","src":"30084:76:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74377,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74369,"src":"30133:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74378,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74371,"src":"30146:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74376,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74424,"src":"30101:31:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":74379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30101:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74375,"id":74380,"nodeType":"Return","src":"30094:59:111"}]},"documentation":{"id":74367,"nodeType":"StructuredDocumentation","src":"29789:190:111","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"29993:21:111","parameters":{"id":74372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74369,"mutability":"mutable","name":"_proposalId","nameLocation":"30023:11:111","nodeType":"VariableDeclaration","scope":74382,"src":"30015:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74368,"name":"uint256","nodeType":"ElementaryTypeName","src":"30015:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74371,"mutability":"mutable","name":"_voter","nameLocation":"30044:6:111","nodeType":"VariableDeclaration","scope":74382,"src":"30036:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74370,"name":"address","nodeType":"ElementaryTypeName","src":"30036:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30014:37:111"},"returnParameters":{"id":74375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74374,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74382,"src":"30075:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74373,"name":"uint256","nodeType":"ElementaryTypeName","src":"30075:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30074:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74395,"nodeType":"FunctionDefinition","src":"30166:145:111","nodes":[],"body":{"id":74394,"nodeType":"Block","src":"30252:59:111","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":74389,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30269:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74391,"indexExpression":{"id":74390,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74384,"src":"30279:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30269:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30292:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"30269:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74388,"id":74393,"nodeType":"Return","src":"30262:42:111"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"30175:23:111","parameters":{"id":74385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74384,"mutability":"mutable","name":"_proposalId","nameLocation":"30207:11:111","nodeType":"VariableDeclaration","scope":74395,"src":"30199:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74383,"name":"uint256","nodeType":"ElementaryTypeName","src":"30199:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30198:21:111"},"returnParameters":{"id":74388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74387,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74395,"src":"30243:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74386,"name":"uint256","nodeType":"ElementaryTypeName","src":"30243:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30242:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74407,"nodeType":"FunctionDefinition","src":"30379:127:111","nodes":[],"body":{"id":74406,"nodeType":"Block","src":"30456:50:111","nodes":[],"statements":[{"expression":{"baseExpression":{"id":74402,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72783,"src":"30473:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74404,"indexExpression":{"id":74403,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74397,"src":"30492:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30473:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74401,"id":74405,"nodeType":"Return","src":"30466:33:111"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"30388:21:111","parameters":{"id":74398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74397,"mutability":"mutable","name":"_voter","nameLocation":"30418:6:111","nodeType":"VariableDeclaration","scope":74407,"src":"30410:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74396,"name":"address","nodeType":"ElementaryTypeName","src":"30410:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30409:16:111"},"returnParameters":{"id":74401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74400,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74407,"src":"30447:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74399,"name":"uint256","nodeType":"ElementaryTypeName","src":"30447:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30446:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74424,"nodeType":"FunctionDefinition","src":"30512:182:111","nodes":[],"body":{"id":74423,"nodeType":"Block","src":"30622:72:111","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":74416,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30639:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74418,"indexExpression":{"id":74417,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74409,"src":"30649:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30639:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30662:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"30639:40:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74421,"indexExpression":{"id":74420,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74411,"src":"30680:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30639:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74415,"id":74422,"nodeType":"Return","src":"30632:55:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"30521:31:111","parameters":{"id":74412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74409,"mutability":"mutable","name":"_proposalId","nameLocation":"30561:11:111","nodeType":"VariableDeclaration","scope":74424,"src":"30553:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74408,"name":"uint256","nodeType":"ElementaryTypeName","src":"30553:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74411,"mutability":"mutable","name":"_voter","nameLocation":"30582:6:111","nodeType":"VariableDeclaration","scope":74424,"src":"30574:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74410,"name":"address","nodeType":"ElementaryTypeName","src":"30574:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30552:37:111"},"returnParameters":{"id":74415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74424,"src":"30613:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74413,"name":"uint256","nodeType":"ElementaryTypeName","src":"30613:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30612:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74434,"nodeType":"FunctionDefinition","src":"30700:145:111","nodes":[],"body":{"id":74433,"nodeType":"Block","src":"30764:81:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74429,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"30781:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":74430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30799:20:111","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78500,"src":"30781:38:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30781:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74428,"id":74432,"nodeType":"Return","src":"30774:47:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"30709:20:111","parameters":{"id":74425,"nodeType":"ParameterList","parameters":[],"src":"30729:2:111"},"returnParameters":{"id":74428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74434,"src":"30755:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74426,"name":"uint256","nodeType":"ElementaryTypeName","src":"30755:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30754:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74459,"nodeType":"FunctionDefinition","src":"30851:185:111","nodes":[],"body":{"id":74458,"nodeType":"Block","src":"30925:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74441,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30942:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74443,"indexExpression":{"id":74442,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74436,"src":"30952:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30942:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30965:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"30942:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30978:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30942:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74447,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"30983:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74449,"indexExpression":{"id":74448,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74436,"src":"30993:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30983:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31006:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"30983:32:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":74453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31027:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31019:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74451,"name":"address","nodeType":"ElementaryTypeName","src":"31019:7:111","typeDescriptions":{}}},"id":74454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31019:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30983:46:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30942:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74440,"id":74457,"nodeType":"Return","src":"30935:94:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"30860:14:111","parameters":{"id":74437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74436,"mutability":"mutable","name":"_proposalID","nameLocation":"30883:11:111","nodeType":"VariableDeclaration","scope":74459,"src":"30875:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74435,"name":"uint256","nodeType":"ElementaryTypeName","src":"30875:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30874:21:111"},"returnParameters":{"id":74440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74459,"src":"30919:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74438,"name":"bool","nodeType":"ElementaryTypeName","src":"30919:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30918:6:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74478,"nodeType":"FunctionDefinition","src":"31042:183:111","nodes":[],"body":{"id":74477,"nodeType":"Block","src":"31137:88:111","nodes":[],"statements":[{"expression":{"id":74475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74466,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74464,"src":"31147:14:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74467,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"31164:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31173:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72475,"src":"31164:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74469,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"31184:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31164:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74471,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74461,"src":"31198:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74472,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"31217:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31198:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31164:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"31147:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74476,"nodeType":"ExpressionStatement","src":"31147:71:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"31051:15:111","parameters":{"id":74462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74461,"mutability":"mutable","name":"_requestedAmount","nameLocation":"31075:16:111","nodeType":"VariableDeclaration","scope":74478,"src":"31067:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74460,"name":"uint256","nodeType":"ElementaryTypeName","src":"31067:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31066:26:111"},"returnParameters":{"id":74465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74464,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"31121:14:111","nodeType":"VariableDeclaration","scope":74478,"src":"31116:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74463,"name":"bool","nodeType":"ElementaryTypeName","src":"31116:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31115:21:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74574,"nodeType":"FunctionDefinition","src":"31231:1548:111","nodes":[],"body":{"id":74573,"nodeType":"Block","src":"31361:1418:111","nodes":[],"statements":[{"assignments":[74488],"declarations":[{"constant":false,"id":74488,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"31378:15:111","nodeType":"VariableDeclaration","scope":74573,"src":"31371:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74487,"name":"int256","nodeType":"ElementaryTypeName","src":"31371:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74490,"initialValue":{"hexValue":"30","id":74489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31396:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31371:26:111"},{"body":{"id":74535,"nodeType":"Block","src":"31461:576:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74502,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31534:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74504,"indexExpression":{"id":74503,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31551:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31534:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31554:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72453,"src":"31534:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31568:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31534:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74510,"nodeType":"IfStatement","src":"31530:187:111","trueBody":{"id":74509,"nodeType":"Block","src":"31571:146:111","statements":[{"id":74508,"nodeType":"Continue","src":"31694:8:111"}]}},{"assignments":[74512],"declarations":[{"constant":false,"id":74512,"mutability":"mutable","name":"proposalId","nameLocation":"31738:10:111","nodeType":"VariableDeclaration","scope":74535,"src":"31730:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74511,"name":"uint256","nodeType":"ElementaryTypeName","src":"31730:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74517,"initialValue":{"expression":{"baseExpression":{"id":74513,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31751:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74515,"indexExpression":{"id":74514,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31768:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31751:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31771:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72453,"src":"31751:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31730:51:111"},{"condition":{"id":74521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31799:27:111","subExpression":{"arguments":[{"id":74519,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74512,"src":"31815:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74518,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74459,"src":"31800:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31800:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74527,"nodeType":"IfStatement","src":"31795:167:111","trueBody":{"id":74526,"nodeType":"Block","src":"31828:134:111","statements":[{"errorCall":{"arguments":[{"id":74523,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74512,"src":"31871:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74522,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"31853:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":74524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31853:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74525,"nodeType":"RevertStatement","src":"31846:36:111"}]}},{"expression":{"id":74533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74528,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74488,"src":"31975:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":74529,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31994:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74531,"indexExpression":{"id":74530,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"32011:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31994:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32014:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72455,"src":"31994:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31975:51:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":74534,"nodeType":"ExpressionStatement","src":"31975:51:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74495,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31427:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74496,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"31431:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31448:6:111","memberName":"length","nodeType":"MemberAccess","src":"31431:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31427:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74536,"initializationExpression":{"assignments":[74492],"declarations":[{"constant":false,"id":74492,"mutability":"mutable","name":"i","nameLocation":"31420:1:111","nodeType":"VariableDeclaration","scope":74536,"src":"31412:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74491,"name":"uint256","nodeType":"ElementaryTypeName","src":"31412:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74494,"initialValue":{"hexValue":"30","id":74493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31424:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31412:13:111"},"loopExpression":{"expression":{"id":74500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"31456:3:111","subExpression":{"id":74499,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74492,"src":"31456:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74501,"nodeType":"ExpressionStatement","src":"31456:3:111"},"nodeType":"ForStatement","src":"31407:630:111"},{"assignments":[74538],"declarations":[{"constant":false,"id":74538,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"32141:21:111","nodeType":"VariableDeclaration","scope":74573,"src":"32133:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74537,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74545,"initialValue":{"arguments":[{"arguments":[{"id":74541,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74480,"src":"32199:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74540,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74407,"src":"32177:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":74542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32177:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74543,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74488,"src":"32209:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74539,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74896,"src":"32165:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32165:60:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32133:92:111"},{"assignments":[74547],"declarations":[{"constant":false,"id":74547,"mutability":"mutable","name":"participantBalance","nameLocation":"32315:18:111","nodeType":"VariableDeclaration","scope":74573,"src":"32307:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74546,"name":"uint256","nodeType":"ElementaryTypeName","src":"32307:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74556,"initialValue":{"arguments":[{"id":74550,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74480,"src":"32379:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":74553,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"32396:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":74552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32388:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74551,"name":"address","nodeType":"ElementaryTypeName","src":"32388:7:111","typeDescriptions":{}}},"id":74554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32388:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":74548,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"32336:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":74549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32354:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78100,"src":"32336:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":74555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32336:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32307:95:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74557,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"32568:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":74558,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74547,"src":"32592:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32568:42:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74566,"nodeType":"IfStatement","src":"32564:147:111","trueBody":{"id":74565,"nodeType":"Block","src":"32612:99:111","statements":[{"errorCall":{"arguments":[{"id":74561,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"32658:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74562,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74547,"src":"32681:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74560,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72553,"src":"32633:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32633:67:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74564,"nodeType":"RevertStatement","src":"32626:74:111"}]}},{"expression":{"id":74571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74567,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72783,"src":"32721:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74569,"indexExpression":{"id":74568,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74480,"src":"32740:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32721:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74570,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"32751:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32721:51:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74572,"nodeType":"ExpressionStatement","src":"32721:51:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"31240:24:111","parameters":{"id":74485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74480,"mutability":"mutable","name":"_sender","nameLocation":"31273:7:111","nodeType":"VariableDeclaration","scope":74574,"src":"31265:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74479,"name":"address","nodeType":"ElementaryTypeName","src":"31265:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74484,"mutability":"mutable","name":"_proposalSupport","nameLocation":"31322:16:111","nodeType":"VariableDeclaration","scope":74574,"src":"31282:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74482,"nodeType":"UserDefinedTypeName","pathNode":{"id":74481,"name":"StrategyStruct.ProposalSupport","nameLocations":["31282:14:111","31297:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"31282:30:111"},"referencedDeclaration":72456,"src":"31282:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74483,"nodeType":"ArrayTypeName","src":"31282:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"31264:75:111"},"returnParameters":{"id":74486,"nodeType":"ParameterList","parameters":[],"src":"31361:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74861,"nodeType":"FunctionDefinition","src":"32785:3479:111","nodes":[],"body":{"id":74860,"nodeType":"Block","src":"32890:3374:111","nodes":[],"statements":[{"assignments":[74587],"declarations":[{"constant":false,"id":74587,"mutability":"mutable","name":"proposalsIds","nameLocation":"32917:12:111","nodeType":"VariableDeclaration","scope":74860,"src":"32900:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74585,"name":"uint256","nodeType":"ElementaryTypeName","src":"32900:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74586,"nodeType":"ArrayTypeName","src":"32900:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74588,"nodeType":"VariableDeclarationStatement","src":"32900:29:111"},{"body":{"id":74858,"nodeType":"Block","src":"32993:3265:111","statements":[{"assignments":[74601],"declarations":[{"constant":false,"id":74601,"mutability":"mutable","name":"proposalId","nameLocation":"33015:10:111","nodeType":"VariableDeclaration","scope":74858,"src":"33007:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74600,"name":"uint256","nodeType":"ElementaryTypeName","src":"33007:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74606,"initialValue":{"expression":{"baseExpression":{"id":74602,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74580,"src":"33028:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74604,"indexExpression":{"id":74603,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"33045:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33028:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33048:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72453,"src":"33028:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33007:51:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74607,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33131:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33144:6:111","memberName":"length","nodeType":"MemberAccess","src":"33131:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33154:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33131:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74709,"nodeType":"Block","src":"33283:764:111","statements":[{"assignments":[74627],"declarations":[{"constant":false,"id":74627,"mutability":"mutable","name":"exist","nameLocation":"33306:5:111","nodeType":"VariableDeclaration","scope":74709,"src":"33301:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74626,"name":"bool","nodeType":"ElementaryTypeName","src":"33301:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74629,"initialValue":{"hexValue":"66616c7365","id":74628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33314:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"33301:18:111"},{"body":{"id":74657,"nodeType":"Block","src":"33387:268:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74641,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33438:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74643,"indexExpression":{"id":74642,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33451:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33438:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":74644,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33457:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33438:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74656,"nodeType":"IfStatement","src":"33434:203:111","trueBody":{"id":74655,"nodeType":"Block","src":"33469:168:111","statements":[{"expression":{"id":74648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74646,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74627,"src":"33495:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33503:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"33495:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74649,"nodeType":"ExpressionStatement","src":"33495:12:111"},{"errorCall":{"arguments":[{"id":74651,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33566:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74652,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33578:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74650,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72571,"src":"33540:25:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33540:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74654,"nodeType":"RevertStatement","src":"33533:47:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74634,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33357:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74635,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33361:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33374:6:111","memberName":"length","nodeType":"MemberAccess","src":"33361:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33357:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74658,"initializationExpression":{"assignments":[74631],"declarations":[{"constant":false,"id":74631,"mutability":"mutable","name":"j","nameLocation":"33350:1:111","nodeType":"VariableDeclaration","scope":74658,"src":"33342:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74630,"name":"uint256","nodeType":"ElementaryTypeName","src":"33342:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74633,"initialValue":{"hexValue":"30","id":74632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33354:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33342:13:111"},"loopExpression":{"expression":{"id":74639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33382:3:111","subExpression":{"id":74638,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74631,"src":"33382:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74640,"nodeType":"ExpressionStatement","src":"33382:3:111"},"nodeType":"ForStatement","src":"33337:318:111"},{"condition":{"id":74660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33676:6:111","subExpression":{"id":74659,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74627,"src":"33677:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74708,"nodeType":"IfStatement","src":"33672:361:111","trueBody":{"id":74707,"nodeType":"Block","src":"33684:349:111","statements":[{"assignments":[74665],"declarations":[{"constant":false,"id":74665,"mutability":"mutable","name":"temp","nameLocation":"33723:4:111","nodeType":"VariableDeclaration","scope":74707,"src":"33706:21:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74663,"name":"uint256","nodeType":"ElementaryTypeName","src":"33706:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74664,"nodeType":"ArrayTypeName","src":"33706:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74674,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74669,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33744:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33757:6:111","memberName":"length","nodeType":"MemberAccess","src":"33744:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":74671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33766:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"33744:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33730:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74666,"name":"uint256","nodeType":"ElementaryTypeName","src":"33734:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74667,"nodeType":"ArrayTypeName","src":"33734:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33730:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"33706:62:111"},{"body":{"id":74694,"nodeType":"Block","src":"33840:74:111","statements":[{"expression":{"id":74692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74686,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74665,"src":"33866:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74688,"indexExpression":{"id":74687,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33871:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33866:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":74689,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33876:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74691,"indexExpression":{"id":74690,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33889:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33876:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33866:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74693,"nodeType":"ExpressionStatement","src":"33866:25:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74679,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33810:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74680,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33814:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33827:6:111","memberName":"length","nodeType":"MemberAccess","src":"33814:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33810:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74695,"initializationExpression":{"assignments":[74676],"declarations":[{"constant":false,"id":74676,"mutability":"mutable","name":"j","nameLocation":"33803:1:111","nodeType":"VariableDeclaration","scope":74695,"src":"33795:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74675,"name":"uint256","nodeType":"ElementaryTypeName","src":"33795:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74678,"initialValue":{"hexValue":"30","id":74677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33807:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33795:13:111"},"loopExpression":{"expression":{"id":74684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33835:3:111","subExpression":{"id":74683,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"33835:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74685,"nodeType":"ExpressionStatement","src":"33835:3:111"},"nodeType":"ForStatement","src":"33790:124:111"},{"expression":{"id":74701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74696,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74665,"src":"33935:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74699,"indexExpression":{"expression":{"id":74697,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33940:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33953:6:111","memberName":"length","nodeType":"MemberAccess","src":"33940:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33935:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74700,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33963:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33935:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74702,"nodeType":"ExpressionStatement","src":"33935:38:111"},{"expression":{"id":74705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74703,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33995:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74704,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74665,"src":"34010:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33995:19:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74706,"nodeType":"ExpressionStatement","src":"33995:19:111"}]}}]},"id":74710,"nodeType":"IfStatement","src":"33127:920:111","trueBody":{"id":74625,"nodeType":"Block","src":"33157:120:111","statements":[{"expression":{"id":74617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74611,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33175:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":74615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33204:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":74614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33190:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74612,"name":"uint256","nodeType":"ElementaryTypeName","src":"33194:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74613,"nodeType":"ArrayTypeName","src":"33194:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33190:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33175:31:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74618,"nodeType":"ExpressionStatement","src":"33175:31:111"},{"expression":{"id":74623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74619,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74587,"src":"33224:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74621,"indexExpression":{"hexValue":"30","id":74620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33237:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33224:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74622,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"33242:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33224:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74624,"nodeType":"ExpressionStatement","src":"33224:28:111"}]}},{"assignments":[74712],"declarations":[{"constant":false,"id":74712,"mutability":"mutable","name":"delta","nameLocation":"34067:5:111","nodeType":"VariableDeclaration","scope":74858,"src":"34060:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74711,"name":"int256","nodeType":"ElementaryTypeName","src":"34060:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74717,"initialValue":{"expression":{"baseExpression":{"id":74713,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74580,"src":"34075:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74715,"indexExpression":{"id":74714,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"34092:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34075:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34095:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72455,"src":"34075:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"34060:47:111"},{"assignments":[74722],"declarations":[{"constant":false,"id":74722,"mutability":"mutable","name":"proposal","nameLocation":"34154:8:111","nodeType":"VariableDeclaration","scope":74858,"src":"34122:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74721,"nodeType":"UserDefinedTypeName","pathNode":{"id":74720,"name":"StrategyStruct.Proposal","nameLocations":["34122:14:111","34137:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"34122:23:111"},"referencedDeclaration":72451,"src":"34122:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74726,"initialValue":{"baseExpression":{"id":74723,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"34165:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74725,"indexExpression":{"id":74724,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"34175:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34165:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"34122:64:111"},{"assignments":[74728],"declarations":[{"constant":false,"id":74728,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"34296:20:111","nodeType":"VariableDeclaration","scope":74858,"src":"34288:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74727,"name":"uint256","nodeType":"ElementaryTypeName","src":"34288:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74733,"initialValue":{"baseExpression":{"expression":{"id":74729,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"34319:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34328:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"34319:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74732,"indexExpression":{"id":74731,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"34346:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34319:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34288:66:111"},{"assignments":[74735],"declarations":[{"constant":false,"id":74735,"mutability":"mutable","name":"stakedPoints","nameLocation":"34527:12:111","nodeType":"VariableDeclaration","scope":74858,"src":"34519:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74734,"name":"uint256","nodeType":"ElementaryTypeName","src":"34519:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74740,"initialValue":{"arguments":[{"id":74737,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"34554:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74738,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74712,"src":"34576:5:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74736,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74896,"src":"34542:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34542:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34519:63:111"},{"expression":{"id":74747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74741,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"34717:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34726:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72442,"src":"34717:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74745,"indexExpression":{"id":74743,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"34744:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34717:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74746,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"34755:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34717:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74748,"nodeType":"ExpressionStatement","src":"34717:50:111"},{"assignments":[74750],"declarations":[{"constant":false,"id":74750,"mutability":"mutable","name":"hasProposal","nameLocation":"35006:11:111","nodeType":"VariableDeclaration","scope":74858,"src":"35001:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74749,"name":"bool","nodeType":"ElementaryTypeName","src":"35001:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74752,"initialValue":{"hexValue":"66616c7365","id":74751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35020:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35001:24:111"},{"body":{"id":74781,"nodeType":"Block","src":"35106:179:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":74766,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"35128:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74768,"indexExpression":{"id":74767,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"35149:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35128:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74770,"indexExpression":{"id":74769,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74754,"src":"35158:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35128:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":74771,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35164:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35173:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"35164:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35128:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74780,"nodeType":"IfStatement","src":"35124:147:111","trueBody":{"id":74779,"nodeType":"Block","src":"35185:86:111","statements":[{"expression":{"id":74776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74774,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74750,"src":"35207:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35221:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35207:18:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74777,"nodeType":"ExpressionStatement","src":"35207:18:111"},{"id":74778,"nodeType":"Break","src":"35247:5:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74757,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74754,"src":"35059:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":74758,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"35063:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74760,"indexExpression":{"id":74759,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"35084:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35063:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35093:6:111","memberName":"length","nodeType":"MemberAccess","src":"35063:36:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35059:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74782,"initializationExpression":{"assignments":[74754],"declarations":[{"constant":false,"id":74754,"mutability":"mutable","name":"k","nameLocation":"35052:1:111","nodeType":"VariableDeclaration","scope":74782,"src":"35044:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74753,"name":"uint256","nodeType":"ElementaryTypeName","src":"35044:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74756,"initialValue":{"hexValue":"30","id":74755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35056:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35044:13:111"},"loopExpression":{"expression":{"id":74764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35101:3:111","subExpression":{"id":74763,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74754,"src":"35101:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74765,"nodeType":"ExpressionStatement","src":"35101:3:111"},"nodeType":"ForStatement","src":"35039:246:111"},{"condition":{"id":74784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35302:12:111","subExpression":{"id":74783,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74750,"src":"35303:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74794,"nodeType":"IfStatement","src":"35298:106:111","trueBody":{"id":74793,"nodeType":"Block","src":"35316:88:111","statements":[{"expression":{"arguments":[{"expression":{"id":74789,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35369:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35378:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"35369:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":74785,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72788,"src":"35334:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74787,"indexExpression":{"id":74786,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"35355:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35334:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35364:4:111","memberName":"push","nodeType":"MemberAccess","src":"35334:34:111","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":74791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35334:55:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74792,"nodeType":"ExpressionStatement","src":"35334:55:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74795,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35559:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":74796,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35583:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35559:36:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74827,"nodeType":"Block","src":"35764:161:111","statements":[{"expression":{"id":74817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74813,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72748,"src":"35782:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74814,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35797:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74815,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35820:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35797:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35782:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74818,"nodeType":"ExpressionStatement","src":"35782:50:111"},{"expression":{"id":74825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74819,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35850:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35859:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"35850:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74822,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35875:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74823,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35898:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35875:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35850:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74826,"nodeType":"ExpressionStatement","src":"35850:60:111"}]},"id":74828,"nodeType":"IfStatement","src":"35555:370:111","trueBody":{"id":74812,"nodeType":"Block","src":"35597:161:111","statements":[{"expression":{"id":74802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74798,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72748,"src":"35615:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74799,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35630:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74800,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35645:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35630:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35615:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74803,"nodeType":"ExpressionStatement","src":"35615:50:111"},{"expression":{"id":74810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74804,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35683:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35692:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"35683:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74807,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"35708:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74808,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"35723:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35708:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35683:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74811,"nodeType":"ExpressionStatement","src":"35683:60:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74829,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35942:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35951:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"35942:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35964:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35942:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74856,"nodeType":"Block","src":"36039:209:111","statements":[{"expression":{"arguments":[{"id":74842,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"36084:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74843,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74728,"src":"36094:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74841,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75196,"src":"36057:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36057:58:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74845,"nodeType":"ExpressionStatement","src":"36057:58:111"},{"eventCall":{"arguments":[{"id":74847,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"36151:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74848,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74601,"src":"36160:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74849,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74735,"src":"36172:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74850,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"36186:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36195:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"36186:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74852,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"36209:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36218:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"36209:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74846,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72668,"src":"36138:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36138:95:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74855,"nodeType":"EmitStatement","src":"36133:100:111"}]},"id":74857,"nodeType":"IfStatement","src":"35938:310:111","trueBody":{"id":74840,"nodeType":"Block","src":"35967:66:111","statements":[{"expression":{"id":74838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74833,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"35985:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35994:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"35985:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74836,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"36006:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":74837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36012:6:111","memberName":"number","nodeType":"MemberAccess","src":"36006:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35985:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74839,"nodeType":"ExpressionStatement","src":"35985:33:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74593,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"32959:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74594,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74580,"src":"32963:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32980:6:111","memberName":"length","nodeType":"MemberAccess","src":"32963:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32959:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74859,"initializationExpression":{"assignments":[74590],"declarations":[{"constant":false,"id":74590,"mutability":"mutable","name":"i","nameLocation":"32952:1:111","nodeType":"VariableDeclaration","scope":74859,"src":"32944:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74589,"name":"uint256","nodeType":"ElementaryTypeName","src":"32944:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74592,"initialValue":{"hexValue":"30","id":74591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32956:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32944:13:111"},"loopExpression":{"expression":{"id":74598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32988:3:111","subExpression":{"id":74597,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74590,"src":"32988:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74599,"nodeType":"ExpressionStatement","src":"32988:3:111"},"nodeType":"ForStatement","src":"32939:3319:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"32794:11:111","parameters":{"id":74581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74576,"mutability":"mutable","name":"_sender","nameLocation":"32814:7:111","nodeType":"VariableDeclaration","scope":74861,"src":"32806:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74575,"name":"address","nodeType":"ElementaryTypeName","src":"32806:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74580,"mutability":"mutable","name":"_proposalSupport","nameLocation":"32863:16:111","nodeType":"VariableDeclaration","scope":74861,"src":"32823:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74578,"nodeType":"UserDefinedTypeName","pathNode":{"id":74577,"name":"StrategyStruct.ProposalSupport","nameLocations":["32823:14:111","32838:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72456,"src":"32823:30:111"},"referencedDeclaration":72456,"src":"32823:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72456_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74579,"nodeType":"ArrayTypeName","src":"32823:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72456_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"32805:75:111"},"returnParameters":{"id":74582,"nodeType":"ParameterList","parameters":[],"src":"32890:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74896,"nodeType":"FunctionDefinition","src":"36270:276:111","nodes":[],"body":{"id":74895,"nodeType":"Block","src":"36356:190:111","nodes":[],"statements":[{"assignments":[74871],"declarations":[{"constant":false,"id":74871,"mutability":"mutable","name":"result","nameLocation":"36373:6:111","nodeType":"VariableDeclaration","scope":74895,"src":"36366:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74870,"name":"int256","nodeType":"ElementaryTypeName","src":"36366:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74878,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":74874,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74863,"src":"36389:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36382:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":74872,"name":"int256","nodeType":"ElementaryTypeName","src":"36382:6:111","typeDescriptions":{}}},"id":74875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36382:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74876,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74865,"src":"36401:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"36382:25:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"36366:41:111"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74879,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74871,"src":"36422:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":74880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36431:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"36422:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74889,"nodeType":"IfStatement","src":"36418:90:111","trueBody":{"id":74888,"nodeType":"Block","src":"36434:74:111","statements":[{"errorCall":{"arguments":[{"id":74883,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74863,"src":"36472:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74884,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74865,"src":"36482:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":74885,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74871,"src":"36490:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74882,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72543,"src":"36455:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":74886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36455:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74887,"nodeType":"RevertStatement","src":"36448:49:111"}]}},{"expression":{"arguments":[{"id":74892,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74871,"src":"36532:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36524:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":74890,"name":"uint256","nodeType":"ElementaryTypeName","src":"36524:7:111","typeDescriptions":{}}},"id":74893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36524:15:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74869,"id":74894,"nodeType":"Return","src":"36517:22:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"36279:11:111","parameters":{"id":74866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74863,"mutability":"mutable","name":"_support","nameLocation":"36299:8:111","nodeType":"VariableDeclaration","scope":74896,"src":"36291:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74862,"name":"uint256","nodeType":"ElementaryTypeName","src":"36291:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74865,"mutability":"mutable","name":"_delta","nameLocation":"36316:6:111","nodeType":"VariableDeclaration","scope":74896,"src":"36309:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74864,"name":"int256","nodeType":"ElementaryTypeName","src":"36309:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"36290:33:111"},"returnParameters":{"id":74869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74868,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74896,"src":"36347:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74867,"name":"uint256","nodeType":"ElementaryTypeName","src":"36347:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36346:9:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74954,"nodeType":"FunctionDefinition","src":"36963:1175:111","nodes":[],"body":{"id":74953,"nodeType":"Block","src":"37110:1028:111","nodes":[],"statements":[{"assignments":[74909],"declarations":[{"constant":false,"id":74909,"mutability":"mutable","name":"t","nameLocation":"37128:1:111","nodeType":"VariableDeclaration","scope":74953,"src":"37120:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74908,"name":"uint256","nodeType":"ElementaryTypeName","src":"37120:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74911,"initialValue":{"id":74910,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74899,"src":"37132:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37120:23:111"},{"assignments":[74913],"declarations":[{"constant":false,"id":74913,"mutability":"mutable","name":"atTWO_128","nameLocation":"37466:9:111","nodeType":"VariableDeclaration","scope":74953,"src":"37458:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74912,"name":"uint256","nodeType":"ElementaryTypeName","src":"37458:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74924,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74915,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"37484:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74916,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37493:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"37484:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":74917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37502:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37484:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74919,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37483:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74920,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"37509:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37483:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74922,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74909,"src":"37512:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74914,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"37478:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":74923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37478:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37458:56:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74925,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74913,"src":"38010:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74926,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74901,"src":"38022:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38010:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74928,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38009:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74929,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74903,"src":"38037:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74930,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"38050:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38037:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74932,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"38055:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74933,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74913,"src":"38065:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38055:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74935,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38054:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38037:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74937,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38036:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74938,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"38080:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":74939,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"38084:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38093:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"38084:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38080:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74942,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38079:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38036:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74944,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38035:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38009:91:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74946,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38008:93:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74947,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72718,"src":"38104:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38008:103:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38007:105:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":74950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38128:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38007:124:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74907,"id":74952,"nodeType":"Return","src":"38000:131:111"}]},"documentation":{"id":74897,"nodeType":"StructuredDocumentation","src":"36552:406:111","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"36972:19:111","parameters":{"id":74904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74899,"mutability":"mutable","name":"_timePassed","nameLocation":"37000:11:111","nodeType":"VariableDeclaration","scope":74954,"src":"36992:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74898,"name":"uint256","nodeType":"ElementaryTypeName","src":"36992:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74901,"mutability":"mutable","name":"_lastConv","nameLocation":"37021:9:111","nodeType":"VariableDeclaration","scope":74954,"src":"37013:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74900,"name":"uint256","nodeType":"ElementaryTypeName","src":"37013:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74903,"mutability":"mutable","name":"_oldAmount","nameLocation":"37040:10:111","nodeType":"VariableDeclaration","scope":74954,"src":"37032:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74902,"name":"uint256","nodeType":"ElementaryTypeName","src":"37032:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36991:60:111"},"returnParameters":{"id":74907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74954,"src":"37097:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74905,"name":"uint256","nodeType":"ElementaryTypeName","src":"37097:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37096:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75047,"nodeType":"FunctionDefinition","src":"38719:1541:111","nodes":[],"body":{"id":75046,"nodeType":"Block","src":"38814:1446:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74962,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"38948:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":74963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38962:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38948:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74969,"nodeType":"IfStatement","src":"38944:66:111","trueBody":{"id":74968,"nodeType":"Block","src":"38965:45:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74965,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72521,"src":"38986:11:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38986:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74967,"nodeType":"RevertStatement","src":"38979:20:111"}]}},{"condition":{"arguments":[{"id":74971,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74957,"src":"39466:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74970,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74478,"src":"39450:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39450:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74977,"nodeType":"IfStatement","src":"39446:91:111","trueBody":{"id":74976,"nodeType":"Block","src":"39485:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74973,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72529,"src":"39506:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39506:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74975,"nodeType":"RevertStatement","src":"39499:27:111"}]}},{"assignments":[74979],"declarations":[{"constant":false,"id":74979,"mutability":"mutable","name":"denom","nameLocation":"39693:5:111","nodeType":"VariableDeclaration","scope":75046,"src":"39685:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74978,"name":"uint256","nodeType":"ElementaryTypeName","src":"39685:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74998,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74980,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"39702:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39711:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72475,"src":"39702:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":74984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":74982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39722:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":74983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39727:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39722:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39702:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74986,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39701:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74987,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39733:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39701:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74989,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74957,"src":"39738:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":74992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":74990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39757:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":74991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39762:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39757:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39738:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74994,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39737:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74995,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71734,"src":"39768:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39737:41:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39701:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39685:93:111"},{"expression":{"id":75033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74999,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"39788:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75000,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"39820:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39829:6:111","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":72477,"src":"39820:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":75002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39839:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39820:22:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75004,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39819:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75005,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39846:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39819:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75007,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39818:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75008,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74979,"src":"39853:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75009,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74979,"src":"39861:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39853:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75011,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39852:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39871:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39852:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75014,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39851:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39818:56:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75016,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39817:58:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75017,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39878:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39817:62:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75019,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39816:64:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75020,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"39884:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75021,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"39888:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39897:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"39888:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39884:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75024,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39883:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39816:87:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75026,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39815:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":75027,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75155,"src":"39923:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":75028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39923:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39815:136:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75030,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39801:160:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39965:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39801:166:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39788:179:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75034,"nodeType":"ExpressionStatement","src":"39788:179:111"},{"expression":{"id":75044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75035,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"40157:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75036,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"40170:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75037,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"40183:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40192:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"40183:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40170:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":75041,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"40226:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40235:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"40226:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"40170:83:111","trueExpression":{"id":75040,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"40213:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40157:96:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75045,"nodeType":"ExpressionStatement","src":"40157:96:111"}]},"documentation":{"id":74955,"nodeType":"StructuredDocumentation","src":"38144:570:111","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"38728:18:111","parameters":{"id":74958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74957,"mutability":"mutable","name":"_requestedAmount","nameLocation":"38755:16:111","nodeType":"VariableDeclaration","scope":75047,"src":"38747:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74956,"name":"uint256","nodeType":"ElementaryTypeName","src":"38747:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38746:26:111"},"returnParameters":{"id":74961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74960,"mutability":"mutable","name":"_threshold","nameLocation":"38802:10:111","nodeType":"VariableDeclaration","scope":75047,"src":"38794:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74959,"name":"uint256","nodeType":"ElementaryTypeName","src":"38794:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38793:20:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75082,"nodeType":"FunctionDefinition","src":"40521:269:111","nodes":[],"body":{"id":75081,"nodeType":"Block","src":"40599:191:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75058,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75050,"src":"40617:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75059,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"40623:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40617:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":75061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40632:42:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":75057,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40609:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40609:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75063,"nodeType":"ExpressionStatement","src":"40609:66:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75065,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75052,"src":"40693:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75066,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"40698:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40693:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":75068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40707:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":75064,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40685:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40685:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75070,"nodeType":"ExpressionStatement","src":"40685:53:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75071,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75050,"src":"40757:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75072,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75052,"src":"40762:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40757:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75074,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40756:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75075,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72718,"src":"40768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40756:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40755:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40780:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40755:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75056,"id":75080,"nodeType":"Return","src":"40748:35:111"}]},"documentation":{"id":75048,"nodeType":"StructuredDocumentation","src":"40266:250:111","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"40530:4:111","parameters":{"id":75053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75050,"mutability":"mutable","name":"_a","nameLocation":"40543:2:111","nodeType":"VariableDeclaration","scope":75082,"src":"40535:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75049,"name":"uint256","nodeType":"ElementaryTypeName","src":"40535:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75052,"mutability":"mutable","name":"_b","nameLocation":"40555:2:111","nodeType":"VariableDeclaration","scope":75082,"src":"40547:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75051,"name":"uint256","nodeType":"ElementaryTypeName","src":"40547:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40534:24:111"},"returnParameters":{"id":75056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75055,"mutability":"mutable","name":"_result","nameLocation":"40590:7:111","nodeType":"VariableDeclaration","scope":75082,"src":"40582:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75054,"name":"uint256","nodeType":"ElementaryTypeName","src":"40582:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40581:17:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75147,"nodeType":"FunctionDefinition","src":"41012:447:111","nodes":[],"body":{"id":75146,"nodeType":"Block","src":"41090:369:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75093,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75085,"src":"41108:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75094,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"41113:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41108:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":75096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41122:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":75092,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41100:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41100:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75098,"nodeType":"ExpressionStatement","src":"41100:53:111"},{"assignments":[75100],"declarations":[{"constant":false,"id":75100,"mutability":"mutable","name":"a","nameLocation":"41171:1:111","nodeType":"VariableDeclaration","scope":75146,"src":"41163:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75099,"name":"uint256","nodeType":"ElementaryTypeName","src":"41163:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75102,"initialValue":{"id":75101,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75085,"src":"41175:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41163:14:111"},{"assignments":[75104],"declarations":[{"constant":false,"id":75104,"mutability":"mutable","name":"b","nameLocation":"41195:1:111","nodeType":"VariableDeclaration","scope":75146,"src":"41187:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75103,"name":"uint256","nodeType":"ElementaryTypeName","src":"41187:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75106,"initialValue":{"id":75105,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75087,"src":"41199:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41187:14:111"},{"expression":{"id":75109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75107,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75090,"src":"41211:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75108,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72715,"src":"41221:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41211:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75110,"nodeType":"ExpressionStatement","src":"41211:17:111"},{"body":{"id":75144,"nodeType":"Block","src":"41252:201:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75114,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41270:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":75115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41274:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41270:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41279:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41270:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75142,"nodeType":"Block","src":"41360:83:111","statements":[{"expression":{"id":75136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75131,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75090,"src":"41378:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75133,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75090,"src":"41393:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75134,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41402:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75132,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75082,"src":"41388:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41388:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41378:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75137,"nodeType":"ExpressionStatement","src":"41378:26:111"},{"expression":{"id":75140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75138,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41422:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":75139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41427:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41422:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75141,"nodeType":"ExpressionStatement","src":"41422:6:111"}]},"id":75143,"nodeType":"IfStatement","src":"41266:177:111","trueBody":{"id":75130,"nodeType":"Block","src":"41282:72:111","statements":[{"expression":{"id":75124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75119,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41300:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75121,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41309:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75122,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75100,"src":"41312:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75120,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75082,"src":"41304:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41304:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41300:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75125,"nodeType":"ExpressionStatement","src":"41300:14:111"},{"expression":{"id":75128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75126,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41332:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":75127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41338:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41332:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75129,"nodeType":"ExpressionStatement","src":"41332:7:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75111,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"41245:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41249:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41245:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75145,"nodeType":"WhileStatement","src":"41238:215:111"}]},"documentation":{"id":75083,"nodeType":"StructuredDocumentation","src":"40796:211:111","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"41021:4:111","parameters":{"id":75088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75085,"mutability":"mutable","name":"_a","nameLocation":"41034:2:111","nodeType":"VariableDeclaration","scope":75147,"src":"41026:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75084,"name":"uint256","nodeType":"ElementaryTypeName","src":"41026:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75087,"mutability":"mutable","name":"_b","nameLocation":"41046:2:111","nodeType":"VariableDeclaration","scope":75147,"src":"41038:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75086,"name":"uint256","nodeType":"ElementaryTypeName","src":"41038:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41025:24:111"},"returnParameters":{"id":75091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75090,"mutability":"mutable","name":"_result","nameLocation":"41081:7:111","nodeType":"VariableDeclaration","scope":75147,"src":"41073:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75089,"name":"uint256","nodeType":"ElementaryTypeName","src":"41073:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41072:17:111"},"scope":75909,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75155,"nodeType":"FunctionDefinition","src":"41465:112:111","nodes":[],"body":{"id":75154,"nodeType":"Block","src":"41533:44:111","nodes":[],"statements":[{"expression":{"id":75152,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72750,"src":"41550:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75151,"id":75153,"nodeType":"Return","src":"41543:27:111"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"41474:26:111","parameters":{"id":75148,"nodeType":"ParameterList","parameters":[],"src":"41500:2:111"},"returnParameters":{"id":75151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75155,"src":"41524:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75149,"name":"uint256","nodeType":"ElementaryTypeName","src":"41524:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41523:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75196,"nodeType":"FunctionDefinition","src":"41767:396:111","nodes":[],"body":{"id":75195,"nodeType":"Block","src":"41875:288:111","nodes":[],"statements":[{"assignments":[75165,75167],"declarations":[{"constant":false,"id":75165,"mutability":"mutable","name":"conviction","nameLocation":"41894:10:111","nodeType":"VariableDeclaration","scope":75195,"src":"41886:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75164,"name":"uint256","nodeType":"ElementaryTypeName","src":"41886:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75167,"mutability":"mutable","name":"blockNumber","nameLocation":"41914:11:111","nodeType":"VariableDeclaration","scope":75195,"src":"41906:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75166,"name":"uint256","nodeType":"ElementaryTypeName","src":"41906:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75172,"initialValue":{"arguments":[{"id":75169,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75159,"src":"41963:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":75170,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75161,"src":"41974:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75168,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75243,"src":"41929:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":75171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41929:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"41885:100:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75173,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75165,"src":"41999:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42013:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41999:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75176,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75167,"src":"42018:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42033:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42018:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"41999:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75182,"nodeType":"IfStatement","src":"41995:72:111","trueBody":{"id":75181,"nodeType":"Block","src":"42036:31:111","statements":[{"functionReturnParameters":75163,"id":75180,"nodeType":"Return","src":"42050:7:111"}]}},{"expression":{"id":75187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75183,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75159,"src":"42076:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42086:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42076:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75186,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75167,"src":"42098:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42076:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75188,"nodeType":"ExpressionStatement","src":"42076:33:111"},{"expression":{"id":75193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75189,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75159,"src":"42119:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42129:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"42119:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75192,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75165,"src":"42146:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42119:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75194,"nodeType":"ExpressionStatement","src":"42119:37:111"}]},"documentation":{"id":75156,"nodeType":"StructuredDocumentation","src":"41583:179:111","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"41776:26:111","parameters":{"id":75162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75159,"mutability":"mutable","name":"_proposal","nameLocation":"41835:9:111","nodeType":"VariableDeclaration","scope":75196,"src":"41803:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75158,"nodeType":"UserDefinedTypeName","pathNode":{"id":75157,"name":"StrategyStruct.Proposal","nameLocations":["41803:14:111","41818:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"41803:23:111"},"referencedDeclaration":72451,"src":"41803:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75161,"mutability":"mutable","name":"_oldStaked","nameLocation":"41854:10:111","nodeType":"VariableDeclaration","scope":75196,"src":"41846:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75160,"name":"uint256","nodeType":"ElementaryTypeName","src":"41846:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41802:63:111"},"returnParameters":{"id":75163,"nodeType":"ParameterList","parameters":[],"src":"41875:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75243,"nodeType":"FunctionDefinition","src":"42169:719:111","nodes":[],"body":{"id":75242,"nodeType":"Block","src":"42367:521:111","nodes":[],"statements":[{"expression":{"id":75211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75208,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42377:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75209,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"42391:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42397:6:111","memberName":"number","nodeType":"MemberAccess","src":"42391:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42377:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75212,"nodeType":"ExpressionStatement","src":"42377:26:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75214,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42420:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42430:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42420:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75216,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42443:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42420:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75213,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"42413:6:111","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":75218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42413:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75219,"nodeType":"ExpressionStatement","src":"42413:42:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75220,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42469:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42479:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42469:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75222,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42492:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42469:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75229,"nodeType":"IfStatement","src":"42465:173:111","trueBody":{"id":75228,"nodeType":"Block","src":"42505:133:111","statements":[{"expression":{"components":[{"hexValue":"30","id":75224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42593:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42596:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":75226,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"42592:6:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":75207,"id":75227,"nodeType":"Return","src":"42585:13:111"}]}},{"expression":{"id":75240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75230,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75204,"src":"42691:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75232,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"42737:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75233,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42751:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42761:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"42751:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42737:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75236,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75199,"src":"42823:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75237,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42833:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"42823:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75238,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"42861:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75231,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74954,"src":"42704:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":75239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42704:177:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42691:190:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75241,"nodeType":"ExpressionStatement","src":"42691:190:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"42178:33:111","parameters":{"id":75202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75199,"mutability":"mutable","name":"_proposal","nameLocation":"42244:9:111","nodeType":"VariableDeclaration","scope":75243,"src":"42212:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75198,"nodeType":"UserDefinedTypeName","pathNode":{"id":75197,"name":"StrategyStruct.Proposal","nameLocations":["42212:14:111","42227:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"42212:23:111"},"referencedDeclaration":72451,"src":"42212:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75201,"mutability":"mutable","name":"_oldStaked","nameLocation":"42263:10:111","nodeType":"VariableDeclaration","scope":75243,"src":"42255:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75200,"name":"uint256","nodeType":"ElementaryTypeName","src":"42255:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42211:63:111"},"returnParameters":{"id":75207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75204,"mutability":"mutable","name":"conviction","nameLocation":"42330:10:111","nodeType":"VariableDeclaration","scope":75243,"src":"42322:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75203,"name":"uint256","nodeType":"ElementaryTypeName","src":"42322:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75206,"mutability":"mutable","name":"blockNumber","nameLocation":"42350:11:111","nodeType":"VariableDeclaration","scope":75243,"src":"42342:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75205,"name":"uint256","nodeType":"ElementaryTypeName","src":"42342:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42321:41:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75354,"nodeType":"FunctionDefinition","src":"42894:1432:111","nodes":[],"body":{"id":75353,"nodeType":"Block","src":"43049:1277:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75252,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43076:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43094:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43076:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43118:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43110:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75254,"name":"address","nodeType":"ElementaryTypeName","src":"43110:7:111","typeDescriptions":{}}},"id":75257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43110:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43076:44:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75261,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43132:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43150:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43132:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43124:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75259,"name":"address","nodeType":"ElementaryTypeName","src":"43124:7:111","typeDescriptions":{}}},"id":75263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43124:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43173:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43165:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75264,"name":"address","nodeType":"ElementaryTypeName","src":"43165:7:111","typeDescriptions":{}}},"id":75267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43165:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43124:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43076:99:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75270,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43217:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75271,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43235:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43217:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75272,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43251:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43268:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43251:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43217:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},"id":75279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75275,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43300:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43318:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43300:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75277,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43332:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43349:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43332:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"src":"43300:59:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:142:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75281,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43379:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43397:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"43379:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75283,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43426:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43443:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72466,"src":"43426:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43379:89:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:251:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75287,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43488:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43506:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"43488:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75289,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43536:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43553:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"43536:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43488:91:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:362:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75293,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43599:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43617:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"43599:31:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75295,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43634:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43651:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"43634:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43599:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:447:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75299,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43684:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43702:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"43684:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75301,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"43726:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75302,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43743:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"43726:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43684:79:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43217:546:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":75305,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43203:574:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43076:701:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75343,"nodeType":"IfStatement","src":"43059:1168:111","trueBody":{"id":75342,"nodeType":"Block","src":"43788:439:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":75309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75307,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72743,"src":"43806:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43822:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43806:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75314,"nodeType":"IfStatement","src":"43802:110:111","trueBody":{"id":75313,"nodeType":"Block","src":"43825:87:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75310,"name":"ArbitrationConfigCannotBeChangedDuringDispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72611,"src":"43850:45:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43850:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75312,"nodeType":"RevertStatement","src":"43843:54:111"}]}},{"expression":{"arguments":[{"expression":{"id":75320,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43980:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43998:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"43980:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":75315,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"43938:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43956:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"43938:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"id":75319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43967:12:111","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":79605,"src":"43938:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":75322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43938:73:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75323,"nodeType":"ExpressionStatement","src":"43938:73:111"},{"eventCall":{"arguments":[{"arguments":[{"id":75327,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"44077:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75909","typeString":"contract CVStrategyV0_0"}],"id":75326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44069:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75325,"name":"address","nodeType":"ElementaryTypeName","src":"44069:7:111","typeDescriptions":{}}},"id":75328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44069:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":75331,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"44092:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44109:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"44092:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44084:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75329,"name":"address","nodeType":"ElementaryTypeName","src":"44084:7:111","typeDescriptions":{}}},"id":75333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44084:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75334,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"44122:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44139:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"44122:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":75324,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72709,"src":"44030:21:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":75336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44030:135:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75337,"nodeType":"EmitStatement","src":"44025:140:111"},{"expression":{"id":75340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75338,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"44180:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75339,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"44199:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"44180:36:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75341,"nodeType":"ExpressionStatement","src":"44180:36:111"}]}},{"expression":{"id":75346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75344,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"44237:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75345,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75249,"src":"44248:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"44237:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75347,"nodeType":"ExpressionStatement","src":"44237:20:111"},{"eventCall":{"arguments":[{"id":75349,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75249,"src":"44290:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"id":75350,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"44301:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":75348,"name":"PoolParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72676,"src":"44272:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$72482_memory_ptr_$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory,struct StrategyStruct.ArbitrableConfig memory)"}},"id":75351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44272:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75352,"nodeType":"EmitStatement","src":"44267:52:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"42903:14:111","parameters":{"id":75250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75246,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"42966:17:111","nodeType":"VariableDeclaration","scope":75354,"src":"42927:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75245,"nodeType":"UserDefinedTypeName","pathNode":{"id":75244,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["42927:14:111","42942:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"42927:31:111"},"referencedDeclaration":72473,"src":"42927:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75249,"mutability":"mutable","name":"_cvParams","nameLocation":"43024:9:111","nodeType":"VariableDeclaration","scope":75354,"src":"42993:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75248,"nodeType":"UserDefinedTypeName","pathNode":{"id":75247,"name":"StrategyStruct.CVParams","nameLocations":["42993:14:111","43008:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"42993:23:111"},"referencedDeclaration":72482,"src":"42993:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"42917:122:111"},"returnParameters":{"id":75251,"nodeType":"ParameterList","parameters":[],"src":"43049:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75390,"nodeType":"FunctionDefinition","src":"44332:630:111","nodes":[],"body":{"id":75389,"nodeType":"Block","src":"44411:551:111","nodes":[],"statements":[{"assignments":[75365],"declarations":[{"constant":false,"id":75365,"mutability":"mutable","name":"proposal","nameLocation":"44453:8:111","nodeType":"VariableDeclaration","scope":75389,"src":"44421:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75364,"nodeType":"UserDefinedTypeName","pathNode":{"id":75363,"name":"StrategyStruct.Proposal","nameLocations":["44421:14:111","44436:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"44421:23:111"},"referencedDeclaration":72451,"src":"44421:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75369,"initialValue":{"baseExpression":{"id":75366,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"44464:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75368,"indexExpression":{"id":75367,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75356,"src":"44474:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44464:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"44421:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75370,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44500:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75371,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44509:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"44500:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75372,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75356,"src":"44523:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44500:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75379,"nodeType":"IfStatement","src":"44496:100:111","trueBody":{"id":75378,"nodeType":"Block","src":"44535:61:111","statements":[{"errorCall":{"arguments":[{"id":75375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75356,"src":"44574:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75374,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"44556:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44556:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75377,"nodeType":"RevertStatement","src":"44549:36:111"}]}},{"expression":{"arguments":[{"id":75381,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44883:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":75382,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44893:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44902:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"44893:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75380,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75196,"src":"44856:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72451_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":75384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44856:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75385,"nodeType":"ExpressionStatement","src":"44856:59:111"},{"expression":{"expression":{"id":75386,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75365,"src":"44932:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44941:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"44932:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75360,"id":75388,"nodeType":"Return","src":"44925:30:111"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"44341:24:111","parameters":{"id":75357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75356,"mutability":"mutable","name":"proposalId","nameLocation":"44374:10:111","nodeType":"VariableDeclaration","scope":75390,"src":"44366:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75355,"name":"uint256","nodeType":"ElementaryTypeName","src":"44366:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44365:20:111"},"returnParameters":{"id":75360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75390,"src":"44402:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75358,"name":"uint256","nodeType":"ElementaryTypeName","src":"44402:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44401:9:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75410,"nodeType":"FunctionDefinition","src":"44968:133:111","nodes":[],"body":{"id":75409,"nodeType":"Block","src":"45040:61:111","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75397,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75392,"src":"45059:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75398,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"45068:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45059:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75400,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45058:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75401,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72712,"src":"45074:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75402,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72753,"src":"45078:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45087:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72479,"src":"45078:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45074:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75405,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45073:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45058:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75407,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45057:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75396,"id":75408,"nodeType":"Return","src":"45050:44:111"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"44977:16:111","parameters":{"id":75393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75392,"mutability":"mutable","name":"amount","nameLocation":"45002:6:111","nodeType":"VariableDeclaration","scope":75410,"src":"44994:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75391,"name":"uint256","nodeType":"ElementaryTypeName","src":"44994:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44993:16:111"},"returnParameters":{"id":75396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75410,"src":"45031:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75394,"name":"uint256","nodeType":"ElementaryTypeName","src":"45031:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45030:9:111"},"scope":75909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75430,"nodeType":"FunctionDefinition","src":"45107:223:111","nodes":[],"body":{"id":75429,"nodeType":"Block","src":"45202:128:111","nodes":[],"statements":[{"expression":{"id":75423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75419,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"45212:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75421,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75412,"src":"45254:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75420,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"45232:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78716_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":75422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45232:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"src":"45212:61:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":75424,"nodeType":"ExpressionStatement","src":"45212:61:111"},{"eventCall":{"arguments":[{"id":75426,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75412,"src":"45304:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75425,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72680,"src":"45288:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45288:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75428,"nodeType":"EmitStatement","src":"45283:40:111"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":75415,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"45190:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45194:6:111","memberName":"sender","nodeType":"MemberAccess","src":"45190:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":75417,"kind":"modifierInvocation","modifierName":{"id":75414,"name":"onlyPoolManager","nameLocations":["45174:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":71777,"src":"45174:15:111"},"nodeType":"ModifierInvocation","src":"45174:27:111"}],"name":"setRegistryCommunity","nameLocation":"45116:20:111","parameters":{"id":75413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75412,"mutability":"mutable","name":"_registryCommunity","nameLocation":"45145:18:111","nodeType":"VariableDeclaration","scope":75430,"src":"45137:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75411,"name":"address","nodeType":"ElementaryTypeName","src":"45137:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45136:28:111"},"returnParameters":{"id":75418,"nodeType":"ParameterList","parameters":[],"src":"45202:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75449,"nodeType":"FunctionDefinition","src":"45336:181:111","nodes":[],"body":{"id":75448,"nodeType":"Block","src":"45391:126:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75435,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"45401:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45401:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75437,"nodeType":"ExpressionStatement","src":"45401:17:111"},{"expression":{"arguments":[{"id":75439,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75432,"src":"45447:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75438,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73014,"src":"45428:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":75440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45428:32:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75441,"nodeType":"ExpressionStatement","src":"45428:32:111"},{"expression":{"id":75446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75442,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72774,"src":"45470:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75444,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75432,"src":"45497:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75443,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"45484:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76270_$","typeString":"type(contract ISybilScorer)"}},"id":75445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45484:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"src":"45470:40:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76270","typeString":"contract ISybilScorer"}},"id":75447,"nodeType":"ExpressionStatement","src":"45470:40:111"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"45345:14:111","parameters":{"id":75433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75432,"mutability":"mutable","name":"_sybilScorer","nameLocation":"45368:12:111","nodeType":"VariableDeclaration","scope":75449,"src":"45360:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75431,"name":"address","nodeType":"ElementaryTypeName","src":"45360:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45359:22:111"},"returnParameters":{"id":75434,"nodeType":"ParameterList","parameters":[],"src":"45391:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75467,"nodeType":"FunctionDefinition","src":"45523:242:111","nodes":[],"body":{"id":75466,"nodeType":"Block","src":"45677:88:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75458,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"45687:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45687:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75460,"nodeType":"ExpressionStatement","src":"45687:17:111"},{"expression":{"arguments":[{"id":75462,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"45729:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":75463,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75455,"src":"45748:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":75461,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75354,"src":"45714:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72473_memory_ptr_$_t_struct$_CVParams_$72482_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":75464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45714:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75465,"nodeType":"ExpressionStatement","src":"45714:44:111"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"45532:13:111","parameters":{"id":75456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75452,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"45594:17:111","nodeType":"VariableDeclaration","scope":75467,"src":"45555:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75451,"nodeType":"UserDefinedTypeName","pathNode":{"id":75450,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["45555:14:111","45570:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72473,"src":"45555:31:111"},"referencedDeclaration":72473,"src":"45555:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75455,"mutability":"mutable","name":"_cvParams","nameLocation":"45652:9:111","nodeType":"VariableDeclaration","scope":75467,"src":"45621:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75454,"nodeType":"UserDefinedTypeName","pathNode":{"id":75453,"name":"StrategyStruct.CVParams","nameLocations":["45621:14:111","45636:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72482,"src":"45621:23:111"},"referencedDeclaration":72482,"src":"45621:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72482_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"45545:122:111"},"returnParameters":{"id":75457,"nodeType":"ParameterList","parameters":[],"src":"45677:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75650,"nodeType":"FunctionDefinition","src":"45771:2270:111","nodes":[],"body":{"id":75649,"nodeType":"Block","src":"45941:2100:111","nodes":[],"statements":[{"assignments":[75482],"declarations":[{"constant":false,"id":75482,"mutability":"mutable","name":"proposal","nameLocation":"45983:8:111","nodeType":"VariableDeclaration","scope":75649,"src":"45951:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75481,"nodeType":"UserDefinedTypeName","pathNode":{"id":75480,"name":"StrategyStruct.Proposal","nameLocations":["45951:14:111","45966:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"45951:23:111"},"referencedDeclaration":72451,"src":"45951:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75486,"initialValue":{"baseExpression":{"id":75483,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"45994:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75485,"indexExpression":{"id":75484,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46004:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45994:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"45951:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75489,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"46038:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46055:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"46038:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46030:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75487,"name":"address","nodeType":"ElementaryTypeName","src":"46030:7:111","typeDescriptions":{}}},"id":75491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46030:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46078:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46070:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75492,"name":"address","nodeType":"ElementaryTypeName","src":"46070:7:111","typeDescriptions":{}}},"id":75495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46070:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46030:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75501,"nodeType":"IfStatement","src":"46026:112:111","trueBody":{"id":75500,"nodeType":"Block","src":"46082:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75497,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72601,"src":"46103:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46103:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75499,"nodeType":"RevertStatement","src":"46096:31:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75502,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46315:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46324:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"46315:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75504,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46338:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46315:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75511,"nodeType":"IfStatement","src":"46311:100:111","trueBody":{"id":75510,"nodeType":"Block","src":"46350:61:111","statements":[{"errorCall":{"arguments":[{"id":75507,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46389:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75506,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"46371:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46371:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75509,"nodeType":"RevertStatement","src":"46364:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"id":75517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75512,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46424:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46433:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"46424:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75514,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"46451:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46466:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"46451:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46481:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"46451:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"46424:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75523,"nodeType":"IfStatement","src":"46420:130:111","trueBody":{"id":75522,"nodeType":"Block","src":"46489:61:111","statements":[{"errorCall":{"arguments":[{"id":75519,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"46528:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75518,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72561,"src":"46510:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46510:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75521,"nodeType":"RevertStatement","src":"46503:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75524,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46563:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46567:5:111","memberName":"value","nodeType":"MemberAccess","src":"46563:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75526,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"46575:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46592:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"46575:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46563:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75537,"nodeType":"IfStatement","src":"46559:171:111","trueBody":{"id":75536,"nodeType":"Block","src":"46620:110:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":75530,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46664:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46668:5:111","memberName":"value","nodeType":"MemberAccess","src":"46664:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75532,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"46675:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46692:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"46675:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75529,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"46641:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46641:78:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75535,"nodeType":"RevertStatement","src":"46634:85:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75538,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46849:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46858:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"46849:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46883:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"46849:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75542,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"46904:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46913:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"46904:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75544,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"46937:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46904:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75546,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"46960:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46966:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"46960:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46904:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46849:126:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75562,"nodeType":"IfStatement","src":"46832:325:111","trueBody":{"id":75561,"nodeType":"Block","src":"46986:171:111","statements":[{"errorCall":{"arguments":[{"id":75551,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47049:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75552,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47061:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47070:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"47061:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75554,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"47094:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47061:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75556,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47117:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47123:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47117:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47061:71:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75550,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72609,"src":"47007:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47007:139:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75560,"nodeType":"RevertStatement","src":"47000:146:111"}]}},{"assignments":[75564],"declarations":[{"constant":false,"id":75564,"mutability":"mutable","name":"arbitrationFee","nameLocation":"47175:14:111","nodeType":"VariableDeclaration","scope":75649,"src":"47167:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75563,"name":"uint256","nodeType":"ElementaryTypeName","src":"47167:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75570,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75565,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47192:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47196:5:111","memberName":"value","nodeType":"MemberAccess","src":"47192:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75567,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47204:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47221:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"47204:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47192:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47167:80:111"},{"expression":{"arguments":[{"id":75577,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47344:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75578,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47356:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47360:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47356:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75571,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"47258:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47274:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79618,"src":"47258:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":75574,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47299:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47316:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"47299:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47258:85:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":75580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47258:109:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75581,"nodeType":"ExpressionStatement","src":"47258:109:111"},{"expression":{"id":75591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75582,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47378:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75588,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72727,"src":"47455:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75589,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75473,"src":"47471:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":75583,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47390:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47407:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"47390:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},"id":75585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47418:13:111","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":79553,"src":"47390:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":75586,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75564,"src":"47439:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47390:64:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47390:92:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47378:104:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75592,"nodeType":"ExpressionStatement","src":"47378:104:111"},{"expression":{"id":75599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75593,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47493:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47502:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"47493:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75596,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"47519:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47534:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"47519:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47549:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72408,"src":"47519:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"47493:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75600,"nodeType":"ExpressionStatement","src":"47493:64:111"},{"expression":{"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75601,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47567:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47576:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47567:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47588:9:111","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":72412,"src":"47567:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75606,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47600:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47567:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75608,"nodeType":"ExpressionStatement","src":"47567:42:111"},{"expression":{"id":75616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75609,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47619:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47628:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47619:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47640:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72414,"src":"47619:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75614,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47659:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47665:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47659:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47619:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75617,"nodeType":"ExpressionStatement","src":"47619:55:111"},{"expression":{"id":75625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75618,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47684:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47693:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47684:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47705:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"47684:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75623,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47718:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47722:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47718:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"47684:44:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75626,"nodeType":"ExpressionStatement","src":"47684:44:111"},{"expression":{"id":75631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75627,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72792,"src":"47738:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75629,"indexExpression":{"id":75628,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47760:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"47738:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75630,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47773:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47738:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75632,"nodeType":"ExpressionStatement","src":"47738:45:111"},{"expression":{"id":75634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"47794:14:111","subExpression":{"id":75633,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72743,"src":"47794:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75635,"nodeType":"ExpressionStatement","src":"47794:14:111"},{"eventCall":{"arguments":[{"expression":{"id":75637,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"47854:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47871:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"47854:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},{"id":75639,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75469,"src":"47895:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75640,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75476,"src":"47919:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75641,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47942:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47946:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47942:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75643,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75471,"src":"47966:7:111","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":75644,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75482,"src":"47987:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47996:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"47987:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48008:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72414,"src":"47987:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75636,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72701,"src":"47824:16:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79606_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":75647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47824:210:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75648,"nodeType":"EmitStatement","src":"47819:215:111"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"45780:15:111","parameters":{"id":75474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75469,"mutability":"mutable","name":"proposalId","nameLocation":"45804:10:111","nodeType":"VariableDeclaration","scope":75650,"src":"45796:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75468,"name":"uint256","nodeType":"ElementaryTypeName","src":"45796:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75471,"mutability":"mutable","name":"context","nameLocation":"45832:7:111","nodeType":"VariableDeclaration","scope":75650,"src":"45816:23:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":75470,"name":"string","nodeType":"ElementaryTypeName","src":"45816:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":75473,"mutability":"mutable","name":"_extraData","nameLocation":"45856:10:111","nodeType":"VariableDeclaration","scope":75650,"src":"45841:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":75472,"name":"bytes","nodeType":"ElementaryTypeName","src":"45841:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45795:72:111"},"returnParameters":{"id":75477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75476,"mutability":"mutable","name":"disputeId","nameLocation":"45926:9:111","nodeType":"VariableDeclaration","scope":75650,"src":"45918:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75475,"name":"uint256","nodeType":"ElementaryTypeName","src":"45918:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45917:19:111"},"scope":75909,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75895,"nodeType":"FunctionDefinition","src":"48047:2798:111","nodes":[],"body":{"id":75894,"nodeType":"Block","src":"48116:2729:111","nodes":[],"statements":[{"assignments":[75659],"declarations":[{"constant":false,"id":75659,"mutability":"mutable","name":"proposalId","nameLocation":"48134:10:111","nodeType":"VariableDeclaration","scope":75894,"src":"48126:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75658,"name":"uint256","nodeType":"ElementaryTypeName","src":"48126:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75663,"initialValue":{"baseExpression":{"id":75660,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72792,"src":"48147:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75662,"indexExpression":{"id":75661,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75652,"src":"48169:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48147:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"48126:54:111"},{"assignments":[75668],"declarations":[{"constant":false,"id":75668,"mutability":"mutable","name":"proposal","nameLocation":"48222:8:111","nodeType":"VariableDeclaration","scope":75894,"src":"48190:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75667,"nodeType":"UserDefinedTypeName","pathNode":{"id":75666,"name":"StrategyStruct.Proposal","nameLocations":["48190:14:111","48205:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72451,"src":"48190:23:111"},"referencedDeclaration":72451,"src":"48190:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75672,"initialValue":{"baseExpression":{"id":75669,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72779,"src":"48233:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72451_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75671,"indexExpression":{"id":75670,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48243:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48233:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48190:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48269:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48283:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48269:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75681,"nodeType":"IfStatement","src":"48265:82:111","trueBody":{"id":75680,"nodeType":"Block","src":"48286:61:111","statements":[{"errorCall":{"arguments":[{"id":75677,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48325:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75676,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72565,"src":"48307:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48307:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75679,"nodeType":"RevertStatement","src":"48300:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"},"id":75687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75682,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"48360:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48369:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"48360:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75684,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"48387:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48402:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"48387:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48417:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72408,"src":"48387:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"48360:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75693,"nodeType":"IfStatement","src":"48356:134:111","trueBody":{"id":75692,"nodeType":"Block","src":"48427:63:111","statements":[{"errorCall":{"arguments":[{"id":75689,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"48468:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75688,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72599,"src":"48448:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48448:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75691,"nodeType":"RevertStatement","src":"48441:38:111"}]}},{"assignments":[75695],"declarations":[{"constant":false,"id":75695,"mutability":"mutable","name":"isTimeOut","nameLocation":"48505:9:111","nodeType":"VariableDeclaration","scope":75894,"src":"48500:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75694,"name":"bool","nodeType":"ElementaryTypeName","src":"48500:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75705,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75696,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"48517:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48523:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"48517:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75698,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"48535:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75699,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48544:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"48535:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48556:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72414,"src":"48535:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":75701,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48575:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48592:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"48575:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48535:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48517:95:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"48500:112:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"48627:10:111","subExpression":{"id":75706,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75695,"src":"48628:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75708,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48641:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48645:6:111","memberName":"sender","nodeType":"MemberAccess","src":"48641:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":75712,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48663:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75713,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48680:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"48663:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}],"id":75711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48655:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75710,"name":"address","nodeType":"ElementaryTypeName","src":"48655:7:111","typeDescriptions":{}}},"id":75714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48655:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"48641:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48627:64:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75721,"nodeType":"IfStatement","src":"48623:118:111","trueBody":{"id":75720,"nodeType":"Block","src":"48693:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75717,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"48714:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48714:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75719,"nodeType":"RevertStatement","src":"48707:23:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75722,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75695,"src":"48755:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75723,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"48768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48779:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48768:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48755:25:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75787,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"49543:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49554:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"49543:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75816,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"49915:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49926:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49915:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75874,"nodeType":"IfStatement","src":"49911:774:111","trueBody":{"id":75873,"nodeType":"Block","src":"49929:756:111","statements":[{"expression":{"id":75825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75819,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49943:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49952:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"49943:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75822,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"49969:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49984:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"49969:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49999:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72409,"src":"49969:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49943:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75826,"nodeType":"ExpressionStatement","src":"49943:64:111"},{"expression":{"arguments":[{"id":75830,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"50073:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75831,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50085:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50094:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50085:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75833,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50106:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"50085:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75834,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"50118:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50135:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"50118:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75827,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"50021:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50037:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"50021:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50021:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75837,"nodeType":"ExpressionStatement","src":"50021:154:111"},{"expression":{"arguments":[{"id":75841,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"50244:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75842,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50272:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50281:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"50272:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75846,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"50316:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":75847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50334:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77047,"src":"50316:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79732_$","typeString":"function () view external returns (contract ISafe)"}},"id":75848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50316:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":75845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50308:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75844,"name":"address","nodeType":"ElementaryTypeName","src":"50308:7:111","typeDescriptions":{}}},"id":75849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50308:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75850,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50366:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50375:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50366:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50387:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"50366:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50414:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50366:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75838,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"50189:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50205:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79638,"src":"50189:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50189:240:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75856,"nodeType":"ExpressionStatement","src":"50189:240:111"},{"expression":{"arguments":[{"id":75860,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"50498:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75861,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50526:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50535:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"50526:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75863,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50562:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50571:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50562:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50583:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"50562:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75866,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50611:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75867,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50620:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"50611:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50632:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"50611:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50659:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50611:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75857,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"50443:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50459:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79638,"src":"50443:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50443:231:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75872,"nodeType":"ExpressionStatement","src":"50443:231:111"}]}},"id":75875,"nodeType":"IfStatement","src":"49539:1146:111","trueBody":{"id":75815,"nodeType":"Block","src":"49557:348:111","statements":[{"expression":{"id":75796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75790,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49571:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49580:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"49571:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75793,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"49597:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49612:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"49597:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49627:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"49597:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49571:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75797,"nodeType":"ExpressionStatement","src":"49571:62:111"},{"expression":{"arguments":[{"id":75801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"49702:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75802,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49730:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75803,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49739:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"49730:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49751:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"49730:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75807,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72768,"src":"49787:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"id":75808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49805:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77047,"src":"49787:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79732_$","typeString":"function () view external returns (contract ISafe)"}},"id":75809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49787:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":75806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49779:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75805,"name":"address","nodeType":"ElementaryTypeName","src":"49779:7:111","typeDescriptions":{}}},"id":75810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49779:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75811,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"49837:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49854:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"49837:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75798,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"49647:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49663:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79638,"src":"49647:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49647:247:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75814,"nodeType":"ExpressionStatement","src":"49647:247:111"}]}},"id":75876,"nodeType":"IfStatement","src":"48751:1934:111","trueBody":{"id":75786,"nodeType":"Block","src":"48782:751:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75727,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48800:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48817:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"48800:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48834:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48800:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75735,"nodeType":"IfStatement","src":"48796:102:111","trueBody":{"id":75734,"nodeType":"Block","src":"48837:61:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75731,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72603,"src":"48862:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48862:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75733,"nodeType":"RevertStatement","src":"48855:28:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75736,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"48915:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48932:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"48915:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48949:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"48915:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75749,"nodeType":"IfStatement","src":"48911:136:111","trueBody":{"id":75748,"nodeType":"Block","src":"48952:95:111","statements":[{"expression":{"id":75746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75740,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"48970:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"48979:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"48970:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75743,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"48996:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49011:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"48996:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49026:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72404,"src":"48996:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"48970:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75747,"nodeType":"ExpressionStatement","src":"48970:62:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75750,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"49064:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49081:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49064:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49098:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49064:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75763,"nodeType":"IfStatement","src":"49060:138:111","trueBody":{"id":75762,"nodeType":"Block","src":"49101:97:111","statements":[{"expression":{"id":75760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75754,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49119:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49128:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"49119:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75757,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"49145:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":75758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49160:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72410,"src":"49145:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72410_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49175:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72409,"src":"49145:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49119:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72410","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75761,"nodeType":"ExpressionStatement","src":"49119:64:111"}]}},{"expression":{"arguments":[{"id":75767,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"49263:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75768,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49275:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49284:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"49275:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49296:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"49275:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75771,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"49308:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49325:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"49308:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75764,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"49211:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49227:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"49211:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49211:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75774,"nodeType":"ExpressionStatement","src":"49211:154:111"},{"expression":{"arguments":[{"id":75778,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75659,"src":"49431:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75779,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49443:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49452:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"49443:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75781,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"49463:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75782,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49472:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"49463:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72419_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75783,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49484:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72418,"src":"49463:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75775,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72771,"src":"49379:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79639","typeString":"contract ICollateralVault"}},"id":75777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49395:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79627,"src":"49379:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49379:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75785,"nodeType":"ExpressionStatement","src":"49379:143:111"}]}},{"expression":{"id":75878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"50695:14:111","subExpression":{"id":75877,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72743,"src":"50695:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75879,"nodeType":"ExpressionStatement","src":"50695:14:111"},{"expression":{"id":75885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75880,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75668,"src":"50719:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72451_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50728:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"50719:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75883,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50752:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50758:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"50752:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50719:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75886,"nodeType":"ExpressionStatement","src":"50719:48:111"},{"eventCall":{"arguments":[{"expression":{"id":75888,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72765,"src":"50789:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72473_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50806:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"50789:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"}},{"id":75890,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75652,"src":"50818:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75891,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75654,"src":"50830:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79606","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75887,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79493,"src":"50782:6:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79606_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":75892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50782:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75893,"nodeType":"EmitStatement","src":"50777:61:111"}]},"baseFunctions":[79501],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"48056:4:111","overrides":{"id":75656,"nodeType":"OverrideSpecifier","overrides":[],"src":"48107:8:111"},"parameters":{"id":75655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75652,"mutability":"mutable","name":"_disputeID","nameLocation":"48069:10:111","nodeType":"VariableDeclaration","scope":75895,"src":"48061:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75651,"name":"uint256","nodeType":"ElementaryTypeName","src":"48061:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75654,"mutability":"mutable","name":"_ruling","nameLocation":"48089:7:111","nodeType":"VariableDeclaration","scope":75895,"src":"48081:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75653,"name":"uint256","nodeType":"ElementaryTypeName","src":"48081:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48060:37:111"},"returnParameters":{"id":75657,"nodeType":"ParameterList","parameters":[],"src":"48116:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75904,"nodeType":"FunctionDefinition","src":"50851:66:111","nodes":[],"body":{"id":75903,"nodeType":"Block","src":"50915:2:111","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":75901,"kind":"modifierInvocation","modifierName":{"id":75900,"name":"onlyOwner","nameLocations":["50905:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"50905:9:111"},"nodeType":"ModifierInvocation","src":"50905:9:111"}],"name":"_authorizeUpgrade","nameLocation":"50860:17:111","overrides":{"id":75899,"nodeType":"OverrideSpecifier","overrides":[],"src":"50896:8:111"},"parameters":{"id":75898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75904,"src":"50878:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75896,"name":"address","nodeType":"ElementaryTypeName","src":"50878:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50877:9:111"},"returnParameters":{"id":75902,"nodeType":"ParameterList","parameters":[],"src":"50915:0:111"},"scope":75909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75908,"nodeType":"VariableDeclaration","src":"50923:25:111","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"50943:5:111","scope":75909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":75905,"name":"uint256","nodeType":"ElementaryTypeName","src":"50923:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75907,"length":{"hexValue":"3530","id":75906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50931:2:111","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"50923:11:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":72504,"name":"OwnableUpgradeable","nameLocations":["4075:18:111"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"4075:18:111"},"id":72505,"nodeType":"InheritanceSpecifier","src":"4075:18:111"},{"baseName":{"id":72506,"name":"BaseStrategyUpgradeable","nameLocations":["4095:23:111"],"nodeType":"IdentifierPath","referencedDeclaration":72314,"src":"4095:23:111"},"id":72507,"nodeType":"InheritanceSpecifier","src":"4095:23:111"},{"baseName":{"id":72508,"name":"IArbitrable","nameLocations":["4120:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79502,"src":"4120:11:111"},"id":72509,"nodeType":"InheritanceSpecifier","src":"4120:11:111"},{"baseName":{"id":72510,"name":"IPointStrategy","nameLocations":["4133:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72381,"src":"4133:14:111"},"id":72511,"nodeType":"InheritanceSpecifier","src":"4133:14:111"},{"baseName":{"id":72512,"name":"ERC165","nameLocations":["4149:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":57806,"src":"4149:6:111"},"id":72513,"nodeType":"InheritanceSpecifier","src":"4149:6:111"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[75909,57806,58012,72381,79502,72314,3089,3317,3106,2969,55753,55406,55055,55065,52984,53777,53233],"name":"CVStrategyV0_0","nameLocation":"4057:14:111","scope":75910,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,72515,72517,72519,72521,72523,72525,72527,72529,72531,72533,72535,72543,72545,72547,72553,72555,72557,72561,72565,72571,72573,72575,72583,72585,72587,72593,72595,72599,72601,72603,72609,72611]}],"license":"AGPL-3.0-only"},"id":111}
\ No newline at end of file
+{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122089ab3fba24504ac2d28a5d62340e07951d7588c614a1d241087a153311c51e4564736f6c63430008130033","sourceMap":"1634:2414:111:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122089ab3fba24504ac2d28a5d62340e07951d7588c614a1d241087a153311c51e4564736f6c63430008130033","sourceMap":"1634:2414:111:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"StrategyStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e\",\"dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"StrategyStruct"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0","urls":["bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e","dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":75970,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[72374],"CVStrategyV0_0":[75969],"Clone":[3002],"ERC165":[57806],"ERC20":[56531],"IAllo":[2610],"IArbitrable":[79562],"IArbitrator":[79666],"ICollateralVault":[79699],"IERC165":[58012],"IPointStrategy":[72441],"ISybilScorer":[76330],"Math":[58878],"Metadata":[3098],"OwnableUpgradeable":[52984],"PassportData":[76248],"RegistryCommunityV0_0":[78776],"StrategyStruct":[72563],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"42:50945:111","nodes":[{"id":72376,"nodeType":"PragmaDirective","src":"42:24:111","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72378,"nodeType":"ImportDirective","src":"68:71:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":72377,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72381,"nodeType":"ImportDirective","src":"140:82:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":72379,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72380,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72383,"nodeType":"ImportDirective","src":"223:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":72382,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"231:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72386,"nodeType":"ImportDirective","src":"290:87:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":57807,"symbolAliases":[{"foreign":{"id":72384,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57806,"src":"298:6:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72385,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58012,"src":"306:7:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72388,"nodeType":"ImportDirective","src":"378:68:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":56532,"symbolAliases":[{"foreign":{"id":72387,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"386:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72390,"nodeType":"ImportDirective","src":"447:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":79667,"symbolAliases":[{"foreign":{"id":72389,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79666,"src":"455:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72392,"nodeType":"ImportDirective","src":"505:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":79563,"symbolAliases":[{"foreign":{"id":72391,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"513:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72394,"nodeType":"ImportDirective","src":"563:65:111","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":72393,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"571:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72396,"nodeType":"ImportDirective","src":"679:65:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":58879,"symbolAliases":[{"foreign":{"id":72395,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"687:4:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72399,"nodeType":"ImportDirective","src":"745:62:111","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":76331,"symbolAliases":[{"foreign":{"id":72397,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"753:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72398,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76248,"src":"767:12:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72401,"nodeType":"ImportDirective","src":"809:88:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":72400,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"817:15:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72403,"nodeType":"ImportDirective","src":"898:70:111","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":72375,"symbolAliases":[{"foreign":{"id":72402,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72374,"src":"906:23:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72405,"nodeType":"ImportDirective","src":"969:101:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":72404,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"977:18:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72407,"nodeType":"ImportDirective","src":"1071:67:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"./interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":79700,"symbolAliases":[{"foreign":{"id":72406,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"1079:16:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72409,"nodeType":"ImportDirective","src":"1139:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":72408,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"1147:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72411,"nodeType":"ImportDirective","src":"1206:66:111","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":75970,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":72410,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"1214:21:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72441,"nodeType":"ContractDefinition","src":"1274:358:111","nodes":[{"id":72416,"nodeType":"FunctionDefinition","src":"1305:52:111","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1314:16:111","parameters":{"id":72414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72413,"mutability":"mutable","name":"_member","nameLocation":"1339:7:111","nodeType":"VariableDeclaration","scope":72416,"src":"1331:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72412,"name":"address","nodeType":"ElementaryTypeName","src":"1331:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1330:17:111"},"returnParameters":{"id":72415,"nodeType":"ParameterList","parameters":[],"src":"1356:0:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72425,"nodeType":"FunctionDefinition","src":"1363:91:111","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1372:13:111","parameters":{"id":72421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72418,"mutability":"mutable","name":"_member","nameLocation":"1394:7:111","nodeType":"VariableDeclaration","scope":72425,"src":"1386:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72417,"name":"address","nodeType":"ElementaryTypeName","src":"1386:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72420,"mutability":"mutable","name":"_amountToStake","nameLocation":"1411:14:111","nodeType":"VariableDeclaration","scope":72425,"src":"1403:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72419,"name":"uint256","nodeType":"ElementaryTypeName","src":"1403:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1385:41:111"},"returnParameters":{"id":72424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72423,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72425,"src":"1445:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72422,"name":"uint256","nodeType":"ElementaryTypeName","src":"1445:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1444:9:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72434,"nodeType":"FunctionDefinition","src":"1460:92:111","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1469:13:111","parameters":{"id":72430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72427,"mutability":"mutable","name":"_member","nameLocation":"1491:7:111","nodeType":"VariableDeclaration","scope":72434,"src":"1483:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72426,"name":"address","nodeType":"ElementaryTypeName","src":"1483:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72429,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1508:15:111","nodeType":"VariableDeclaration","scope":72434,"src":"1500:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72428,"name":"uint256","nodeType":"ElementaryTypeName","src":"1500:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1482:42:111"},"returnParameters":{"id":72433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72434,"src":"1543:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72431,"name":"uint256","nodeType":"ElementaryTypeName","src":"1543:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1542:9:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72440,"nodeType":"FunctionDefinition","src":"1558:72:111","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1567:14:111","parameters":{"id":72435,"nodeType":"ParameterList","parameters":[],"src":"1581:2:111"},"returnParameters":{"id":72439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72440,"src":"1602:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72437,"nodeType":"UserDefinedTypeName","pathNode":{"id":72436,"name":"StrategyStruct.PointSystem","nameLocations":["1602:14:111","1617:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"1602:26:111"},"referencedDeclaration":72450,"src":"1602:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1601:28:111"},"scope":72441,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[72441],"name":"IPointStrategy","nameLocation":"1284:14:111","scope":75970,"usedErrors":[]},{"id":72563,"nodeType":"ContractDefinition","src":"1634:2414:111","nodes":[{"id":72445,"nodeType":"EnumDefinition","src":"1663:79:111","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":72442,"name":"Signaling","nameLocation":"1691:9:111","nodeType":"EnumValue","src":"1691:9:111"},{"id":72443,"name":"Funding","nameLocation":"1710:7:111","nodeType":"EnumValue","src":"1710:7:111"},{"id":72444,"name":"Streaming","nameLocation":"1727:9:111","nodeType":"EnumValue","src":"1727:9:111"}],"name":"ProposalType","nameLocation":"1668:12:111"},{"id":72450,"nodeType":"EnumDefinition","src":"1748:92:111","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":72446,"name":"Fixed","nameLocation":"1775:5:111","nodeType":"EnumValue","src":"1775:5:111"},{"id":72447,"name":"Capped","nameLocation":"1790:6:111","nodeType":"EnumValue","src":"1790:6:111"},{"id":72448,"name":"Unlimited","nameLocation":"1806:9:111","nodeType":"EnumValue","src":"1806:9:111"},{"id":72449,"name":"Quadratic","nameLocation":"1825:9:111","nodeType":"EnumValue","src":"1825:9:111"}],"name":"PointSystem","nameLocation":"1753:11:111"},{"id":72462,"nodeType":"StructDefinition","src":"1846:243:111","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":72452,"mutability":"mutable","name":"poolId","nameLocation":"1917:6:111","nodeType":"VariableDeclaration","scope":72462,"src":"1909:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72451,"name":"uint256","nodeType":"ElementaryTypeName","src":"1909:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72454,"mutability":"mutable","name":"beneficiary","nameLocation":"1941:11:111","nodeType":"VariableDeclaration","scope":72462,"src":"1933:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72453,"name":"address","nodeType":"ElementaryTypeName","src":"1933:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72456,"mutability":"mutable","name":"amountRequested","nameLocation":"2008:15:111","nodeType":"VariableDeclaration","scope":72462,"src":"2000:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72455,"name":"uint256","nodeType":"ElementaryTypeName","src":"2000:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72458,"mutability":"mutable","name":"requestedToken","nameLocation":"2041:14:111","nodeType":"VariableDeclaration","scope":72462,"src":"2033:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72457,"name":"address","nodeType":"ElementaryTypeName","src":"2033:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72461,"mutability":"mutable","name":"metadata","nameLocation":"2074:8:111","nodeType":"VariableDeclaration","scope":72462,"src":"2065:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72460,"nodeType":"UserDefinedTypeName","pathNode":{"id":72459,"name":"Metadata","nameLocations":["2065:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2065:8:111"},"referencedDeclaration":3098,"src":"2065:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1853:14:111","scope":72563,"visibility":"public"},{"id":72470,"nodeType":"EnumDefinition","src":"2095:391:111","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":72463,"name":"Inactive","nameLocation":"2125:8:111","nodeType":"EnumValue","src":"2125:8:111"},{"id":72464,"name":"Active","nameLocation":"2155:6:111","nodeType":"EnumValue","src":"2155:6:111"},{"id":72465,"name":"Paused","nameLocation":"2218:6:111","nodeType":"EnumValue","src":"2218:6:111"},{"id":72466,"name":"Cancelled","nameLocation":"2283:9:111","nodeType":"EnumValue","src":"2283:9:111"},{"id":72467,"name":"Executed","nameLocation":"2336:8:111","nodeType":"EnumValue","src":"2336:8:111"},{"id":72468,"name":"Disputed","nameLocation":"2387:8:111","nodeType":"EnumValue","src":"2387:8:111"},{"id":72469,"name":"Rejected","nameLocation":"2438:8:111","nodeType":"EnumValue","src":"2438:8:111"}],"name":"ProposalStatus","nameLocation":"2100:14:111"},{"id":72479,"nodeType":"StructDefinition","src":"2492:165:111","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":72472,"mutability":"mutable","name":"disputeId","nameLocation":"2537:9:111","nodeType":"VariableDeclaration","scope":72479,"src":"2529:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72471,"name":"uint256","nodeType":"ElementaryTypeName","src":"2529:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72474,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2564:16:111","nodeType":"VariableDeclaration","scope":72479,"src":"2556:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72473,"name":"uint256","nodeType":"ElementaryTypeName","src":"2556:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72476,"mutability":"mutable","name":"challenger","nameLocation":"2598:10:111","nodeType":"VariableDeclaration","scope":72479,"src":"2590:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72475,"name":"address","nodeType":"ElementaryTypeName","src":"2590:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72478,"mutability":"mutable","name":"submitterCollateralVault","nameLocation":"2626:24:111","nodeType":"VariableDeclaration","scope":72479,"src":"2618:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72477,"name":"uint256","nodeType":"ElementaryTypeName","src":"2618:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2499:19:111","scope":72563,"visibility":"public"},{"id":72511,"nodeType":"StructDefinition","src":"2663:485:111","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":72481,"mutability":"mutable","name":"proposalId","nameLocation":"2697:10:111","nodeType":"VariableDeclaration","scope":72511,"src":"2689:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72480,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72483,"mutability":"mutable","name":"requestedAmount","nameLocation":"2725:15:111","nodeType":"VariableDeclaration","scope":72511,"src":"2717:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72482,"name":"uint256","nodeType":"ElementaryTypeName","src":"2717:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72485,"mutability":"mutable","name":"stakedAmount","nameLocation":"2758:12:111","nodeType":"VariableDeclaration","scope":72511,"src":"2750:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72484,"name":"uint256","nodeType":"ElementaryTypeName","src":"2750:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72487,"mutability":"mutable","name":"convictionLast","nameLocation":"2788:14:111","nodeType":"VariableDeclaration","scope":72511,"src":"2780:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72486,"name":"uint256","nodeType":"ElementaryTypeName","src":"2780:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72489,"mutability":"mutable","name":"beneficiary","nameLocation":"2820:11:111","nodeType":"VariableDeclaration","scope":72511,"src":"2812:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72488,"name":"address","nodeType":"ElementaryTypeName","src":"2812:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72491,"mutability":"mutable","name":"submitter","nameLocation":"2849:9:111","nodeType":"VariableDeclaration","scope":72511,"src":"2841:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72490,"name":"address","nodeType":"ElementaryTypeName","src":"2841:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72493,"mutability":"mutable","name":"requestedToken","nameLocation":"2876:14:111","nodeType":"VariableDeclaration","scope":72511,"src":"2868:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72492,"name":"address","nodeType":"ElementaryTypeName","src":"2868:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72495,"mutability":"mutable","name":"blockLast","nameLocation":"2908:9:111","nodeType":"VariableDeclaration","scope":72511,"src":"2900:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72494,"name":"uint256","nodeType":"ElementaryTypeName","src":"2900:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72498,"mutability":"mutable","name":"proposalStatus","nameLocation":"2942:14:111","nodeType":"VariableDeclaration","scope":72511,"src":"2927:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":72497,"nodeType":"UserDefinedTypeName","pathNode":{"id":72496,"name":"ProposalStatus","nameLocations":["2927:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72470,"src":"2927:14:111"},"referencedDeclaration":72470,"src":"2927:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":72502,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2994:17:111","nodeType":"VariableDeclaration","scope":72511,"src":"2966:45:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72501,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72499,"name":"address","nodeType":"ElementaryTypeName","src":"2974:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2966:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72500,"name":"uint256","nodeType":"ElementaryTypeName","src":"2985:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":72505,"mutability":"mutable","name":"metadata","nameLocation":"3053:8:111","nodeType":"VariableDeclaration","scope":72511,"src":"3044:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":72504,"nodeType":"UserDefinedTypeName","pathNode":{"id":72503,"name":"Metadata","nameLocations":["3044:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"3044:8:111"},"referencedDeclaration":3098,"src":"3044:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":72508,"mutability":"mutable","name":"disputeInfo","nameLocation":"3091:11:111","nodeType":"VariableDeclaration","scope":72511,"src":"3071:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":72507,"nodeType":"UserDefinedTypeName","pathNode":{"id":72506,"name":"ProposalDisputeInfo","nameLocations":["3071:19:111"],"nodeType":"IdentifierPath","referencedDeclaration":72479,"src":"3071:19:111"},"referencedDeclaration":72479,"src":"3071:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":72510,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"3120:21:111","nodeType":"VariableDeclaration","scope":72511,"src":"3112:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72509,"name":"uint256","nodeType":"ElementaryTypeName","src":"3112:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2670:8:111","scope":72563,"visibility":"public"},{"id":72516,"nodeType":"StructDefinition","src":"3154:126:111","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":72513,"mutability":"mutable","name":"proposalId","nameLocation":"3195:10:111","nodeType":"VariableDeclaration","scope":72516,"src":"3187:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72512,"name":"uint256","nodeType":"ElementaryTypeName","src":"3187:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72515,"mutability":"mutable","name":"deltaSupport","nameLocation":"3222:12:111","nodeType":"VariableDeclaration","scope":72516,"src":"3215:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72514,"name":"int256","nodeType":"ElementaryTypeName","src":"3215:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3161:15:111","scope":72563,"visibility":"public"},{"id":72519,"nodeType":"StructDefinition","src":"3286:89:111","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":72518,"mutability":"mutable","name":"maxAmount","nameLocation":"3359:9:111","nodeType":"VariableDeclaration","scope":72519,"src":"3351:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72517,"name":"uint256","nodeType":"ElementaryTypeName","src":"3351:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3293:17:111","scope":72563,"visibility":"public"},{"id":72533,"nodeType":"StructDefinition","src":"3381:249:111","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":72522,"mutability":"mutable","name":"arbitrator","nameLocation":"3427:10:111","nodeType":"VariableDeclaration","scope":72533,"src":"3415:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},"typeName":{"id":72521,"nodeType":"UserDefinedTypeName","pathNode":{"id":72520,"name":"IArbitrator","nameLocations":["3415:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79666,"src":"3415:11:111"},"referencedDeclaration":79666,"src":"3415:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72524,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3455:12:111","nodeType":"VariableDeclaration","scope":72533,"src":"3447:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72523,"name":"address","nodeType":"ElementaryTypeName","src":"3447:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72526,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3485:25:111","nodeType":"VariableDeclaration","scope":72533,"src":"3477:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72525,"name":"uint256","nodeType":"ElementaryTypeName","src":"3477:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72528,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3528:26:111","nodeType":"VariableDeclaration","scope":72533,"src":"3520:34:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72527,"name":"uint256","nodeType":"ElementaryTypeName","src":"3520:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72530,"mutability":"mutable","name":"defaultRuling","nameLocation":"3572:13:111","nodeType":"VariableDeclaration","scope":72533,"src":"3564:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72529,"name":"uint256","nodeType":"ElementaryTypeName","src":"3564:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72532,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3603:20:111","nodeType":"VariableDeclaration","scope":72533,"src":"3595:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72531,"name":"uint256","nodeType":"ElementaryTypeName","src":"3595:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3388:16:111","scope":72563,"visibility":"public"},{"id":72542,"nodeType":"StructDefinition","src":"3636:132:111","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":72535,"mutability":"mutable","name":"maxRatio","nameLocation":"3670:8:111","nodeType":"VariableDeclaration","scope":72542,"src":"3662:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72534,"name":"uint256","nodeType":"ElementaryTypeName","src":"3662:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72537,"mutability":"mutable","name":"weight","nameLocation":"3696:6:111","nodeType":"VariableDeclaration","scope":72542,"src":"3688:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72536,"name":"uint256","nodeType":"ElementaryTypeName","src":"3688:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72539,"mutability":"mutable","name":"decay","nameLocation":"3720:5:111","nodeType":"VariableDeclaration","scope":72542,"src":"3712:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72538,"name":"uint256","nodeType":"ElementaryTypeName","src":"3712:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72541,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3743:18:111","nodeType":"VariableDeclaration","scope":72542,"src":"3735:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72540,"name":"uint256","nodeType":"ElementaryTypeName","src":"3735:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3643:8:111","scope":72563,"visibility":"public"},{"id":72562,"nodeType":"StructDefinition","src":"3774:272:111","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":72545,"mutability":"mutable","name":"cvParams","nameLocation":"3817:8:111","nodeType":"VariableDeclaration","scope":72562,"src":"3808:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72544,"nodeType":"UserDefinedTypeName","pathNode":{"id":72543,"name":"CVParams","nameLocations":["3808:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"3808:8:111"},"referencedDeclaration":72542,"src":"3808:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72548,"mutability":"mutable","name":"proposalType","nameLocation":"3848:12:111","nodeType":"VariableDeclaration","scope":72562,"src":"3835:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72547,"nodeType":"UserDefinedTypeName","pathNode":{"id":72546,"name":"ProposalType","nameLocations":["3835:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72445,"src":"3835:12:111"},"referencedDeclaration":72445,"src":"3835:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":72551,"mutability":"mutable","name":"pointSystem","nameLocation":"3882:11:111","nodeType":"VariableDeclaration","scope":72562,"src":"3870:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72550,"nodeType":"UserDefinedTypeName","pathNode":{"id":72549,"name":"PointSystem","nameLocations":["3870:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"3870:11:111"},"referencedDeclaration":72450,"src":"3870:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":72554,"mutability":"mutable","name":"pointConfig","nameLocation":"3921:11:111","nodeType":"VariableDeclaration","scope":72562,"src":"3903:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72553,"nodeType":"UserDefinedTypeName","pathNode":{"id":72552,"name":"PointSystemConfig","nameLocations":["3903:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72519,"src":"3903:17:111"},"referencedDeclaration":72519,"src":"3903:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":72557,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3959:16:111","nodeType":"VariableDeclaration","scope":72562,"src":"3942:33:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72556,"nodeType":"UserDefinedTypeName","pathNode":{"id":72555,"name":"ArbitrableConfig","nameLocations":["3942:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"3942:16:111"},"referencedDeclaration":72533,"src":"3942:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":72559,"mutability":"mutable","name":"registryCommunity","nameLocation":"3993:17:111","nodeType":"VariableDeclaration","scope":72562,"src":"3985:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72558,"name":"address","nodeType":"ElementaryTypeName","src":"3985:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72561,"mutability":"mutable","name":"sybilScorer","nameLocation":"4028:11:111","nodeType":"VariableDeclaration","scope":72562,"src":"4020:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72560,"name":"address","nodeType":"ElementaryTypeName","src":"4020:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3781:16:111","scope":72563,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[72563],"name":"StrategyStruct","nameLocation":"1642:14:111","scope":75970,"usedErrors":[]},{"id":75969,"nodeType":"ContractDefinition","src":"4050:46936:111","nodes":[{"id":72575,"nodeType":"ErrorDefinition","src":"4330:25:111","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4336:16:111","parameters":{"id":72574,"nodeType":"ParameterList","parameters":[],"src":"4352:2:111"}},{"id":72577,"nodeType":"ErrorDefinition","src":"4374:26:111","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4380:17:111","parameters":{"id":72576,"nodeType":"ParameterList","parameters":[],"src":"4397:2:111"}},{"id":72579,"nodeType":"ErrorDefinition","src":"4418:23:111","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4424:14:111","parameters":{"id":72578,"nodeType":"ParameterList","parameters":[],"src":"4438:2:111"}},{"id":72581,"nodeType":"ErrorDefinition","src":"4460:20:111","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4466:11:111","parameters":{"id":72580,"nodeType":"ParameterList","parameters":[],"src":"4477:2:111"}},{"id":72583,"nodeType":"ErrorDefinition","src":"4499:23:111","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4505:14:111","parameters":{"id":72582,"nodeType":"ParameterList","parameters":[],"src":"4519:2:111"}},{"id":72585,"nodeType":"ErrorDefinition","src":"4540:26:111","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4546:17:111","parameters":{"id":72584,"nodeType":"ParameterList","parameters":[],"src":"4563:2:111"}},{"id":72587,"nodeType":"ErrorDefinition","src":"4584:24:111","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4590:15:111","parameters":{"id":72586,"nodeType":"ParameterList","parameters":[],"src":"4605:2:111"}},{"id":72589,"nodeType":"ErrorDefinition","src":"4627:27:111","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4633:18:111","parameters":{"id":72588,"nodeType":"ParameterList","parameters":[],"src":"4651:2:111"}},{"id":72591,"nodeType":"ErrorDefinition","src":"4673:27:111","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4679:18:111","parameters":{"id":72590,"nodeType":"ParameterList","parameters":[],"src":"4697:2:111"}},{"id":72593,"nodeType":"ErrorDefinition","src":"4718:28:111","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4724:19:111","parameters":{"id":72592,"nodeType":"ParameterList","parameters":[],"src":"4743:2:111"}},{"id":72595,"nodeType":"ErrorDefinition","src":"4764:29:111","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4770:20:111","parameters":{"id":72594,"nodeType":"ParameterList","parameters":[],"src":"4790:2:111"}},{"id":72603,"nodeType":"ErrorDefinition","src":"4812:72:111","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4818:16:111","parameters":{"id":72602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72597,"mutability":"mutable","name":"_support","nameLocation":"4843:8:111","nodeType":"VariableDeclaration","scope":72603,"src":"4835:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72596,"name":"uint256","nodeType":"ElementaryTypeName","src":"4835:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72599,"mutability":"mutable","name":"_delta","nameLocation":"4860:6:111","nodeType":"VariableDeclaration","scope":72603,"src":"4853:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72598,"name":"int256","nodeType":"ElementaryTypeName","src":"4853:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":72601,"mutability":"mutable","name":"_result","nameLocation":"4875:7:111","nodeType":"VariableDeclaration","scope":72603,"src":"4868:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":72600,"name":"int256","nodeType":"ElementaryTypeName","src":"4868:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4834:49:111"}},{"id":72605,"nodeType":"ErrorDefinition","src":"4903:25:111","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4909:16:111","parameters":{"id":72604,"nodeType":"ParameterList","parameters":[],"src":"4925:2:111"}},{"id":72607,"nodeType":"ErrorDefinition","src":"4947:32:111","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4953:23:111","parameters":{"id":72606,"nodeType":"ParameterList","parameters":[],"src":"4976:2:111"}},{"id":72613,"nodeType":"ErrorDefinition","src":"4998:77:111","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"5004:24:111","parameters":{"id":72612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72609,"mutability":"mutable","name":"pointsSupport","nameLocation":"5037:13:111","nodeType":"VariableDeclaration","scope":72613,"src":"5029:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72608,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72611,"mutability":"mutable","name":"pointsBalance","nameLocation":"5060:13:111","nodeType":"VariableDeclaration","scope":72613,"src":"5052:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72610,"name":"uint256","nodeType":"ElementaryTypeName","src":"5052:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:46:111"}},{"id":72615,"nodeType":"ErrorDefinition","src":"5095:28:111","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5101:19:111","parameters":{"id":72614,"nodeType":"ParameterList","parameters":[],"src":"5120:2:111"}},{"id":72617,"nodeType":"ErrorDefinition","src":"5141:31:111","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5147:22:111","parameters":{"id":72616,"nodeType":"ParameterList","parameters":[],"src":"5169:2:111"}},{"id":72621,"nodeType":"ErrorDefinition","src":"5190:45:111","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5196:17:111","parameters":{"id":72620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72619,"mutability":"mutable","name":"_proposalId","nameLocation":"5222:11:111","nodeType":"VariableDeclaration","scope":72621,"src":"5214:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5214:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5213:21:111"}},{"id":72625,"nodeType":"ErrorDefinition","src":"5254:45:111","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5260:17:111","parameters":{"id":72624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72623,"mutability":"mutable","name":"_proposalId","nameLocation":"5286:11:111","nodeType":"VariableDeclaration","scope":72625,"src":"5278:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72622,"name":"uint256","nodeType":"ElementaryTypeName","src":"5278:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5277:21:111"}},{"id":72631,"nodeType":"ErrorDefinition","src":"5318:68:111","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5324:25:111","parameters":{"id":72630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72627,"mutability":"mutable","name":"_proposalId","nameLocation":"5358:11:111","nodeType":"VariableDeclaration","scope":72631,"src":"5350:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72626,"name":"uint256","nodeType":"ElementaryTypeName","src":"5350:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72629,"mutability":"mutable","name":"index","nameLocation":"5379:5:111","nodeType":"VariableDeclaration","scope":72631,"src":"5371:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72628,"name":"uint256","nodeType":"ElementaryTypeName","src":"5371:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5349:36:111"}},{"id":72633,"nodeType":"ErrorDefinition","src":"5404:40:111","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5410:31:111","parameters":{"id":72632,"nodeType":"ParameterList","parameters":[],"src":"5441:2:111"}},{"id":72635,"nodeType":"ErrorDefinition","src":"5463:29:111","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5469:20:111","parameters":{"id":72634,"nodeType":"ParameterList","parameters":[],"src":"5489:2:111"}},{"id":72643,"nodeType":"ErrorDefinition","src":"5511:94:111","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5517:19:111","parameters":{"id":72642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72637,"mutability":"mutable","name":"_proposalId","nameLocation":"5545:11:111","nodeType":"VariableDeclaration","scope":72643,"src":"5537:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72636,"name":"uint256","nodeType":"ElementaryTypeName","src":"5537:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72639,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5566:16:111","nodeType":"VariableDeclaration","scope":72643,"src":"5558:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72638,"name":"uint256","nodeType":"ElementaryTypeName","src":"5558:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72641,"mutability":"mutable","name":"_poolAmount","nameLocation":"5592:11:111","nodeType":"VariableDeclaration","scope":72643,"src":"5584:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72640,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5536:68:111"}},{"id":72645,"nodeType":"ErrorDefinition","src":"5623:24:111","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5629:15:111","parameters":{"id":72644,"nodeType":"ParameterList","parameters":[],"src":"5644:2:111"}},{"id":72647,"nodeType":"ErrorDefinition","src":"5652:32:111","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5658:23:111","parameters":{"id":72646,"nodeType":"ParameterList","parameters":[],"src":"5681:2:111"}},{"id":72653,"nodeType":"ErrorDefinition","src":"5689:73:111","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5695:22:111","parameters":{"id":72652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72649,"mutability":"mutable","name":"sentAmount","nameLocation":"5726:10:111","nodeType":"VariableDeclaration","scope":72653,"src":"5718:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72648,"name":"uint256","nodeType":"ElementaryTypeName","src":"5718:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72651,"mutability":"mutable","name":"requiredAmount","nameLocation":"5746:14:111","nodeType":"VariableDeclaration","scope":72653,"src":"5738:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72650,"name":"uint256","nodeType":"ElementaryTypeName","src":"5738:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5717:44:111"}},{"id":72655,"nodeType":"ErrorDefinition","src":"5767:23:111","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5773:14:111","parameters":{"id":72654,"nodeType":"ParameterList","parameters":[],"src":"5787:2:111"}},{"id":72659,"nodeType":"ErrorDefinition","src":"5795:47:111","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5801:19:111","parameters":{"id":72658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72657,"mutability":"mutable","name":"_proposalId","nameLocation":"5829:11:111","nodeType":"VariableDeclaration","scope":72659,"src":"5821:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72656,"name":"uint256","nodeType":"ElementaryTypeName","src":"5821:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5820:21:111"}},{"id":72661,"nodeType":"ErrorDefinition","src":"5847:31:111","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5853:22:111","parameters":{"id":72660,"nodeType":"ParameterList","parameters":[],"src":"5875:2:111"}},{"id":72663,"nodeType":"ErrorDefinition","src":"5964:28:111","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5970:19:111","parameters":{"id":72662,"nodeType":"ParameterList","parameters":[],"src":"5989:2:111"}},{"id":72669,"nodeType":"ErrorDefinition","src":"5997:75:111","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"6003:24:111","parameters":{"id":72668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72665,"mutability":"mutable","name":"_proposalId","nameLocation":"6036:11:111","nodeType":"VariableDeclaration","scope":72669,"src":"6028:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72664,"name":"uint256","nodeType":"ElementaryTypeName","src":"6028:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72667,"mutability":"mutable","name":"_remainingSec","nameLocation":"6057:13:111","nodeType":"VariableDeclaration","scope":72669,"src":"6049:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72666,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6027:44:111"}},{"id":72671,"nodeType":"ErrorDefinition","src":"6077:54:111","nodes":[],"errorSelector":"fcc12b5b","name":"ArbitrationConfigCannotBeChangedDuringDispute","nameLocation":"6083:45:111","parameters":{"id":72670,"nodeType":"ParameterList","parameters":[],"src":"6128:2:111"}},{"id":72678,"nodeType":"EventDefinition","src":"6303:74:111","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6309:13:111","parameters":{"id":72677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72673,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6331:6:111","nodeType":"VariableDeclaration","scope":72678,"src":"6323:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72672,"name":"uint256","nodeType":"ElementaryTypeName","src":"6323:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72676,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6371:4:111","nodeType":"VariableDeclaration","scope":72678,"src":"6339:36:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72675,"nodeType":"UserDefinedTypeName","pathNode":{"id":72674,"name":"StrategyStruct.InitializeParams","nameLocations":["6339:14:111","6354:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"6339:31:111"},"referencedDeclaration":72562,"src":"6339:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6322:54:111"}},{"id":72686,"nodeType":"EventDefinition","src":"6382:75:111","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6388:11:111","parameters":{"id":72685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72680,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6408:10:111","nodeType":"VariableDeclaration","scope":72686,"src":"6400:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72679,"name":"uint256","nodeType":"ElementaryTypeName","src":"6400:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72682,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6428:11:111","nodeType":"VariableDeclaration","scope":72686,"src":"6420:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72681,"name":"address","nodeType":"ElementaryTypeName","src":"6420:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72684,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6449:6:111","nodeType":"VariableDeclaration","scope":72686,"src":"6441:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72683,"name":"uint256","nodeType":"ElementaryTypeName","src":"6441:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6399:57:111"}},{"id":72692,"nodeType":"EventDefinition","src":"6462:58:111","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6468:15:111","parameters":{"id":72691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72688,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6492:6:111","nodeType":"VariableDeclaration","scope":72692,"src":"6484:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72687,"name":"uint256","nodeType":"ElementaryTypeName","src":"6484:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72690,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6508:10:111","nodeType":"VariableDeclaration","scope":72692,"src":"6500:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72689,"name":"uint256","nodeType":"ElementaryTypeName","src":"6500:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6483:36:111"}},{"id":72696,"nodeType":"EventDefinition","src":"6525:42:111","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6531:19:111","parameters":{"id":72695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72694,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6559:6:111","nodeType":"VariableDeclaration","scope":72696,"src":"6551:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72693,"name":"uint256","nodeType":"ElementaryTypeName","src":"6551:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6550:16:111"}},{"id":72700,"nodeType":"EventDefinition","src":"6572:40:111","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6578:17:111","parameters":{"id":72699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72698,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6604:6:111","nodeType":"VariableDeclaration","scope":72700,"src":"6596:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72697,"name":"address","nodeType":"ElementaryTypeName","src":"6596:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6595:16:111"}},{"id":72708,"nodeType":"EventDefinition","src":"6617:85:111","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6623:14:111","parameters":{"id":72707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72702,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6646:6:111","nodeType":"VariableDeclaration","scope":72708,"src":"6638:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72701,"name":"address","nodeType":"ElementaryTypeName","src":"6638:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72704,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6662:12:111","nodeType":"VariableDeclaration","scope":72708,"src":"6654:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72703,"name":"uint256","nodeType":"ElementaryTypeName","src":"6654:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72706,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6684:16:111","nodeType":"VariableDeclaration","scope":72708,"src":"6676:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72705,"name":"uint256","nodeType":"ElementaryTypeName","src":"6676:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6637:64:111"}},{"id":72716,"nodeType":"EventDefinition","src":"6707:87:111","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6713:14:111","parameters":{"id":72715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72710,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6736:6:111","nodeType":"VariableDeclaration","scope":72716,"src":"6728:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72709,"name":"address","nodeType":"ElementaryTypeName","src":"6728:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72712,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6752:14:111","nodeType":"VariableDeclaration","scope":72716,"src":"6744:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72711,"name":"uint256","nodeType":"ElementaryTypeName","src":"6744:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72714,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6776:16:111","nodeType":"VariableDeclaration","scope":72716,"src":"6768:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72713,"name":"uint256","nodeType":"ElementaryTypeName","src":"6768:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6727:66:111"}},{"id":72728,"nodeType":"EventDefinition","src":"6799:134:111","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6805:12:111","parameters":{"id":72727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72718,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6835:4:111","nodeType":"VariableDeclaration","scope":72728,"src":"6827:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72717,"name":"address","nodeType":"ElementaryTypeName","src":"6827:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72720,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6849:10:111","nodeType":"VariableDeclaration","scope":72728,"src":"6841:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72719,"name":"uint256","nodeType":"ElementaryTypeName","src":"6841:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72722,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6869:6:111","nodeType":"VariableDeclaration","scope":72728,"src":"6861:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72721,"name":"uint256","nodeType":"ElementaryTypeName","src":"6861:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72724,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6885:17:111","nodeType":"VariableDeclaration","scope":72728,"src":"6877:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72723,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72726,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6912:14:111","nodeType":"VariableDeclaration","scope":72728,"src":"6904:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72725,"name":"uint256","nodeType":"ElementaryTypeName","src":"6904:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6817:115:111"}},{"id":72736,"nodeType":"EventDefinition","src":"6938:108:111","nodes":[],"anonymous":false,"eventSelector":"b47aac82f31da18600e28bcf208952b653a703f7eb216def6198ee31280b955d","name":"PoolParamsUpdated","nameLocation":"6944:17:111","parameters":{"id":72735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72731,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6986:8:111","nodeType":"VariableDeclaration","scope":72736,"src":"6962:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72730,"nodeType":"UserDefinedTypeName","pathNode":{"id":72729,"name":"StrategyStruct.CVParams","nameLocations":["6962:14:111","6977:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"6962:23:111"},"referencedDeclaration":72542,"src":"6962:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":72734,"indexed":false,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"7028:16:111","nodeType":"VariableDeclaration","scope":72736,"src":"6996:48:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72733,"nodeType":"UserDefinedTypeName","pathNode":{"id":72732,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["6996:14:111","7011:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"6996:31:111"},"referencedDeclaration":72533,"src":"6996:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"6961:84:111"}},{"id":72740,"nodeType":"EventDefinition","src":"7051:49:111","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"7057:15:111","parameters":{"id":72739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72738,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"7081:17:111","nodeType":"VariableDeclaration","scope":72740,"src":"7073:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72737,"name":"address","nodeType":"ElementaryTypeName","src":"7073:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7072:27:111"}},{"id":72746,"nodeType":"EventDefinition","src":"7105:76:111","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"7111:25:111","parameters":{"id":72745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72742,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7145:6:111","nodeType":"VariableDeclaration","scope":72746,"src":"7137:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72741,"name":"uint256","nodeType":"ElementaryTypeName","src":"7137:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72744,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7161:18:111","nodeType":"VariableDeclaration","scope":72746,"src":"7153:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72743,"name":"uint256","nodeType":"ElementaryTypeName","src":"7153:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7136:44:111"}},{"id":72761,"nodeType":"EventDefinition","src":"7186:195:111","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7192:16:111","parameters":{"id":72760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72749,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7230:10:111","nodeType":"VariableDeclaration","scope":72761,"src":"7218:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},"typeName":{"id":72748,"nodeType":"UserDefinedTypeName","pathNode":{"id":72747,"name":"IArbitrator","nameLocations":["7218:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79666,"src":"7218:11:111"},"referencedDeclaration":79666,"src":"7218:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":72751,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7258:10:111","nodeType":"VariableDeclaration","scope":72761,"src":"7250:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72750,"name":"uint256","nodeType":"ElementaryTypeName","src":"7250:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72753,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7286:9:111","nodeType":"VariableDeclaration","scope":72761,"src":"7278:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72752,"name":"uint256","nodeType":"ElementaryTypeName","src":"7278:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72755,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7313:10:111","nodeType":"VariableDeclaration","scope":72761,"src":"7305:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72754,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72757,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7340:7:111","nodeType":"VariableDeclaration","scope":72761,"src":"7333:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72756,"name":"string","nodeType":"ElementaryTypeName","src":"7333:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":72759,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7365:9:111","nodeType":"VariableDeclaration","scope":72761,"src":"7357:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72758,"name":"uint256","nodeType":"ElementaryTypeName","src":"7357:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7208:172:111"}},{"id":72769,"nodeType":"EventDefinition","src":"7386:88:111","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7392:21:111","parameters":{"id":72768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72763,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7422:8:111","nodeType":"VariableDeclaration","scope":72769,"src":"7414:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72762,"name":"address","nodeType":"ElementaryTypeName","src":"7414:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72765,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7440:10:111","nodeType":"VariableDeclaration","scope":72769,"src":"7432:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72764,"name":"address","nodeType":"ElementaryTypeName","src":"7432:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72767,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7460:12:111","nodeType":"VariableDeclaration","scope":72769,"src":"7452:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72766,"name":"address","nodeType":"ElementaryTypeName","src":"7452:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7413:60:111"}},{"id":72772,"nodeType":"VariableDeclaration","src":"7848:36:111","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"7872:1:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72770,"name":"uint256","nodeType":"ElementaryTypeName","src":"7848:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":72771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7876:8:111","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":72775,"nodeType":"VariableDeclaration","src":"7898:70:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"7923:7:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72773,"name":"uint256","nodeType":"ElementaryTypeName","src":"7898:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":72774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7933:35:111","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":72778,"nodeType":"VariableDeclaration","src":"7984:69:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8009:7:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72776,"name":"uint256","nodeType":"ElementaryTypeName","src":"7984:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":72777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8019:34:111","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":72781,"nodeType":"VariableDeclaration","src":"8069:53:111","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8094:6:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72779,"name":"uint256","nodeType":"ElementaryTypeName","src":"8069:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":72780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8103:19:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":72784,"nodeType":"VariableDeclaration","src":"8137:49:111","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8161:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72782,"name":"uint256","nodeType":"ElementaryTypeName","src":"8137:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":72783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8184:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":72787,"nodeType":"VariableDeclaration","src":"8272:42:111","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8296:14:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72785,"name":"uint256","nodeType":"ElementaryTypeName","src":"8272:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":72786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8313:1:111","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":72790,"nodeType":"VariableDeclaration","src":"8320:54:111","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8344:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72788,"name":"uint256","nodeType":"ElementaryTypeName","src":"8320:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":72789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8367:7:111","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":72796,"nodeType":"VariableDeclaration","src":"8381:93:111","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8397:23:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72791,"name":"address","nodeType":"ElementaryTypeName","src":"8381:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307833623166624642303444423335383539323062326541644262383833394643393638304645386364","id":72794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8431:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x3b1fbFB04DB3585920b2eAdBb8839FC9680FE8cd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8423:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72792,"name":"address","nodeType":"ElementaryTypeName","src":"8423:7:111","typeDescriptions":{}}},"id":72795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8423:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":72798,"nodeType":"VariableDeclaration","src":"8578:47:111","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8595:30:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72797,"name":"uint256","nodeType":"ElementaryTypeName","src":"8578:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":72800,"nodeType":"VariableDeclaration","src":"8669:25:111","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8684:10:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72799,"name":"uint256","nodeType":"ElementaryTypeName","src":"8669:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72803,"nodeType":"VariableDeclaration","src":"8700:30:111","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8714:12:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72801,"name":"uint64","nodeType":"ElementaryTypeName","src":"8700:6:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"30","id":72802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8729:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72806,"nodeType":"VariableDeclaration","src":"8736:34:111","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8751:15:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72804,"name":"uint256","nodeType":"ElementaryTypeName","src":"8736:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":72805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8769:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":72808,"nodeType":"VariableDeclaration","src":"8777:26:111","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8792:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72807,"name":"uint256","nodeType":"ElementaryTypeName","src":"8777:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72810,"nodeType":"VariableDeclaration","src":"8809:35:111","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"8824:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72809,"name":"uint256","nodeType":"ElementaryTypeName","src":"8809:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72813,"nodeType":"VariableDeclaration","src":"8851:39:111","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"8882:8:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":72812,"nodeType":"UserDefinedTypeName","pathNode":{"id":72811,"name":"StrategyStruct.CVParams","nameLocations":["8851:14:111","8866:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"8851:23:111"},"referencedDeclaration":72542,"src":"8851:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":72816,"nodeType":"VariableDeclaration","src":"8937:47:111","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"8972:12:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":72815,"nodeType":"UserDefinedTypeName","pathNode":{"id":72814,"name":"StrategyStruct.ProposalType","nameLocations":["8937:14:111","8952:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":72445,"src":"8937:27:111"},"referencedDeclaration":72445,"src":"8937:27:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":72819,"nodeType":"VariableDeclaration","src":"9043:45:111","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9077:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":72818,"nodeType":"UserDefinedTypeName","pathNode":{"id":72817,"name":"StrategyStruct.PointSystem","nameLocations":["9043:14:111","9058:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"9043:26:111"},"referencedDeclaration":72450,"src":"9043:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":72822,"nodeType":"VariableDeclaration","src":"9094:51:111","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9134:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":72821,"nodeType":"UserDefinedTypeName","pathNode":{"id":72820,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9094:14:111","9109:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":72519,"src":"9094:32:111"},"referencedDeclaration":72519,"src":"9094:32:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":72825,"nodeType":"VariableDeclaration","src":"9151:55:111","nodes":[],"constant":false,"functionSelector":"1073e996","mutability":"mutable","name":"arbitrableConfig","nameLocation":"9190:16:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":72824,"nodeType":"UserDefinedTypeName","pathNode":{"id":72823,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9151:14:111","9166:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"9151:31:111"},"referencedDeclaration":72533,"src":"9151:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"public"},{"id":72828,"nodeType":"VariableDeclaration","src":"9239:46:111","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9268:17:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":72827,"nodeType":"UserDefinedTypeName","pathNode":{"id":72826,"name":"RegistryCommunityV0_0","nameLocations":["9239:21:111"],"nodeType":"IdentifierPath","referencedDeclaration":78776,"src":"9239:21:111"},"referencedDeclaration":78776,"src":"9239:21:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":72831,"nodeType":"VariableDeclaration","src":"9292:39:111","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9316:15:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"},"typeName":{"id":72830,"nodeType":"UserDefinedTypeName","pathNode":{"id":72829,"name":"ICollateralVault","nameLocations":["9292:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":79699,"src":"9292:16:111"},"referencedDeclaration":79699,"src":"9292:16:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":72834,"nodeType":"VariableDeclaration","src":"9337:31:111","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9357:11:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"},"typeName":{"id":72833,"nodeType":"UserDefinedTypeName","pathNode":{"id":72832,"name":"ISybilScorer","nameLocations":["9337:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":76330,"src":"9337:12:111"},"referencedDeclaration":76330,"src":"9337:12:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":72839,"nodeType":"VariableDeclaration","src":"9435:60:111","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9486:9:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":72838,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72835,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9435:43:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72837,"nodeType":"UserDefinedTypeName","pathNode":{"id":72836,"name":"StrategyStruct.Proposal","nameLocations":["9454:14:111","9469:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"9454:23:111"},"referencedDeclaration":72511,"src":"9454:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":72843,"nodeType":"VariableDeclaration","src":"9551:53:111","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9586:18:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":72842,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72840,"name":"address","nodeType":"ElementaryTypeName","src":"9559:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9551:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72841,"name":"uint256","nodeType":"ElementaryTypeName","src":"9570:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72848,"nodeType":"VariableDeclaration","src":"9642:57:111","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9679:20:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":72847,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72844,"name":"address","nodeType":"ElementaryTypeName","src":"9650:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9642:29:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":72845,"name":"uint256","nodeType":"ElementaryTypeName","src":"9661:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72846,"nodeType":"ArrayTypeName","src":"9661:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":72852,"nodeType":"VariableDeclaration","src":"9737:56:111","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9772:21:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":72851,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72849,"name":"uint256","nodeType":"ElementaryTypeName","src":"9745:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9737:27:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72850,"name":"uint256","nodeType":"ElementaryTypeName","src":"9756:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":72876,"nodeType":"FunctionDefinition","src":"10046:226:111","nodes":[],"body":{"id":72875,"nodeType":"Block","src":"10138:134:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72864,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72854,"src":"10159:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":72865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10166:12:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":72861,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10148:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75969_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10154:4:111","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":71818,"src":"10148:10:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":72866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10148:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72867,"nodeType":"ExpressionStatement","src":"10148:31:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72868,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"10189:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10189:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72870,"nodeType":"ExpressionStatement","src":"10189:16:111"},{"expression":{"id":72873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72871,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72796,"src":"10215:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72872,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72856,"src":"10241:24:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10215:50:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72874,"nodeType":"ExpressionStatement","src":"10215:50:111"}]},"functionSelector":"f09a4016","implemented":true,"kind":"function","modifiers":[{"id":72859,"kind":"modifierInvocation","modifierName":{"id":72858,"name":"initializer","nameLocations":["10126:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"10126:11:111"},"nodeType":"ModifierInvocation","src":"10126:11:111"}],"name":"init","nameLocation":"10055:4:111","parameters":{"id":72857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72854,"mutability":"mutable","name":"_allo","nameLocation":"10068:5:111","nodeType":"VariableDeclaration","scope":72876,"src":"10060:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72853,"name":"address","nodeType":"ElementaryTypeName","src":"10060:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72856,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10083:24:111","nodeType":"VariableDeclaration","scope":72876,"src":"10075:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72855,"name":"address","nodeType":"ElementaryTypeName","src":"10075:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10059:49:111"},"returnParameters":{"id":72860,"nodeType":"ParameterList","parameters":[],"src":"10138:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72972,"nodeType":"FunctionDefinition","src":"10278:824:111","nodes":[],"body":{"id":72971,"nodeType":"Block","src":"10361:741:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":72886,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72878,"src":"10391:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72885,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71954,"src":"10371:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10371:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72888,"nodeType":"ExpressionStatement","src":"10371:28:111"},{"expression":{"id":72898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72889,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"10410:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":72893,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72796,"src":"10463:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10488:12:111","subExpression":{"id":72894,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72800,"src":"10488:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72891,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10445:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":72892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10451:11:111","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10445:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":72896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10445:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72890,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"10428:16:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$79699_$","typeString":"type(contract ICollateralVault)"}},"id":72897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10428:74:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"src":"10410:92:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":72899,"nodeType":"ExpressionStatement","src":"10410:92:111"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72900,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"10512:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":72902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10528:10:111","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":79671,"src":"10512:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":72903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72904,"nodeType":"ExpressionStatement","src":"10512:28:111"},{"assignments":[72909],"declarations":[{"constant":false,"id":72909,"mutability":"mutable","name":"ip","nameLocation":"10590:2:111","nodeType":"VariableDeclaration","scope":72971,"src":"10551:41:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":72908,"nodeType":"UserDefinedTypeName","pathNode":{"id":72907,"name":"StrategyStruct.InitializeParams","nameLocations":["10551:14:111","10566:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"10551:31:111"},"referencedDeclaration":72562,"src":"10551:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":72917,"initialValue":{"arguments":[{"id":72912,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72880,"src":"10606:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":72913,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"10614:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":72914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10629:16:111","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":72562,"src":"10614:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72562_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":72915,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10613:33:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72562_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$72562_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":72910,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10595:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10599:6:111","memberName":"decode","nodeType":"MemberAccess","src":"10595:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":72916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10595:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10551:96:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72918,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10662:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72919,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10665:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72559,"src":"10662:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10694:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10686:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72920,"name":"address","nodeType":"ElementaryTypeName","src":"10686:7:111","typeDescriptions":{}}},"id":72923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10686:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10662:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72929,"nodeType":"IfStatement","src":"10658:94:111","trueBody":{"id":72928,"nodeType":"Block","src":"10698:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72925,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"10719:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72927,"nodeType":"RevertStatement","src":"10712:29:111"}]}},{"expression":{"id":72935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72930,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"10762:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72932,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10804:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10807:17:111","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":72559,"src":"10804:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72931,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"10782:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78776_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":72934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10782:43:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"src":"10762:63:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":72936,"nodeType":"ExpressionStatement","src":"10762:63:111"},{"expression":{"id":72940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72937,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72816,"src":"10836:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72938,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10851:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72939,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10854:12:111","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":72548,"src":"10851:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"10836:30:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"id":72941,"nodeType":"ExpressionStatement","src":"10836:30:111"},{"expression":{"id":72945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72942,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"10876:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72943,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10890:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72944,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10893:11:111","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":72551,"src":"10890:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"10876:28:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"id":72946,"nodeType":"ExpressionStatement","src":"10876:28:111"},{"expression":{"id":72950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72947,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"10914:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72948,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10928:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10931:11:111","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":72554,"src":"10928:14:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"10914:28:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":72951,"nodeType":"ExpressionStatement","src":"10914:28:111"},{"expression":{"id":72957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72952,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"10952:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":72954,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"10979:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10982:11:111","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":72561,"src":"10979:14:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72953,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"10966:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76330_$","typeString":"type(contract ISybilScorer)"}},"id":72956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10966:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"src":"10952:42:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"id":72958,"nodeType":"ExpressionStatement","src":"10952:42:111"},{"expression":{"arguments":[{"expression":{"id":72960,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"11020:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11023:16:111","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":72557,"src":"11020:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":72962,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"11041:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":72963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11044:8:111","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":72545,"src":"11041:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":72959,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75414,"src":"11005:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$_t_struct$_CVParams_$72542_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":72964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11005:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72965,"nodeType":"ExpressionStatement","src":"11005:48:111"},{"eventCall":{"arguments":[{"id":72967,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72878,"src":"11083:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72968,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72909,"src":"11092:2:111","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":72966,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72678,"src":"11069:13:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$72562_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":72969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11069:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72970,"nodeType":"EmitStatement","src":"11064:31:111"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":72883,"kind":"modifierInvocation","modifierName":{"id":72882,"name":"onlyAllo","nameLocations":["10352:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":71826,"src":"10352:8:111"},"nodeType":"ModifierInvocation","src":"10352:8:111"}],"name":"initialize","nameLocation":"10287:10:111","parameters":{"id":72881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72878,"mutability":"mutable","name":"_poolId","nameLocation":"10306:7:111","nodeType":"VariableDeclaration","scope":72972,"src":"10298:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72877,"name":"uint256","nodeType":"ElementaryTypeName","src":"10298:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72880,"mutability":"mutable","name":"_data","nameLocation":"10328:5:111","nodeType":"VariableDeclaration","scope":72972,"src":"10315:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":72879,"name":"bytes","nodeType":"ElementaryTypeName","src":"10315:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10297:37:111"},"returnParameters":{"id":72884,"nodeType":"ParameterList","parameters":[],"src":"10361:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72976,"nodeType":"FunctionDefinition","src":"11273:83:111","nodes":[],"body":{"id":72975,"nodeType":"Block","src":"11301:55:111","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72973,"nodeType":"ParameterList","parameters":[],"src":"11281:2:111"},"returnParameters":{"id":72974,"nodeType":"ParameterList","parameters":[],"src":"11301:0:111"},"scope":75969,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72980,"nodeType":"FunctionDefinition","src":"11362:135:111","nodes":[],"body":{"id":72979,"nodeType":"Block","src":"11389:108:111","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":72977,"nodeType":"ParameterList","parameters":[],"src":"11369:2:111"},"returnParameters":{"id":72978,"nodeType":"ParameterList","parameters":[],"src":"11389:0:111"},"scope":75969,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":73001,"nodeType":"FunctionDefinition","src":"11503:202:111","nodes":[],"body":{"id":73000,"nodeType":"Block","src":"11594:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":72998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":72993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72988,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72982,"src":"11611:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":72990,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"11631:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}],"id":72989,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11626:4:111","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11626:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72441","typeString":"type(contract IPointStrategy)"}},"id":72992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11647:11:111","memberName":"interfaceId","nodeType":"MemberAccess","src":"11626:32:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11611:47:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":72996,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72982,"src":"11686:11:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72994,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11662:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$75969_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":72995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11668:17:111","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57805,"src":"11662:23:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":72997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11662:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11611:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72987,"id":72999,"nodeType":"Return","src":"11604:94:111"}]},"baseFunctions":[57805],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11512:17:111","overrides":{"id":72984,"nodeType":"OverrideSpecifier","overrides":[],"src":"11570:8:111"},"parameters":{"id":72983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72982,"mutability":"mutable","name":"interfaceId","nameLocation":"11537:11:111","nodeType":"VariableDeclaration","scope":73001,"src":"11530:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":72981,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11530:6:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11529:20:111"},"returnParameters":{"id":72987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72986,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73001,"src":"11588:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72985,"name":"bool","nodeType":"ElementaryTypeName","src":"11588:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11587:6:111"},"scope":75969,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73042,"nodeType":"FunctionDefinition","src":"11876:377:111","nodes":[],"body":{"id":73041,"nodeType":"Block","src":"11935:318:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73006,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73003,"src":"11949:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11968:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11960:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73007,"name":"address","nodeType":"ElementaryTypeName","src":"11960:7:111","typeDescriptions":{}}},"id":73010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11960:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11949:21:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73016,"nodeType":"IfStatement","src":"11945:77:111","trueBody":{"id":73015,"nodeType":"Block","src":"11972:50:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73012,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72575,"src":"11993:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11993:18:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73014,"nodeType":"RevertStatement","src":"11986:25:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73019,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12043:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":73018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12035:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73017,"name":"address","nodeType":"ElementaryTypeName","src":"12035:7:111","typeDescriptions":{}}},"id":73020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12035:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12073:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12065:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73021,"name":"address","nodeType":"ElementaryTypeName","src":"12065:7:111","typeDescriptions":{}}},"id":73024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12065:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12035:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73030,"nodeType":"IfStatement","src":"12031:100:111","trueBody":{"id":73029,"nodeType":"Block","src":"12077:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73026,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"12098:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12098:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73028,"nodeType":"RevertStatement","src":"12091:29:111"}]}},{"condition":{"id":73035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12144:36:111","subExpression":{"arguments":[{"id":73033,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73003,"src":"12172:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73031,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12145:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12163:8:111","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":78384,"src":"12145:26:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":73034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12145:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73040,"nodeType":"IfStatement","src":"12140:93:111","trueBody":{"id":73039,"nodeType":"Block","src":"12182:51:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73036,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72577,"src":"12203:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12203:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73038,"nodeType":"RevertStatement","src":"12196:26:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"11885:19:111","parameters":{"id":73004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73003,"mutability":"mutable","name":"_sender","nameLocation":"11913:7:111","nodeType":"VariableDeclaration","scope":73042,"src":"11905:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73002,"name":"address","nodeType":"ElementaryTypeName","src":"11905:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11904:17:111"},"returnParameters":{"id":73005,"nodeType":"ParameterList","parameters":[],"src":"11935:0:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":73058,"nodeType":"FunctionDefinition","src":"12259:162:111","nodes":[],"body":{"id":73057,"nodeType":"Block","src":"12305:116:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73045,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12319:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12323:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12319:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":73049,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12341:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":73048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12333:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73047,"name":"address","nodeType":"ElementaryTypeName","src":"12333:7:111","typeDescriptions":{}}},"id":73050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12333:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12319:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73056,"nodeType":"IfStatement","src":"12315:100:111","trueBody":{"id":73055,"nodeType":"Block","src":"12361:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73052,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72635,"src":"12382:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12382:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73054,"nodeType":"RevertStatement","src":"12375:29:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12268:21:111","parameters":{"id":73043,"nodeType":"ParameterList","parameters":[],"src":"12289:2:111"},"returnParameters":{"id":73044,"nodeType":"ParameterList","parameters":[],"src":"12305:0:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":73074,"nodeType":"FunctionDefinition","src":"12427:133:111","nodes":[],"body":{"id":73073,"nodeType":"Block","src":"12487:73:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73063,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73060,"src":"12501:8:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12521:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12513:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73064,"name":"address","nodeType":"ElementaryTypeName","src":"12513:7:111","typeDescriptions":{}}},"id":73067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12513:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12501:22:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73072,"nodeType":"IfStatement","src":"12497:56:111","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73069,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"12532:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12532:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73071,"nodeType":"RevertStatement","src":"12525:28:111"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12436:18:111","parameters":{"id":73061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73060,"mutability":"mutable","name":"_address","nameLocation":"12463:8:111","nodeType":"VariableDeclaration","scope":73074,"src":"12455:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73059,"name":"address","nodeType":"ElementaryTypeName","src":"12455:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12454:18:111"},"returnParameters":{"id":73062,"nodeType":"ParameterList","parameters":[],"src":"12487:0:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73092,"nodeType":"FunctionDefinition","src":"12566:166:111","nodes":[],"body":{"id":73091,"nodeType":"Block","src":"12607:125:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73077,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12621:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12625:6:111","memberName":"sender","nodeType":"MemberAccess","src":"12621:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73081,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"12643:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12661:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77107,"src":"12643:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79792_$","typeString":"function () view external returns (contract ISafe)"}},"id":73083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12643:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":73080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12635:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73079,"name":"address","nodeType":"ElementaryTypeName","src":"12635:7:111","typeDescriptions":{}}},"id":73084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12635:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12621:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73090,"nodeType":"IfStatement","src":"12617:109:111","trueBody":{"id":73089,"nodeType":"Block","src":"12677:49:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73086,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72645,"src":"12698:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12698:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73088,"nodeType":"RevertStatement","src":"12691:24:111"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12575:15:111","parameters":{"id":73075,"nodeType":"ParameterList","parameters":[],"src":"12590:2:111"},"returnParameters":{"id":73076,"nodeType":"ParameterList","parameters":[],"src":"12607:0:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73122,"nodeType":"FunctionDefinition","src":"12738:230:111","nodes":[],"body":{"id":73121,"nodeType":"Block","src":"12809:159:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73101,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"12831:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}],"id":73100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12823:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73099,"name":"address","nodeType":"ElementaryTypeName","src":"12823:7:111","typeDescriptions":{}}},"id":73102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12823:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12855:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12847:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73103,"name":"address","nodeType":"ElementaryTypeName","src":"12847:7:111","typeDescriptions":{}}},"id":73106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12847:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12823:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73111,"nodeType":"IfStatement","src":"12819:76:111","trueBody":{"id":73110,"nodeType":"Block","src":"12859:36:111","statements":[{"expression":{"hexValue":"74727565","id":73108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12880:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":73098,"id":73109,"nodeType":"Return","src":"12873:11:111"}]}},{"expression":{"arguments":[{"id":73114,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73094,"src":"12940:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73117,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12955:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12947:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73115,"name":"address","nodeType":"ElementaryTypeName","src":"12947:7:111","typeDescriptions":{}}},"id":73118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12947:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73112,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"12911:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"id":73113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12923:16:111","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76287,"src":"12911:28:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12911:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73098,"id":73120,"nodeType":"Return","src":"12904:57:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12747:17:111","parameters":{"id":73095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73094,"mutability":"mutable","name":"_user","nameLocation":"12773:5:111","nodeType":"VariableDeclaration","scope":73122,"src":"12765:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73093,"name":"address","nodeType":"ElementaryTypeName","src":"12765:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12764:15:111"},"returnParameters":{"id":73098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73122,"src":"12803:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73096,"name":"bool","nodeType":"ElementaryTypeName","src":"12803:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12802:6:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73360,"nodeType":"FunctionDefinition","src":"13294:2658:111","nodes":[],"body":{"id":73359,"nodeType":"Block","src":"13395:2557:111","nodes":[],"statements":[{"condition":{"id":73135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13409:27:111","subExpression":{"arguments":[{"id":73133,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73126,"src":"13428:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73132,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"13410:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13410:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73140,"nodeType":"IfStatement","src":"13405:90:111","trueBody":{"id":73139,"nodeType":"Block","src":"13438:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73136,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"13459:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13459:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73138,"nodeType":"RevertStatement","src":"13452:32:111"}]}},{"expression":{"id":73141,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73124,"src":"13549:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73142,"nodeType":"ExpressionStatement","src":"13549:5:111"},{"assignments":[73147],"declarations":[{"constant":false,"id":73147,"mutability":"mutable","name":"proposal","nameLocation":"13601:8:111","nodeType":"VariableDeclaration","scope":73359,"src":"13564:45:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":73146,"nodeType":"UserDefinedTypeName","pathNode":{"id":73145,"name":"StrategyStruct.CreateProposal","nameLocations":["13564:14:111","13579:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72462,"src":"13564:29:111"},"referencedDeclaration":72462,"src":"13564:29:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":73155,"initialValue":{"arguments":[{"id":73150,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73124,"src":"13623:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":73151,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"13631:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13646:14:111","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":72462,"src":"13631:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72462_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":73153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13630:31:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72462_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$72462_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":73148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13612:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13616:6:111","memberName":"decode","nodeType":"MemberAccess","src":"13612:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13612:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13564:98:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73156,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"13777:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13786:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72452,"src":"13777:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13796:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13777:20:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73164,"nodeType":"IfStatement","src":"13773:78:111","trueBody":{"id":73163,"nodeType":"Block","src":"13799:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73160,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72591,"src":"13820:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13820:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73162,"nodeType":"RevertStatement","src":"13813:27:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"id":73169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73165,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72816,"src":"13927:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73166,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"13943:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13958:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"13943:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72445_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13971:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72443,"src":"13943:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"13927:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73225,"nodeType":"IfStatement","src":"13923:764:111","trueBody":{"id":73224,"nodeType":"Block","src":"13980:707:111","statements":[{"expression":{"arguments":[{"expression":{"id":73171,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14013:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14022:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72454,"src":"14013:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73170,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"13994:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13994:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73174,"nodeType":"ExpressionStatement","src":"13994:40:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73175,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14100:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14109:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"14100:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14135:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14127:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73177,"name":"address","nodeType":"ElementaryTypeName","src":"14127:7:111","typeDescriptions":{}}},"id":73180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14127:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14100:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73186,"nodeType":"IfStatement","src":"14096:102:111","trueBody":{"id":73185,"nodeType":"Block","src":"14139:59:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73182,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72585,"src":"14164:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14164:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73184,"nodeType":"RevertStatement","src":"14157:26:111"}]}},{"assignments":[73189],"declarations":[{"constant":false,"id":73189,"mutability":"mutable","name":"_allo","nameLocation":"14217:5:111","nodeType":"VariableDeclaration","scope":73224,"src":"14211:11:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":73188,"nodeType":"UserDefinedTypeName","pathNode":{"id":73187,"name":"IAllo","nameLocations":["14211:5:111"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14211:5:111"},"referencedDeclaration":2610,"src":"14211:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":73193,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73190,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14225:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}},"id":73191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14230:7:111","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":71872,"src":"14225:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":73192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14225:14:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14211:28:111"},{"assignments":[73198],"declarations":[{"constant":false,"id":73198,"mutability":"mutable","name":"pool","nameLocation":"14271:4:111","nodeType":"VariableDeclaration","scope":73224,"src":"14253:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73197,"nodeType":"UserDefinedTypeName","pathNode":{"id":73196,"name":"IAllo.Pool","nameLocations":["14253:5:111","14259:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14253:10:111"},"referencedDeclaration":2319,"src":"14253:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":73204,"initialValue":{"arguments":[{"expression":{"id":73201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14292:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14301:6:111","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":72452,"src":"14292:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73199,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73189,"src":"14278:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":73200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14284:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14278:13:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":73203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14278:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14253:55:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73205,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14326:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14335:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"14326:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":73207,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73198,"src":"14353:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":73208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14358:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14353:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14326:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73214,"nodeType":"IfStatement","src":"14322:235:111","trueBody":{"id":73213,"nodeType":"Block","src":"14365:192:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73210,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72587,"src":"14525:15:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14525:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73212,"nodeType":"RevertStatement","src":"14518:24:111"}]}},{"condition":{"arguments":[{"expression":{"id":73216,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"14590:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14599:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"14590:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73215,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"14574:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":73218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14574:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73223,"nodeType":"IfStatement","src":"14570:107:111","trueBody":{"id":73222,"nodeType":"Block","src":"14617:60:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73219,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72589,"src":"14642:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14642:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73221,"nodeType":"RevertStatement","src":"14635:27:111"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":73228,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"14722:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14739:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"14722:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":73227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14714:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73226,"name":"address","nodeType":"ElementaryTypeName","src":"14714:7:111","typeDescriptions":{}}},"id":73230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14714:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":73233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14762:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14754:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73231,"name":"address","nodeType":"ElementaryTypeName","src":"14754:7:111","typeDescriptions":{}}},"id":73234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14754:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14714:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73236,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14768:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14772:5:111","memberName":"value","nodeType":"MemberAccess","src":"14768:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":73238,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"14780:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14797:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"14780:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14768:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14714:108:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73250,"nodeType":"IfStatement","src":"14697:245:111","trueBody":{"id":73249,"nodeType":"Block","src":"14833:109:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":73243,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14877:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14881:5:111","memberName":"value","nodeType":"MemberAccess","src":"14877:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73245,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"14888:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14905:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"14888:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73242,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72653,"src":"14854:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":73247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14854:77:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73248,"nodeType":"RevertStatement","src":"14847:84:111"}]}},{"assignments":[73252],"declarations":[{"constant":false,"id":73252,"mutability":"mutable","name":"proposalId","nameLocation":"14960:10:111","nodeType":"VariableDeclaration","scope":73359,"src":"14952:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73251,"name":"uint256","nodeType":"ElementaryTypeName","src":"14952:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73255,"initialValue":{"id":73254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"14973:17:111","subExpression":{"id":73253,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72806,"src":"14975:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14952:38:111"},{"assignments":[73260],"declarations":[{"constant":false,"id":73260,"mutability":"mutable","name":"p","nameLocation":"15032:1:111","nodeType":"VariableDeclaration","scope":73359,"src":"15000:33:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73259,"nodeType":"UserDefinedTypeName","pathNode":{"id":73258,"name":"StrategyStruct.Proposal","nameLocations":["15000:14:111","15015:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"15000:23:111"},"referencedDeclaration":72511,"src":"15000:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73264,"initialValue":{"baseExpression":{"id":73261,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"15036:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73263,"indexExpression":{"id":73262,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15046:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15036:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15000:57:111"},{"expression":{"id":73269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73265,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15068:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73267,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15070:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"15068:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73268,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15083:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15068:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73270,"nodeType":"ExpressionStatement","src":"15068:25:111"},{"expression":{"id":73275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73271,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15103:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15105:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"15103:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73274,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73126,"src":"15117:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15103:21:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73276,"nodeType":"ExpressionStatement","src":"15103:21:111"},{"expression":{"id":73282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73277,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15134:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15136:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"15134:13:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73280,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15150:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15159:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72454,"src":"15150:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15134:36:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73283,"nodeType":"ExpressionStatement","src":"15134:36:111"},{"expression":{"id":73289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73284,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15180:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15182:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72493,"src":"15180:16:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73287,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15199:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15208:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72458,"src":"15199:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15180:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73290,"nodeType":"ExpressionStatement","src":"15180:42:111"},{"expression":{"id":73296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73291,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15232:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15234:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"15232:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73294,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15252:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15261:15:111","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"15252:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15232:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73297,"nodeType":"ExpressionStatement","src":"15232:44:111"},{"expression":{"id":73304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73298,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15337:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15339:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"15337:16:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":73301,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"15356:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15371:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"15356:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":73303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15386:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"15356:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15337:55:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":73305,"nodeType":"ExpressionStatement","src":"15337:55:111"},{"expression":{"id":73311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73306,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15402:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15404:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"15402:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73309,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15416:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":73310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15422:6:111","memberName":"number","nodeType":"MemberAccess","src":"15416:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15402:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73312,"nodeType":"ExpressionStatement","src":"15402:26:111"},{"expression":{"id":73317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73313,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15438:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15440:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"15438:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":73316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15457:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15438:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73318,"nodeType":"ExpressionStatement","src":"15438:20:111"},{"expression":{"id":73324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73319,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15504:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15506:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72505,"src":"15504:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73322,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73147,"src":"15517:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$72462_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":73323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15526:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72461,"src":"15517:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"15504:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":73325,"nodeType":"ExpressionStatement","src":"15504:30:111"},{"expression":{"id":73333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73326,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15631:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15633:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"15631:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":73330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15645:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"15631:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73331,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"15672:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":73332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15689:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"15672:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15631:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73334,"nodeType":"ExpressionStatement","src":"15631:83:111"},{"expression":{"arguments":[{"id":73341,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15776:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73342,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73260,"src":"15788:1:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73343,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15790:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"15788:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73335,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"15724:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":73337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15740:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79678,"src":"15724:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":73340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":73338,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15765:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15769:5:111","memberName":"value","nodeType":"MemberAccess","src":"15765:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15724:51:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":73344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15724:76:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73345,"nodeType":"ExpressionStatement","src":"15724:76:111"},{"eventCall":{"arguments":[{"id":73347,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71792,"src":"15832:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73348,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15840:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73346,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72692,"src":"15816:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":73349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15816:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73350,"nodeType":"EmitStatement","src":"15811:40:111"},{"expression":{"arguments":[{"arguments":[{"id":73355,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73252,"src":"15933:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15925:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":73353,"name":"uint160","nodeType":"ElementaryTypeName","src":"15925:7:111","typeDescriptions":{}}},"id":73356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15925:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":73352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15917:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73351,"name":"address","nodeType":"ElementaryTypeName","src":"15917:7:111","typeDescriptions":{}}},"id":73357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15917:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73131,"id":73358,"nodeType":"Return","src":"15910:35:111"}]},"baseFunctions":[72260],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13303:18:111","overrides":{"id":73128,"nodeType":"OverrideSpecifier","overrides":[],"src":"13368:8:111"},"parameters":{"id":73127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73124,"mutability":"mutable","name":"_data","nameLocation":"13335:5:111","nodeType":"VariableDeclaration","scope":73360,"src":"13322:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73123,"name":"bytes","nodeType":"ElementaryTypeName","src":"13322:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73126,"mutability":"mutable","name":"_sender","nameLocation":"13350:7:111","nodeType":"VariableDeclaration","scope":73360,"src":"13342:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73125,"name":"address","nodeType":"ElementaryTypeName","src":"13342:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13321:37:111"},"returnParameters":{"id":73131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73130,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73360,"src":"13386:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73129,"name":"address","nodeType":"ElementaryTypeName","src":"13386:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13385:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73369,"nodeType":"FunctionDefinition","src":"15958:90:111","nodes":[],"body":{"id":73368,"nodeType":"Block","src":"16010:38:111","nodes":[],"statements":[{"expression":{"expression":{"id":73365,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"16027:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":73366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16036:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"16027:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73364,"id":73367,"nodeType":"Return","src":"16020:21:111"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"15967:8:111","parameters":{"id":73361,"nodeType":"ParameterList","parameters":[],"src":"15975:2:111"},"returnParameters":{"id":73364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73369,"src":"16001:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73362,"name":"uint256","nodeType":"ElementaryTypeName","src":"16001:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16000:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73408,"nodeType":"FunctionDefinition","src":"16054:351:111","nodes":[],"body":{"id":73407,"nodeType":"Block","src":"16089:316:111","nodes":[],"statements":[{"assignments":[73373],"declarations":[{"constant":false,"id":73373,"mutability":"mutable","name":"member","nameLocation":"16107:6:111","nodeType":"VariableDeclaration","scope":73407,"src":"16099:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73372,"name":"address","nodeType":"ElementaryTypeName","src":"16099:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":73376,"initialValue":{"expression":{"id":73374,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16116:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16120:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16116:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16099:27:111"},{"condition":{"id":73380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16140:26:111","subExpression":{"arguments":[{"id":73378,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73373,"src":"16159:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73377,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"16141:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16141:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73385,"nodeType":"IfStatement","src":"16136:89:111","trueBody":{"id":73384,"nodeType":"Block","src":"16168:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73381,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"16189:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16189:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73383,"nodeType":"RevertStatement","src":"16182:32:111"}]}},{"expression":{"arguments":[{"id":73389,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73373,"src":"16277:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73392,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16293:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16285:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73390,"name":"address","nodeType":"ElementaryTypeName","src":"16285:7:111","typeDescriptions":{}}},"id":73393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16285:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73386,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16234:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16252:24:111","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77791,"src":"16234:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16234:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73395,"nodeType":"ExpressionStatement","src":"16234:65:111"},{"expression":{"id":73405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73396,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"16309:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":73399,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73373,"src":"16376:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73402,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16392:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16384:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73400,"name":"address","nodeType":"ElementaryTypeName","src":"16384:7:111","typeDescriptions":{}}},"id":73403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16384:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73397,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16333:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16351:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"16333:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16333:65:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16309:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73406,"nodeType":"ExpressionStatement","src":"16309:89:111"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16063:14:111","parameters":{"id":73370,"nodeType":"ParameterList","parameters":[],"src":"16077:2:111"},"returnParameters":{"id":73371,"nodeType":"ParameterList","parameters":[],"src":"16089:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73417,"nodeType":"FunctionDefinition","src":"16411:81:111","nodes":[],"body":{"id":73416,"nodeType":"Block","src":"16446:46:111","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":73412,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16474:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16478:6:111","memberName":"sender","nodeType":"MemberAccess","src":"16474:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73411,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"16456:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16456:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73415,"nodeType":"ExpressionStatement","src":"16456:29:111"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16420:16:111","parameters":{"id":73409,"nodeType":"ParameterList","parameters":[],"src":"16436:2:111"},"returnParameters":{"id":73410,"nodeType":"ParameterList","parameters":[],"src":"16446:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73430,"nodeType":"FunctionDefinition","src":"16498:128:111","nodes":[],"body":{"id":73429,"nodeType":"Block","src":"16550:76:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73422,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"16560:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16560:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73424,"nodeType":"ExpressionStatement","src":"16560:23:111"},{"expression":{"arguments":[{"id":73426,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73419,"src":"16611:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73425,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"16593:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16593:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73428,"nodeType":"ExpressionStatement","src":"16593:26:111"}]},"baseFunctions":[72416],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16507:16:111","parameters":{"id":73420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73419,"mutability":"mutable","name":"_member","nameLocation":"16532:7:111","nodeType":"VariableDeclaration","scope":73430,"src":"16524:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73418,"name":"address","nodeType":"ElementaryTypeName","src":"16524:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16523:17:111"},"returnParameters":{"id":73421,"nodeType":"ParameterList","parameters":[],"src":"16550:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73465,"nodeType":"FunctionDefinition","src":"16632:351:111","nodes":[],"body":{"id":73464,"nodeType":"Block","src":"16685:298:111","nodes":[],"statements":[{"expression":{"id":73444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73435,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"16695:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":73438,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16762:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73441,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16779:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16771:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73439,"name":"address","nodeType":"ElementaryTypeName","src":"16771:7:111","typeDescriptions":{}}},"id":73442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16771:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73436,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16719:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16737:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"16719:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16719:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16695:90:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73445,"nodeType":"ExpressionStatement","src":"16695:90:111"},{"expression":{"arguments":[{"id":73449,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16840:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73452,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16857:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16849:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73450,"name":"address","nodeType":"ElementaryTypeName","src":"16849:7:111","typeDescriptions":{}}},"id":73453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16849:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73446,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"16795:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16813:26:111","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":77850,"src":"16795:44:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":73454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16795:68:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73455,"nodeType":"ExpressionStatement","src":"16795:68:111"},{"expression":{"arguments":[{"id":73457,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16927:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73456,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74331,"src":"16918:8:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16918:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73459,"nodeType":"ExpressionStatement","src":"16918:17:111"},{"eventCall":{"arguments":[{"id":73461,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73432,"src":"16968:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73460,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"16950:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16950:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73463,"nodeType":"EmitStatement","src":"16945:31:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"16641:17:111","parameters":{"id":73433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73432,"mutability":"mutable","name":"_member","nameLocation":"16667:7:111","nodeType":"VariableDeclaration","scope":73465,"src":"16659:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73431,"name":"address","nodeType":"ElementaryTypeName","src":"16659:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16658:17:111"},"returnParameters":{"id":73434,"nodeType":"ParameterList","parameters":[],"src":"16685:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73558,"nodeType":"FunctionDefinition","src":"16989:1057:111","nodes":[],"body":{"id":73557,"nodeType":"Block","src":"17080:966:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73474,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"17135:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17135:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73476,"nodeType":"ExpressionStatement","src":"17135:23:111"},{"condition":{"id":73480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17172:27:111","subExpression":{"arguments":[{"id":73478,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17191:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73477,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"17173:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17173:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73485,"nodeType":"IfStatement","src":"17168:90:111","trueBody":{"id":73484,"nodeType":"Block","src":"17201:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73481,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"17222:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17222:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73483,"nodeType":"RevertStatement","src":"17215:32:111"}]}},{"assignments":[73487],"declarations":[{"constant":false,"id":73487,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17275:16:111","nodeType":"VariableDeclaration","scope":73557,"src":"17267:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73486,"name":"uint256","nodeType":"ElementaryTypeName","src":"17267:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73489,"initialValue":{"hexValue":"30","id":73488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17294:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17267:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73490,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"17309:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73491,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"17324:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17339:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"17324:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17351:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"17324:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"17309:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73502,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"17454:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73503,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"17469:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17484:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"17469:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17496:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72447,"src":"17469:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"17454:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73515,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"17602:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73516,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"17617:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17632:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"17617:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17644:9:111","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":72449,"src":"17617:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"17602:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73528,"nodeType":"IfStatement","src":"17598:148:111","trueBody":{"id":73527,"nodeType":"Block","src":"17655:91:111","statements":[{"expression":{"id":73525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73520,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17669:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73522,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17711:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73523,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17720:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73521,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73744,"src":"17688:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17688:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17669:66:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73526,"nodeType":"ExpressionStatement","src":"17669:66:111"}]}},"id":73529,"nodeType":"IfStatement","src":"17450:296:111","trueBody":{"id":73514,"nodeType":"Block","src":"17504:88:111","statements":[{"expression":{"id":73512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73507,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17518:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73509,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17557:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73510,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17566:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73508,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73666,"src":"17537:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17537:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17518:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73513,"nodeType":"ExpressionStatement","src":"17518:63:111"}]}},"id":73530,"nodeType":"IfStatement","src":"17305:441:111","trueBody":{"id":73501,"nodeType":"Block","src":"17362:82:111","statements":[{"expression":{"id":73499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73495,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17376:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73497,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17418:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73496,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73624,"src":"17395:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17395:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17376:57:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73500,"nodeType":"ExpressionStatement","src":"17376:57:111"}]}},{"assignments":[73532],"declarations":[{"constant":false,"id":73532,"mutability":"mutable","name":"isActivated","nameLocation":"17760:11:111","nodeType":"VariableDeclaration","scope":73557,"src":"17755:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73531,"name":"bool","nodeType":"ElementaryTypeName","src":"17755:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73541,"initialValue":{"arguments":[{"id":73535,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17820:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73538,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17837:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17829:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73536,"name":"address","nodeType":"ElementaryTypeName","src":"17829:7:111","typeDescriptions":{}}},"id":73539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17829:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73533,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"17774:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17792:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77148,"src":"17774:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17774:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"17755:88:111"},{"condition":{"id":73542,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73532,"src":"17857:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73548,"nodeType":"IfStatement","src":"17853:82:111","trueBody":{"id":73547,"nodeType":"Block","src":"17870:65:111","statements":[{"expression":{"id":73545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73543,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"17884:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":73544,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17908:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17884:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73546,"nodeType":"ExpressionStatement","src":"17884:40:111"}]}},{"eventCall":{"arguments":[{"id":73550,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73467,"src":"17964:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73551,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"17973:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73552,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"17989:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73549,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72708,"src":"17949:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17949:57:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73554,"nodeType":"EmitStatement","src":"17944:62:111"},{"expression":{"id":73555,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"18023:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73473,"id":73556,"nodeType":"Return","src":"18016:23:111"}]},"baseFunctions":[72425],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"16998:13:111","parameters":{"id":73470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73467,"mutability":"mutable","name":"_member","nameLocation":"17020:7:111","nodeType":"VariableDeclaration","scope":73558,"src":"17012:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73466,"name":"address","nodeType":"ElementaryTypeName","src":"17012:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73469,"mutability":"mutable","name":"_amountToStake","nameLocation":"17037:14:111","nodeType":"VariableDeclaration","scope":73558,"src":"17029:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73468,"name":"uint256","nodeType":"ElementaryTypeName","src":"17029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17011:41:111"},"returnParameters":{"id":73473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73558,"src":"17071:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73471,"name":"uint256","nodeType":"ElementaryTypeName","src":"17071:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17070:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73614,"nodeType":"FunctionDefinition","src":"18052:681:111","nodes":[],"body":{"id":73613,"nodeType":"Block","src":"18145:588:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73567,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"18155:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18155:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73569,"nodeType":"ExpressionStatement","src":"18155:23:111"},{"assignments":[73571],"declarations":[{"constant":false,"id":73571,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18242:16:111","nodeType":"VariableDeclaration","scope":73613,"src":"18234:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73570,"name":"uint256","nodeType":"ElementaryTypeName","src":"18234:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73573,"initialValue":{"hexValue":"30","id":73572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18261:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18234:28:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73574,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"18276:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73575,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"18291:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18306:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"18291:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18318:9:111","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":72448,"src":"18291:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"18276:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":73583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73579,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"18331:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73580,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"18346:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18361:11:111","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"18346:26:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":73582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18373:6:111","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":72447,"src":"18346:33:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"18331:48:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18276:103:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":73599,"nodeType":"Block","src":"18477:93:111","statements":[{"expression":{"id":73597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73592,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18491:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73594,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73560,"src":"18533:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73595,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"18542:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73593,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73828,"src":"18510:22:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":73596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18510:49:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18491:68:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73598,"nodeType":"ExpressionStatement","src":"18491:68:111"}]},"id":73600,"nodeType":"IfStatement","src":"18272:298:111","trueBody":{"id":73591,"nodeType":"Block","src":"18381:90:111","statements":[{"expression":{"id":73589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73585,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18395:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73587,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"18443:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73586,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73754,"src":"18414:28:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18414:46:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18395:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73590,"nodeType":"ExpressionStatement","src":"18395:65:111"}]}},{"expression":{"id":73603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73601,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"18579:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":73602,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18603:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18579:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73604,"nodeType":"ExpressionStatement","src":"18579:40:111"},{"eventCall":{"arguments":[{"id":73606,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73560,"src":"18649:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73607,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"18658:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73608,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18676:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73605,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72716,"src":"18634:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":73609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18634:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73610,"nodeType":"EmitStatement","src":"18629:64:111"},{"expression":{"id":73611,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73571,"src":"18710:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73566,"id":73612,"nodeType":"Return","src":"18703:23:111"}]},"baseFunctions":[72434],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18061:13:111","parameters":{"id":73563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73560,"mutability":"mutable","name":"_member","nameLocation":"18083:7:111","nodeType":"VariableDeclaration","scope":73614,"src":"18075:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73559,"name":"address","nodeType":"ElementaryTypeName","src":"18075:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73562,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18100:16:111","nodeType":"VariableDeclaration","scope":73614,"src":"18092:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73561,"name":"uint256","nodeType":"ElementaryTypeName","src":"18092:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18074:43:111"},"returnParameters":{"id":73566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73614,"src":"18136:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73564,"name":"uint256","nodeType":"ElementaryTypeName","src":"18136:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18135:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73624,"nodeType":"FunctionDefinition","src":"18739:126:111","nodes":[],"body":{"id":73623,"nodeType":"Block","src":"18827:38:111","nodes":[],"statements":[{"expression":{"id":73621,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73616,"src":"18844:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73620,"id":73622,"nodeType":"Return","src":"18837:21:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"18748:22:111","parameters":{"id":73617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73616,"mutability":"mutable","name":"_amountToStake","nameLocation":"18779:14:111","nodeType":"VariableDeclaration","scope":73624,"src":"18771:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73615,"name":"uint256","nodeType":"ElementaryTypeName","src":"18771:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18770:24:111"},"returnParameters":{"id":73620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73624,"src":"18818:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73618,"name":"uint256","nodeType":"ElementaryTypeName","src":"18818:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18817:9:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73666,"nodeType":"FunctionDefinition","src":"18871:624:111","nodes":[],"body":{"id":73665,"nodeType":"Block","src":"18973:522:111","nodes":[],"statements":[{"assignments":[73634],"declarations":[{"constant":false,"id":73634,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"18991:16:111","nodeType":"VariableDeclaration","scope":73665,"src":"18983:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73633,"name":"uint256","nodeType":"ElementaryTypeName","src":"18983:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73636,"initialValue":{"id":73635,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73628,"src":"19010:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18983:41:111"},{"assignments":[73638],"declarations":[{"constant":false,"id":73638,"mutability":"mutable","name":"memberPower","nameLocation":"19106:11:111","nodeType":"VariableDeclaration","scope":73665,"src":"19098:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73637,"name":"uint256","nodeType":"ElementaryTypeName","src":"19098:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73647,"initialValue":{"arguments":[{"id":73641,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73626,"src":"19163:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73644,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19180:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19172:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73642,"name":"address","nodeType":"ElementaryTypeName","src":"19172:7:111","typeDescriptions":{}}},"id":73645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19172:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73639,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"19120:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19138:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"19120:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19120:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19098:88:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73648,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73638,"src":"19252:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73649,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73634,"src":"19266:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19252:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":73651,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"19285:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19297:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"19285:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19252:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73662,"nodeType":"IfStatement","src":"19248:139:111","trueBody":{"id":73661,"nodeType":"Block","src":"19308:79:111","statements":[{"expression":{"id":73659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73654,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73634,"src":"19322:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73655,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"19341:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19353:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"19341:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73657,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73638,"src":"19365:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19341:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19322:54:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73660,"nodeType":"ExpressionStatement","src":"19322:54:111"}]}},{"expression":{"id":73663,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73634,"src":"19472:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73632,"id":73664,"nodeType":"Return","src":"19465:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"18880:19:111","parameters":{"id":73629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73626,"mutability":"mutable","name":"_member","nameLocation":"18908:7:111","nodeType":"VariableDeclaration","scope":73666,"src":"18900:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73625,"name":"address","nodeType":"ElementaryTypeName","src":"18900:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73628,"mutability":"mutable","name":"_amountToStake","nameLocation":"18925:14:111","nodeType":"VariableDeclaration","scope":73666,"src":"18917:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73627,"name":"uint256","nodeType":"ElementaryTypeName","src":"18917:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18899:41:111"},"returnParameters":{"id":73632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73666,"src":"18964:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73630,"name":"uint256","nodeType":"ElementaryTypeName","src":"18964:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18963:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73744,"nodeType":"FunctionDefinition","src":"19501:733:111","nodes":[],"body":{"id":73743,"nodeType":"Block","src":"19606:628:111","nodes":[],"statements":[{"assignments":[73676],"declarations":[{"constant":false,"id":73676,"mutability":"mutable","name":"totalStake","nameLocation":"19624:10:111","nodeType":"VariableDeclaration","scope":73743,"src":"19616:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73675,"name":"uint256","nodeType":"ElementaryTypeName","src":"19616:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73683,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73679,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73668,"src":"19677:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73677,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"19637:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19655:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78173,"src":"19637:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19637:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73681,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73670,"src":"19688:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19637:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19616:86:111"},{"assignments":[73685],"declarations":[{"constant":false,"id":73685,"mutability":"mutable","name":"decimal","nameLocation":"19721:7:111","nodeType":"VariableDeclaration","scope":73743,"src":"19713:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73684,"name":"uint256","nodeType":"ElementaryTypeName","src":"19713:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73687,"initialValue":{"hexValue":"3138","id":73686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19731:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"19713:20:111"},{"clauses":[{"block":{"id":73708,"nodeType":"Block","src":"19831:52:111","statements":[{"expression":{"id":73706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73701,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73685,"src":"19845:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73704,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73699,"src":"19863:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19855:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73702,"name":"uint256","nodeType":"ElementaryTypeName","src":"19855:7:111","typeDescriptions":{}}},"id":73705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19855:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19845:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73707,"nodeType":"ExpressionStatement","src":"19845:27:111"}]},"errorName":"","id":73709,"nodeType":"TryCatchClause","parameters":{"id":73700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73699,"mutability":"mutable","name":"_decimal","nameLocation":"19821:8:111","nodeType":"VariableDeclaration","scope":73709,"src":"19815:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73698,"name":"uint8","nodeType":"ElementaryTypeName","src":"19815:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"19814:16:111"},"src":"19806:77:111"},{"block":{"id":73710,"nodeType":"Block","src":"19890:64:111","statements":[]},"errorName":"","id":73711,"nodeType":"TryCatchClause","src":"19884:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73691,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"19761:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19779:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77103,"src":"19761:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19761:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19753:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73689,"name":"address","nodeType":"ElementaryTypeName","src":"19753:7:111","typeDescriptions":{}}},"id":73694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19753:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73688,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"19747:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19747:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19795:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"19747:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19747:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73712,"nodeType":"TryStatement","src":"19743:211:111"},{"assignments":[73714],"declarations":[{"constant":false,"id":73714,"mutability":"mutable","name":"newTotalPoints","nameLocation":"19971:14:111","nodeType":"VariableDeclaration","scope":73743,"src":"19963:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73713,"name":"uint256","nodeType":"ElementaryTypeName","src":"19963:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73723,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73717,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73676,"src":"19998:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20011:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73719,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73685,"src":"20017:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20011:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19998:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73715,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"19988:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19993:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"19988:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19988:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19963:62:111"},{"assignments":[73725],"declarations":[{"constant":false,"id":73725,"mutability":"mutable","name":"currentPoints","nameLocation":"20043:13:111","nodeType":"VariableDeclaration","scope":73743,"src":"20035:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73724,"name":"uint256","nodeType":"ElementaryTypeName","src":"20035:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73734,"initialValue":{"arguments":[{"id":73728,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73668,"src":"20102:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73731,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20119:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20111:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73729,"name":"address","nodeType":"ElementaryTypeName","src":"20111:7:111","typeDescriptions":{}}},"id":73732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20111:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73726,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"20059:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20077:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"20059:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20059:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20035:90:111"},{"assignments":[73736],"declarations":[{"constant":false,"id":73736,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20144:16:111","nodeType":"VariableDeclaration","scope":73743,"src":"20136:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73735,"name":"uint256","nodeType":"ElementaryTypeName","src":"20136:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73740,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73737,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73714,"src":"20163:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73738,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73725,"src":"20180:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20163:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20136:57:111"},{"expression":{"id":73741,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73736,"src":"20211:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73674,"id":73742,"nodeType":"Return","src":"20204:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19510:22:111","parameters":{"id":73671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73668,"mutability":"mutable","name":"_member","nameLocation":"19541:7:111","nodeType":"VariableDeclaration","scope":73744,"src":"19533:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73667,"name":"address","nodeType":"ElementaryTypeName","src":"19533:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73670,"mutability":"mutable","name":"_amountToStake","nameLocation":"19558:14:111","nodeType":"VariableDeclaration","scope":73744,"src":"19550:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73669,"name":"uint256","nodeType":"ElementaryTypeName","src":"19550:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19532:41:111"},"returnParameters":{"id":73674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73673,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73744,"src":"19597:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73672,"name":"uint256","nodeType":"ElementaryTypeName","src":"19597:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19596:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73754,"nodeType":"FunctionDefinition","src":"20240:136:111","nodes":[],"body":{"id":73753,"nodeType":"Block","src":"20336:40:111","nodes":[],"statements":[{"expression":{"id":73751,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73746,"src":"20353:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73750,"id":73752,"nodeType":"Return","src":"20346:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20249:28:111","parameters":{"id":73747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73746,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20286:16:111","nodeType":"VariableDeclaration","scope":73754,"src":"20278:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73745,"name":"uint256","nodeType":"ElementaryTypeName","src":"20278:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20277:26:111"},"returnParameters":{"id":73750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73754,"src":"20327:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73748,"name":"uint256","nodeType":"ElementaryTypeName","src":"20327:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20326:9:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73828,"nodeType":"FunctionDefinition","src":"20382:811:111","nodes":[],"body":{"id":73827,"nodeType":"Block","src":"20489:704:111","nodes":[],"statements":[{"assignments":[73764],"declarations":[{"constant":false,"id":73764,"mutability":"mutable","name":"decimal","nameLocation":"20507:7:111","nodeType":"VariableDeclaration","scope":73827,"src":"20499:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73763,"name":"uint256","nodeType":"ElementaryTypeName","src":"20499:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73766,"initialValue":{"hexValue":"3138","id":73765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20517:2:111","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20499:20:111"},{"clauses":[{"block":{"id":73787,"nodeType":"Block","src":"20617:52:111","statements":[{"expression":{"id":73785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73780,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73764,"src":"20631:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73783,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73778,"src":"20649:8:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":73782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20641:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73781,"name":"uint256","nodeType":"ElementaryTypeName","src":"20641:7:111","typeDescriptions":{}}},"id":73784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20641:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20631:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73786,"nodeType":"ExpressionStatement","src":"20631:27:111"}]},"errorName":"","id":73788,"nodeType":"TryCatchClause","parameters":{"id":73779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73778,"mutability":"mutable","name":"_decimal","nameLocation":"20607:8:111","nodeType":"VariableDeclaration","scope":73788,"src":"20601:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73777,"name":"uint8","nodeType":"ElementaryTypeName","src":"20601:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20600:16:111"},"src":"20592:77:111"},{"block":{"id":73789,"nodeType":"Block","src":"20676:64:111","statements":[]},"errorName":"","id":73790,"nodeType":"TryCatchClause","src":"20670:70:111"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73770,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"20547:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20565:11:111","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":77103,"src":"20547:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":73772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20547:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":73769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20539:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73768,"name":"address","nodeType":"ElementaryTypeName","src":"20539:7:111","typeDescriptions":{}}},"id":73773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20539:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73767,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"20533:5:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56531_$","typeString":"type(contract ERC20)"}},"id":73774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20533:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56531","typeString":"contract ERC20"}},"id":73775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20581:8:111","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56019,"src":"20533:56:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":73776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20533:58:111","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73791,"nodeType":"TryStatement","src":"20529:211:111"},{"assignments":[73793],"declarations":[{"constant":false,"id":73793,"mutability":"mutable","name":"newTotalStake","nameLocation":"20819:13:111","nodeType":"VariableDeclaration","scope":73827,"src":"20811:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73792,"name":"uint256","nodeType":"ElementaryTypeName","src":"20811:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73800,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73796,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73756,"src":"20875:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73794,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"20835:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20853:21:111","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78173,"src":"20835:39:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":73797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20835:48:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73798,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73758,"src":"20886:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20835:67:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20811:91:111"},{"assignments":[73802],"declarations":[{"constant":false,"id":73802,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20976:14:111","nodeType":"VariableDeclaration","scope":73827,"src":"20968:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73801,"name":"uint256","nodeType":"ElementaryTypeName","src":"20968:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73811,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73805,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73793,"src":"21003:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21019:2:111","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":73807,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73764,"src":"21025:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21019:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21003:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73803,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"20993:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58878_$","typeString":"type(library Math)"}},"id":73804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20998:4:111","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58382,"src":"20993:9:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20993:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20968:65:111"},{"assignments":[73813],"declarations":[{"constant":false,"id":73813,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21051:16:111","nodeType":"VariableDeclaration","scope":73827,"src":"21043:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73812,"name":"uint256","nodeType":"ElementaryTypeName","src":"21043:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73824,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":73816,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73756,"src":"21113:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73819,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21130:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21122:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73817,"name":"address","nodeType":"ElementaryTypeName","src":"21122:7:111","typeDescriptions":{}}},"id":73820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21122:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73814,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"21070:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21088:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"21070:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":73821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73822,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73802,"src":"21139:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21070:83:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21043:110:111"},{"expression":{"id":73825,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73813,"src":"21170:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73762,"id":73826,"nodeType":"Return","src":"21163:23:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20391:22:111","parameters":{"id":73759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73756,"mutability":"mutable","name":"_member","nameLocation":"20422:7:111","nodeType":"VariableDeclaration","scope":73828,"src":"20414:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73755,"name":"address","nodeType":"ElementaryTypeName","src":"20414:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73758,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20439:16:111","nodeType":"VariableDeclaration","scope":73828,"src":"20431:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73757,"name":"uint256","nodeType":"ElementaryTypeName","src":"20431:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20413:43:111"},"returnParameters":{"id":73762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73828,"src":"20480:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73760,"name":"uint256","nodeType":"ElementaryTypeName","src":"20480:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20479:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":73837,"nodeType":"FunctionDefinition","src":"21199:99:111","nodes":[],"body":{"id":73836,"nodeType":"Block","src":"21253:45:111","nodes":[],"statements":[{"expression":{"expression":{"id":73833,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72822,"src":"21270:11:111","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$72519_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":73834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21282:9:111","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":72518,"src":"21270:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73832,"id":73835,"nodeType":"Return","src":"21263:28:111"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21208:12:111","parameters":{"id":73829,"nodeType":"ParameterList","parameters":[],"src":"21220:2:111"},"returnParameters":{"id":73832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73837,"src":"21244:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73830,"name":"uint256","nodeType":"ElementaryTypeName","src":"21244:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21243:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73846,"nodeType":"FunctionDefinition","src":"21304:110:111","nodes":[],"body":{"id":73845,"nodeType":"Block","src":"21379:35:111","nodes":[],"statements":[{"expression":{"id":73843,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72819,"src":"21396:11:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":73842,"id":73844,"nodeType":"Return","src":"21389:18:111"}]},"baseFunctions":[72440],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21313:14:111","parameters":{"id":73838,"nodeType":"ParameterList","parameters":[],"src":"21327:2:111"},"returnParameters":{"id":73842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73846,"src":"21351:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":73840,"nodeType":"UserDefinedTypeName","pathNode":{"id":73839,"name":"StrategyStruct.PointSystem","nameLocations":["21351:14:111","21366:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72450,"src":"21351:26:111"},"referencedDeclaration":72450,"src":"21351:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21350:28:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73857,"nodeType":"FunctionDefinition","src":"21533:226:111","nodes":[],"body":{"id":73856,"nodeType":"Block","src":"21611:148:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73853,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72583,"src":"21676:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21676:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73855,"nodeType":"RevertStatement","src":"21669:23:111"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"21542:15:111","parameters":{"id":73851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73850,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73857,"src":"21558:39:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73848,"nodeType":"UserDefinedTypeName","pathNode":{"id":73847,"name":"StrategyStruct.ProposalSupport","nameLocations":["21558:14:111","21573:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"21558:30:111"},"referencedDeclaration":72516,"src":"21558:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73849,"nodeType":"ArrayTypeName","src":"21558:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"21557:41:111"},"returnParameters":{"id":73852,"nodeType":"ParameterList","parameters":[],"src":"21611:0:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":73922,"nodeType":"FunctionDefinition","src":"21905:650:111","nodes":[],"body":{"id":73921,"nodeType":"Block","src":"21979:576:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":73866,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22009:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73865,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73042,"src":"21989:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":73867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21989:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73868,"nodeType":"ExpressionStatement","src":"21989:28:111"},{"condition":{"id":73872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22031:27:111","subExpression":{"arguments":[{"id":73870,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22050:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73869,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73122,"src":"22032:17:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22032:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73877,"nodeType":"IfStatement","src":"22027:90:111","trueBody":{"id":73876,"nodeType":"Block","src":"22060:57:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73873,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72647,"src":"22081:23:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22081:25:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73875,"nodeType":"RevertStatement","src":"22074:32:111"}]}},{"assignments":[73879],"declarations":[{"constant":false,"id":73879,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22177:23:111","nodeType":"VariableDeclaration","scope":73921,"src":"22172:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73878,"name":"bool","nodeType":"ElementaryTypeName","src":"22172:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":73888,"initialValue":{"arguments":[{"id":73882,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22249:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73885,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22266:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":73884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22258:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73883,"name":"address","nodeType":"ElementaryTypeName","src":"22258:7:111","typeDescriptions":{}}},"id":73886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22258:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73880,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"22203:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":73881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22221:27:111","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":77148,"src":"22203:45:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":73887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22203:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22172:100:111"},{"condition":{"id":73890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22286:24:111","subExpression":{"id":73889,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73879,"src":"22287:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73895,"nodeType":"IfStatement","src":"22282:78:111","trueBody":{"id":73894,"nodeType":"Block","src":"22312:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73891,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72579,"src":"22333:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22333:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73893,"nodeType":"RevertStatement","src":"22326:23:111"}]}},{"assignments":[73901],"declarations":[{"constant":false,"id":73901,"mutability":"mutable","name":"pv","nameLocation":"22409:2:111","nodeType":"VariableDeclaration","scope":73921,"src":"22369:42:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":73899,"nodeType":"UserDefinedTypeName","pathNode":{"id":73898,"name":"StrategyStruct.ProposalSupport","nameLocations":["22369:14:111","22384:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"22369:30:111"},"referencedDeclaration":72516,"src":"22369:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":73900,"nodeType":"ArrayTypeName","src":"22369:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":73910,"initialValue":{"arguments":[{"id":73904,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73859,"src":"22425:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":73905,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"22433:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22448:15:111","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":72516,"src":"22433:30:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$72516_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":73907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22433:32:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":73908,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22432:34:111","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":73902,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22414:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22418:6:111","memberName":"decode","nodeType":"MemberAccess","src":"22414:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22414:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22369:98:111"},{"expression":{"arguments":[{"id":73912,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22502:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73913,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73901,"src":"22511:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73911,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74634,"src":"22477:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22477:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73915,"nodeType":"ExpressionStatement","src":"22477:37:111"},{"expression":{"arguments":[{"id":73917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73861,"src":"22536:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73918,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73901,"src":"22545:2:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":73916,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74921,"src":"22524:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":73919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22524:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73920,"nodeType":"ExpressionStatement","src":"22524:24:111"}]},"baseFunctions":[72268],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"21914:9:111","overrides":{"id":73863,"nodeType":"OverrideSpecifier","overrides":[],"src":"21970:8:111"},"parameters":{"id":73862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73859,"mutability":"mutable","name":"_data","nameLocation":"21937:5:111","nodeType":"VariableDeclaration","scope":73922,"src":"21924:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73858,"name":"bytes","nodeType":"ElementaryTypeName","src":"21924:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73861,"mutability":"mutable","name":"_sender","nameLocation":"21952:7:111","nodeType":"VariableDeclaration","scope":73922,"src":"21944:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73860,"name":"address","nodeType":"ElementaryTypeName","src":"21944:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21923:37:111"},"returnParameters":{"id":73864,"nodeType":"ParameterList","parameters":[],"src":"21979:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74089,"nodeType":"FunctionDefinition","src":"22811:1879:111","nodes":[],"body":{"id":74088,"nodeType":"Block","src":"22897:1793:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73933,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73927,"src":"22956:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":73934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22962:6:111","memberName":"length","nodeType":"MemberAccess","src":"22956:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":73935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22972:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22956:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73941,"nodeType":"IfStatement","src":"22952:76:111","trueBody":{"id":73940,"nodeType":"Block","src":"22975:53:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73937,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72615,"src":"22996:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22996:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73939,"nodeType":"RevertStatement","src":"22989:28:111"}]}},{"assignments":[73943],"declarations":[{"constant":false,"id":73943,"mutability":"mutable","name":"proposalId","nameLocation":"23046:10:111","nodeType":"VariableDeclaration","scope":74088,"src":"23038:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73942,"name":"uint256","nodeType":"ElementaryTypeName","src":"23038:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73951,"initialValue":{"arguments":[{"id":73946,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73927,"src":"23070:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":73948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23078:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73947,"name":"uint256","nodeType":"ElementaryTypeName","src":"23078:7:111","typeDescriptions":{}}}],"id":73949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23077:9:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":73944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23059:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23063:6:111","memberName":"decode","nodeType":"MemberAccess","src":"23059:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":73950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23059:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23038:49:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23102:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23116:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23102:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73959,"nodeType":"IfStatement","src":"23098:77:111","trueBody":{"id":73958,"nodeType":"Block","src":"23119:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73955,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72617,"src":"23140:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23140:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73957,"nodeType":"RevertStatement","src":"23133:31:111"}]}},{"assignments":[73964],"declarations":[{"constant":false,"id":73964,"mutability":"mutable","name":"proposal","nameLocation":"23216:8:111","nodeType":"VariableDeclaration","scope":74088,"src":"23184:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":73963,"nodeType":"UserDefinedTypeName","pathNode":{"id":73962,"name":"StrategyStruct.Proposal","nameLocations":["23184:14:111","23199:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"23184:23:111"},"referencedDeclaration":72511,"src":"23184:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":73968,"initialValue":{"baseExpression":{"id":73965,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"23227:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":73967,"indexExpression":{"id":73966,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23237:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23227:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23184:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"},"id":73973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73969,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72816,"src":"23263:12:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":73970,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"23279:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":73971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23294:12:111","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":72445,"src":"23279:27:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$72445_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":73972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23307:7:111","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":72443,"src":"23279:35:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$72445","typeString":"enum StrategyStruct.ProposalType"}},"src":"23263:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74087,"nodeType":"IfStatement","src":"23259:1365:111","trueBody":{"id":74086,"nodeType":"Block","src":"23316:1308:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73974,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23334:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23343:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"23334:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":73976,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23357:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23334:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73983,"nodeType":"IfStatement","src":"23330:108:111","trueBody":{"id":73982,"nodeType":"Block","src":"23369:69:111","statements":[{"errorCall":{"arguments":[{"id":73979,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23412:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73978,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"23394:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":73980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23394:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73981,"nodeType":"RevertStatement","src":"23387:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73984,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23456:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23465:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23456:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":73986,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"23483:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23456:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73996,"nodeType":"IfStatement","src":"23452:152:111","trueBody":{"id":73995,"nodeType":"Block","src":"23495:109:111","statements":[{"errorCall":{"arguments":[{"id":73989,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23540:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73990,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23552:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23561:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23552:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73992,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"23578:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73988,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72643,"src":"23520:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":73993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23520:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73994,"nodeType":"RevertStatement","src":"23513:76:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"id":74002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73997,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23622:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":73998,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23631:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"23622:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":73999,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"23649:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":74000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23664:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"23649:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":74001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23679:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"23649:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"23622:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74008,"nodeType":"IfStatement","src":"23618:138:111","trueBody":{"id":74007,"nodeType":"Block","src":"23687:69:111","statements":[{"errorCall":{"arguments":[{"id":74004,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23730:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74003,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72621,"src":"23712:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":74005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23712:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74006,"nodeType":"RevertStatement","src":"23705:36:111"}]}},{"assignments":[74010],"declarations":[{"constant":false,"id":74010,"mutability":"mutable","name":"convictionLast","nameLocation":"23778:14:111","nodeType":"VariableDeclaration","scope":74086,"src":"23770:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74009,"name":"uint256","nodeType":"ElementaryTypeName","src":"23770:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74014,"initialValue":{"arguments":[{"id":74012,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"23820:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74011,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75450,"src":"23795:24:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":74013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23795:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23770:61:111"},{"assignments":[74016],"declarations":[{"constant":false,"id":74016,"mutability":"mutable","name":"threshold","nameLocation":"23853:9:111","nodeType":"VariableDeclaration","scope":74086,"src":"23845:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74015,"name":"uint256","nodeType":"ElementaryTypeName","src":"23845:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74021,"initialValue":{"arguments":[{"expression":{"id":74018,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23884:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23893:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23884:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74017,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75107,"src":"23865:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23865:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23845:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74022,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74010,"src":"23928:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":74023,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74016,"src":"23945:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23928:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74025,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"23958:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23967:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"23958:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23985:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23958:28:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23928:58:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74034,"nodeType":"IfStatement","src":"23924:137:111","trueBody":{"id":74033,"nodeType":"Block","src":"23988:73:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74030,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72633,"src":"24013:31:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24013:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74032,"nodeType":"RevertStatement","src":"24006:40:111"}]}},{"assignments":[74039],"declarations":[{"constant":false,"id":74039,"mutability":"mutable","name":"pool","nameLocation":"24093:4:111","nodeType":"VariableDeclaration","scope":74086,"src":"24075:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":74038,"nodeType":"UserDefinedTypeName","pathNode":{"id":74037,"name":"IAllo.Pool","nameLocations":["24075:5:111","24081:4:111"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24075:10:111"},"referencedDeclaration":2319,"src":"24075:10:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":74044,"initialValue":{"arguments":[{"id":74042,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71792,"src":"24113:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74040,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71786,"src":"24100:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":74041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24105:7:111","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24100:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":74043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24100:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24075:45:111"},{"expression":{"id":74048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74045,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"24135:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":74046,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24149:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24158:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"24149:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24135:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74049,"nodeType":"ExpressionStatement","src":"24135:38:111"},{"expression":{"arguments":[{"expression":{"id":74051,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74039,"src":"24211:4:111","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":74052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24216:5:111","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24211:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74053,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24223:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24232:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"24223:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74055,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24245:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24254:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"24245:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74050,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24195:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":74057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24195:75:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74058,"nodeType":"ExpressionStatement","src":"24195:75:111"},{"expression":{"id":74065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74059,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24301:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24310:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"24301:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":74062,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"24327:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":74063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24342:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"24327:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":74064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24357:8:111","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":72467,"src":"24327:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24301:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":74066,"nodeType":"ExpressionStatement","src":"24301:64:111"},{"expression":{"arguments":[{"id":74070,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"24431:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74071,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24443:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24452:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"24443:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":74073,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24463:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24472:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"24463:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":74075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24484:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"24463:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74067,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"24379:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":74069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24395:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"24379:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":74076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24379:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74077,"nodeType":"ExpressionStatement","src":"24379:143:111"},{"eventCall":{"arguments":[{"id":74079,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73943,"src":"24554:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74080,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24566:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74081,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24575:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"24566:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74082,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73964,"src":"24588:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74083,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24597:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"24588:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74078,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[72686,2858],"referencedDeclaration":72686,"src":"24542:11:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":74084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24542:71:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74085,"nodeType":"EmitStatement","src":"24537:76:111"}]}}]},"baseFunctions":[72279],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"22820:11:111","overrides":{"id":73931,"nodeType":"OverrideSpecifier","overrides":[],"src":"22888:8:111"},"parameters":{"id":73930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74089,"src":"22832:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73923,"name":"address","nodeType":"ElementaryTypeName","src":"22832:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73924,"nodeType":"ArrayTypeName","src":"22832:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":73927,"mutability":"mutable","name":"_data","nameLocation":"22863:5:111","nodeType":"VariableDeclaration","scope":74089,"src":"22850:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73926,"name":"bytes","nodeType":"ElementaryTypeName","src":"22850:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74089,"src":"22870:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73928,"name":"address","nodeType":"ElementaryTypeName","src":"22870:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22831:47:111"},"returnParameters":{"id":73932,"nodeType":"ParameterList","parameters":[],"src":"22897:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74143,"nodeType":"FunctionDefinition","src":"24696:735:111","nodes":[],"body":{"id":74142,"nodeType":"Block","src":"24785:646:111","nodes":[],"statements":[{"assignments":[74100],"declarations":[{"constant":false,"id":74100,"mutability":"mutable","name":"proposal","nameLocation":"24827:8:111","nodeType":"VariableDeclaration","scope":74142,"src":"24795:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74099,"nodeType":"UserDefinedTypeName","pathNode":{"id":74098,"name":"StrategyStruct.Proposal","nameLocations":["24795:14:111","24810:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"24795:23:111"},"referencedDeclaration":72511,"src":"24795:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74104,"initialValue":{"baseExpression":{"id":74101,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"24838:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74103,"indexExpression":{"id":74102,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74091,"src":"24848:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24838:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24795:64:111"},{"assignments":[74106,74108],"declarations":[{"constant":false,"id":74106,"mutability":"mutable","name":"convictionLast","nameLocation":"24953:14:111","nodeType":"VariableDeclaration","scope":74142,"src":"24945:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74105,"name":"uint256","nodeType":"ElementaryTypeName","src":"24945:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74108,"mutability":"mutable","name":"blockNumber","nameLocation":"24977:11:111","nodeType":"VariableDeclaration","scope":74142,"src":"24969:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74107,"name":"uint256","nodeType":"ElementaryTypeName","src":"24969:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74114,"initialValue":{"arguments":[{"id":74110,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25038:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":74111,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25048:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25057:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"25048:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74109,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75303,"src":"25004:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":74113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25004:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24944:126:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74115,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74106,"src":"25085:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25103:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25085:19:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74118,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74108,"src":"25108:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25123:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25108:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25085:39:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74128,"nodeType":"IfStatement","src":"25081:110:111","trueBody":{"id":74127,"nodeType":"Block","src":"25126:65:111","statements":[{"expression":{"id":74125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74122,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74106,"src":"25140:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74123,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25157:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25166:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"25157:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25140:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74126,"nodeType":"ExpressionStatement","src":"25140:40:111"}]}},{"assignments":[74130],"declarations":[{"constant":false,"id":74130,"mutability":"mutable","name":"threshold","nameLocation":"25208:9:111","nodeType":"VariableDeclaration","scope":74142,"src":"25200:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74129,"name":"uint256","nodeType":"ElementaryTypeName","src":"25200:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74135,"initialValue":{"arguments":[{"expression":{"id":74132,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74100,"src":"25239:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25248:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"25239:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74131,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75107,"src":"25220:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25220:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25200:64:111"},{"expression":{"id":74140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74136,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74094,"src":"25381:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74137,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74106,"src":"25397:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":74138,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74130,"src":"25415:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25397:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25381:43:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74141,"nodeType":"ExpressionStatement","src":"25381:43:111"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"24705:18:111","parameters":{"id":74092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74091,"mutability":"mutable","name":"proposalId","nameLocation":"24732:10:111","nodeType":"VariableDeclaration","scope":74143,"src":"24724:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74090,"name":"uint256","nodeType":"ElementaryTypeName","src":"24724:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24723:20:111"},"returnParameters":{"id":74095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74094,"mutability":"mutable","name":"canBeExecuted","nameLocation":"24770:13:111","nodeType":"VariableDeclaration","scope":74143,"src":"24765:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74093,"name":"bool","nodeType":"ElementaryTypeName","src":"24765:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24764:20:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74165,"nodeType":"FunctionDefinition","src":"25721:220:111","nodes":[],"body":{"id":74164,"nodeType":"Block","src":"25812:129:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74152,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74145,"src":"25872:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25896:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25888:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74153,"name":"address","nodeType":"ElementaryTypeName","src":"25888:7:111","typeDescriptions":{}}},"id":74156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25888:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25872:26:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":74160,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25919:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25926:8:111","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"25919:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":74162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25872:62:111","trueExpression":{"expression":{"id":74158,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"25901:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":74159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25908:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"25901:15:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":74151,"id":74163,"nodeType":"Return","src":"25865:69:111"}]},"baseFunctions":[72299],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"25730:19:111","overrides":{"id":74147,"nodeType":"OverrideSpecifier","overrides":[],"src":"25786:8:111"},"parameters":{"id":74146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74145,"mutability":"mutable","name":"_recipientId","nameLocation":"25758:12:111","nodeType":"VariableDeclaration","scope":74165,"src":"25750:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74144,"name":"address","nodeType":"ElementaryTypeName","src":"25750:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25749:22:111"},"returnParameters":{"id":74151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74165,"src":"25804:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":74149,"nodeType":"UserDefinedTypeName","pathNode":{"id":74148,"name":"Status","nameLocations":["25804:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"25804:6:111"},"referencedDeclaration":2815,"src":"25804:6:111","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"25803:8:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74184,"nodeType":"FunctionDefinition","src":"26070:288:111","nodes":[],"body":{"id":74183,"nodeType":"Block","src":"26180:178:111","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74180,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72583,"src":"26240:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26240:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74182,"nodeType":"RevertStatement","src":"26233:23:111"}]},"baseFunctions":[72138],"documentation":{"id":74166,"nodeType":"StructuredDocumentation","src":"25947:118:111","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26079:10:111","overrides":{"id":74174,"nodeType":"OverrideSpecifier","overrides":[],"src":"26138:8:111"},"parameters":{"id":74173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74184,"src":"26090:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74167,"name":"address","nodeType":"ElementaryTypeName","src":"26090:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74168,"nodeType":"ArrayTypeName","src":"26090:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74172,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74184,"src":"26108:14:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":74170,"name":"bytes","nodeType":"ElementaryTypeName","src":"26108:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":74171,"nodeType":"ArrayTypeName","src":"26108:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26089:34:111"},"returnParameters":{"id":74179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74178,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74184,"src":"26156:22:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":74176,"nodeType":"UserDefinedTypeName","pathNode":{"id":74175,"name":"PayoutSummary","nameLocations":["26156:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26156:13:111"},"referencedDeclaration":2820,"src":"26156:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":74177,"nodeType":"ArrayTypeName","src":"26156:15:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26155:24:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":74203,"nodeType":"FunctionDefinition","src":"26364:264:111","nodes":[],"body":{"id":74202,"nodeType":"Block","src":"26516:112:111","nodes":[],"statements":[{"expression":{"id":74195,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74188,"src":"26569:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":74196,"nodeType":"ExpressionStatement","src":"26569:5:111"},{"expression":{"arguments":[{"id":74198,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74186,"src":"26605:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":74199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26619:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74197,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"26591:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":74200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26591:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":74194,"id":74201,"nodeType":"Return","src":"26584:37:111"}]},"baseFunctions":[72290],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26373:10:111","overrides":{"id":74190,"nodeType":"OverrideSpecifier","overrides":[],"src":"26464:8:111"},"parameters":{"id":74189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74186,"mutability":"mutable","name":"_recipientId","nameLocation":"26392:12:111","nodeType":"VariableDeclaration","scope":74203,"src":"26384:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74185,"name":"address","nodeType":"ElementaryTypeName","src":"26384:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74188,"mutability":"mutable","name":"_data","nameLocation":"26419:5:111","nodeType":"VariableDeclaration","scope":74203,"src":"26406:18:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74187,"name":"bytes","nodeType":"ElementaryTypeName","src":"26406:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26383:42:111"},"returnParameters":{"id":74194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74203,"src":"26490:20:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":74192,"nodeType":"UserDefinedTypeName","pathNode":{"id":74191,"name":"PayoutSummary","nameLocations":["26490:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26490:13:111"},"referencedDeclaration":2820,"src":"26490:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"26489:22:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74214,"nodeType":"FunctionDefinition","src":"26634:127:111","nodes":[],"body":{"id":74213,"nodeType":"Block","src":"26711:50:111","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":74210,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74205,"src":"26746:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74209,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72696,"src":"26726:19:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":74211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26726:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74212,"nodeType":"EmitStatement","src":"26721:33:111"}]},"baseFunctions":[72313],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"26643:24:111","overrides":{"id":74207,"nodeType":"OverrideSpecifier","overrides":[],"src":"26702:8:111"},"parameters":{"id":74206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74205,"mutability":"mutable","name":"_amount","nameLocation":"26676:7:111","nodeType":"VariableDeclaration","scope":74214,"src":"26668:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74204,"name":"uint256","nodeType":"ElementaryTypeName","src":"26668:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26667:17:111"},"returnParameters":{"id":74208,"nodeType":"ParameterList","parameters":[],"src":"26711:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":74233,"nodeType":"FunctionDefinition","src":"26856:191:111","nodes":[],"body":{"id":74232,"nodeType":"Block","src":"26941:106:111","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74222,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74216,"src":"27001:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27023:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27015:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74223,"name":"address","nodeType":"ElementaryTypeName","src":"27015:7:111","typeDescriptions":{}}},"id":74226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27015:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27001:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":74229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27036:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":74230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"27001:39:111","trueExpression":{"hexValue":"66616c7365","id":74228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27028:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74221,"id":74231,"nodeType":"Return","src":"26994:46:111"}]},"baseFunctions":[72250],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"26865:17:111","overrides":{"id":74218,"nodeType":"OverrideSpecifier","overrides":[],"src":"26917:8:111"},"parameters":{"id":74217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74216,"mutability":"mutable","name":"_allocator","nameLocation":"26891:10:111","nodeType":"VariableDeclaration","scope":74233,"src":"26883:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74215,"name":"address","nodeType":"ElementaryTypeName","src":"26883:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26882:20:111"},"returnParameters":{"id":74221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74233,"src":"26935:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74219,"name":"bool","nodeType":"ElementaryTypeName","src":"26935:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26934:6:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":74243,"nodeType":"FunctionDefinition","src":"27053:86:111","nodes":[],"body":{"id":74242,"nodeType":"Block","src":"27099:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74239,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74235,"src":"27124:7:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74238,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72233,"src":"27109:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":74240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27109:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74241,"nodeType":"ExpressionStatement","src":"27109:23:111"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27062:13:111","parameters":{"id":74236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74235,"mutability":"mutable","name":"_active","nameLocation":"27081:7:111","nodeType":"VariableDeclaration","scope":74243,"src":"27076:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74234,"name":"bool","nodeType":"ElementaryTypeName","src":"27076:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27075:14:111"},"returnParameters":{"id":74237,"nodeType":"ParameterList","parameters":[],"src":"27099:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74331,"nodeType":"FunctionDefinition","src":"27145:836:111","nodes":[],"body":{"id":74330,"nodeType":"Block","src":"27189:792:111","nodes":[],"statements":[{"assignments":[74252],"declarations":[{"constant":false,"id":74252,"mutability":"mutable","name":"proposalsIds","nameLocation":"27264:12:111","nodeType":"VariableDeclaration","scope":74330,"src":"27247:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74250,"name":"uint256","nodeType":"ElementaryTypeName","src":"27247:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74251,"nodeType":"ArrayTypeName","src":"27247:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74256,"initialValue":{"baseExpression":{"id":74253,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"27279:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74255,"indexExpression":{"id":74254,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27300:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27279:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27247:61:111"},{"body":{"id":74328,"nodeType":"Block","src":"27368:607:111","statements":[{"assignments":[74269],"declarations":[{"constant":false,"id":74269,"mutability":"mutable","name":"proposalId","nameLocation":"27390:10:111","nodeType":"VariableDeclaration","scope":74328,"src":"27382:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74268,"name":"uint256","nodeType":"ElementaryTypeName","src":"27382:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74273,"initialValue":{"baseExpression":{"id":74270,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"27403:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74272,"indexExpression":{"id":74271,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74258,"src":"27416:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27403:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27382:36:111"},{"assignments":[74278],"declarations":[{"constant":false,"id":74278,"mutability":"mutable","name":"proposal","nameLocation":"27464:8:111","nodeType":"VariableDeclaration","scope":74328,"src":"27432:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74277,"nodeType":"UserDefinedTypeName","pathNode":{"id":74276,"name":"StrategyStruct.Proposal","nameLocations":["27432:14:111","27447:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"27432:23:111"},"referencedDeclaration":72511,"src":"27432:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74282,"initialValue":{"baseExpression":{"id":74279,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"27475:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74281,"indexExpression":{"id":74280,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74269,"src":"27485:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27475:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27432:64:111"},{"condition":{"arguments":[{"id":74284,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74269,"src":"27529:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74283,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74519,"src":"27514:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27514:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74327,"nodeType":"IfStatement","src":"27510:455:111","trueBody":{"id":74326,"nodeType":"Block","src":"27542:423:111","statements":[{"assignments":[74287],"declarations":[{"constant":false,"id":74287,"mutability":"mutable","name":"stakedPoints","nameLocation":"27568:12:111","nodeType":"VariableDeclaration","scope":74326,"src":"27560:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74286,"name":"uint256","nodeType":"ElementaryTypeName","src":"27560:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74292,"initialValue":{"baseExpression":{"expression":{"id":74288,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27583:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27592:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"27583:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74291,"indexExpression":{"id":74290,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27610:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27583:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27560:58:111"},{"expression":{"id":74299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74293,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27636:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27645:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"27636:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74297,"indexExpression":{"id":74295,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27663:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27636:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":74298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27674:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27636:39:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74300,"nodeType":"ExpressionStatement","src":"27636:39:111"},{"expression":{"id":74305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74301,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27693:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"27702:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"27693:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74304,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74287,"src":"27718:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27693:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74306,"nodeType":"ExpressionStatement","src":"27693:37:111"},{"expression":{"id":74309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74307,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72808,"src":"27748:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":74308,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74287,"src":"27763:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27748:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74310,"nodeType":"ExpressionStatement","src":"27748:27:111"},{"expression":{"arguments":[{"id":74312,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27820:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74313,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74287,"src":"27830:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74311,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"27793:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27793:50:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74315,"nodeType":"ExpressionStatement","src":"27793:50:111"},{"eventCall":{"arguments":[{"id":74317,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"27879:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74318,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74269,"src":"27888:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":74319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27900:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":74320,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27903:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27912:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"27903:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74322,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74278,"src":"27926:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27935:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"27926:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74316,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72728,"src":"27866:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27866:84:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74325,"nodeType":"EmitStatement","src":"27861:89:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74261,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74258,"src":"27338:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74262,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"27342:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27355:6:111","memberName":"length","nodeType":"MemberAccess","src":"27342:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27338:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74329,"initializationExpression":{"assignments":[74258],"declarations":[{"constant":false,"id":74258,"mutability":"mutable","name":"i","nameLocation":"27331:1:111","nodeType":"VariableDeclaration","scope":74329,"src":"27323:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74257,"name":"uint256","nodeType":"ElementaryTypeName","src":"27323:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74260,"initialValue":{"hexValue":"30","id":74259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27335:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27323:13:111"},"loopExpression":{"expression":{"id":74266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27363:3:111","subExpression":{"id":74265,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74258,"src":"27363:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74267,"nodeType":"ExpressionStatement","src":"27363:3:111"},"nodeType":"ForStatement","src":"27318:657:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27154:8:111","parameters":{"id":74246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74245,"mutability":"mutable","name":"_member","nameLocation":"27171:7:111","nodeType":"VariableDeclaration","scope":74331,"src":"27163:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74244,"name":"address","nodeType":"ElementaryTypeName","src":"27163:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27162:17:111"},"returnParameters":{"id":74247,"nodeType":"ParameterList","parameters":[],"src":"27189:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74405,"nodeType":"FunctionDefinition","src":"28543:1038:111","nodes":[],"body":{"id":74404,"nodeType":"Block","src":"29012:569:111","nodes":[],"statements":[{"assignments":[74362],"declarations":[{"constant":false,"id":74362,"mutability":"mutable","name":"proposal","nameLocation":"29054:8:111","nodeType":"VariableDeclaration","scope":74404,"src":"29022:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74361,"nodeType":"UserDefinedTypeName","pathNode":{"id":74360,"name":"StrategyStruct.Proposal","nameLocations":["29022:14:111","29037:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"29022:23:111"},"referencedDeclaration":72511,"src":"29022:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74366,"initialValue":{"baseExpression":{"id":74363,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"29065:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74365,"indexExpression":{"id":74364,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74334,"src":"29075:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29065:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29022:65:111"},{"expression":{"id":74378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74367,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74354,"src":"29098:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74368,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29110:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29119:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"29110:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29138:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29110:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":74374,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29165:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74375,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29174:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"29165:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74373,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75107,"src":"29146:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":74376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29146:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29110:80:111","trueExpression":{"hexValue":"30","id":74372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29142:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29098:92:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74379,"nodeType":"ExpressionStatement","src":"29098:92:111"},{"expression":{"components":[{"expression":{"id":74380,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29221:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29230:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"29221:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74382,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29253:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29262:11:111","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":72489,"src":"29253:20:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74384,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29287:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29296:14:111","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":72493,"src":"29287:23:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74386,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29324:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29333:15:111","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":72483,"src":"29324:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74388,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29362:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29371:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"29362:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74390,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29397:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29406:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"29397:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":74392,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29434:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29443:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"29434:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74394,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29466:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29475:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"29466:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74396,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74354,"src":"29503:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":74397,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74362,"src":"29526:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29535:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"29526:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74401,"indexExpression":{"expression":{"id":74399,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"29553:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29557:6:111","memberName":"sender","nodeType":"MemberAccess","src":"29553:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29526:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74402,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29207:367:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$72470_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":74357,"id":74403,"nodeType":"Return","src":"29200:374:111"}]},"documentation":{"id":74332,"nodeType":"StructuredDocumentation","src":"27987:551:111","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"28552:11:111","parameters":{"id":74335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74334,"mutability":"mutable","name":"_proposalId","nameLocation":"28572:11:111","nodeType":"VariableDeclaration","scope":74405,"src":"28564:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74333,"name":"uint256","nodeType":"ElementaryTypeName","src":"28564:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28563:21:111"},"returnParameters":{"id":74357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74337,"mutability":"mutable","name":"submitter","nameLocation":"28653:9:111","nodeType":"VariableDeclaration","scope":74405,"src":"28645:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74336,"name":"address","nodeType":"ElementaryTypeName","src":"28645:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74339,"mutability":"mutable","name":"beneficiary","nameLocation":"28684:11:111","nodeType":"VariableDeclaration","scope":74405,"src":"28676:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74338,"name":"address","nodeType":"ElementaryTypeName","src":"28676:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74341,"mutability":"mutable","name":"requestedToken","nameLocation":"28717:14:111","nodeType":"VariableDeclaration","scope":74405,"src":"28709:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74340,"name":"address","nodeType":"ElementaryTypeName","src":"28709:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74343,"mutability":"mutable","name":"requestedAmount","nameLocation":"28753:15:111","nodeType":"VariableDeclaration","scope":74405,"src":"28745:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74342,"name":"uint256","nodeType":"ElementaryTypeName","src":"28745:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74345,"mutability":"mutable","name":"stakedAmount","nameLocation":"28790:12:111","nodeType":"VariableDeclaration","scope":74405,"src":"28782:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74344,"name":"uint256","nodeType":"ElementaryTypeName","src":"28782:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74348,"mutability":"mutable","name":"proposalStatus","nameLocation":"28846:14:111","nodeType":"VariableDeclaration","scope":74405,"src":"28816:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":74347,"nodeType":"UserDefinedTypeName","pathNode":{"id":74346,"name":"StrategyStruct.ProposalStatus","nameLocations":["28816:14:111","28831:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72470,"src":"28816:29:111"},"referencedDeclaration":72470,"src":"28816:29:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":74350,"mutability":"mutable","name":"blockLast","nameLocation":"28882:9:111","nodeType":"VariableDeclaration","scope":74405,"src":"28874:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74349,"name":"uint256","nodeType":"ElementaryTypeName","src":"28874:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74352,"mutability":"mutable","name":"convictionLast","nameLocation":"28913:14:111","nodeType":"VariableDeclaration","scope":74405,"src":"28905:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74351,"name":"uint256","nodeType":"ElementaryTypeName","src":"28905:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74354,"mutability":"mutable","name":"threshold","nameLocation":"28949:9:111","nodeType":"VariableDeclaration","scope":74405,"src":"28941:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74353,"name":"uint256","nodeType":"ElementaryTypeName","src":"28941:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74356,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"28980:17:111","nodeType":"VariableDeclaration","scope":74405,"src":"28972:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74355,"name":"uint256","nodeType":"ElementaryTypeName","src":"28972:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28631:376:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74426,"nodeType":"FunctionDefinition","src":"29587:198:111","nodes":[],"body":{"id":74425,"nodeType":"Block","src":"29669:116:111","nodes":[],"statements":[{"assignments":[74417],"declarations":[{"constant":false,"id":74417,"mutability":"mutable","name":"proposal","nameLocation":"29711:8:111","nodeType":"VariableDeclaration","scope":74425,"src":"29679:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74416,"nodeType":"UserDefinedTypeName","pathNode":{"id":74415,"name":"StrategyStruct.Proposal","nameLocations":["29679:14:111","29694:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"29679:23:111"},"referencedDeclaration":72511,"src":"29679:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74421,"initialValue":{"baseExpression":{"id":74418,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"29722:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74420,"indexExpression":{"id":74419,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74407,"src":"29732:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29722:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29679:65:111"},{"expression":{"expression":{"id":74422,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74417,"src":"29761:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29770:8:111","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":72505,"src":"29761:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":74412,"id":74424,"nodeType":"Return","src":"29754:24:111"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"29596:11:111","parameters":{"id":74408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74407,"mutability":"mutable","name":"_proposalId","nameLocation":"29616:11:111","nodeType":"VariableDeclaration","scope":74426,"src":"29608:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74406,"name":"uint256","nodeType":"ElementaryTypeName","src":"29608:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29607:21:111"},"returnParameters":{"id":74412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74426,"src":"29652:15:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":74410,"nodeType":"UserDefinedTypeName","pathNode":{"id":74409,"name":"Metadata","nameLocations":["29652:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"29652:8:111"},"referencedDeclaration":3098,"src":"29652:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"29651:17:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74442,"nodeType":"FunctionDefinition","src":"29986:176:111","nodes":[],"body":{"id":74441,"nodeType":"Block","src":"30086:76:111","nodes":[],"statements":[{"expression":{"arguments":[{"id":74437,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74429,"src":"30135:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74438,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74431,"src":"30148:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74436,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74484,"src":"30103:31:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":74439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30103:52:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74435,"id":74440,"nodeType":"Return","src":"30096:59:111"}]},"documentation":{"id":74427,"nodeType":"StructuredDocumentation","src":"29791:190:111","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"29995:21:111","parameters":{"id":74432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74429,"mutability":"mutable","name":"_proposalId","nameLocation":"30025:11:111","nodeType":"VariableDeclaration","scope":74442,"src":"30017:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74428,"name":"uint256","nodeType":"ElementaryTypeName","src":"30017:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74431,"mutability":"mutable","name":"_voter","nameLocation":"30046:6:111","nodeType":"VariableDeclaration","scope":74442,"src":"30038:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74430,"name":"address","nodeType":"ElementaryTypeName","src":"30038:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30016:37:111"},"returnParameters":{"id":74435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74434,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74442,"src":"30077:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74433,"name":"uint256","nodeType":"ElementaryTypeName","src":"30077:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30076:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74455,"nodeType":"FunctionDefinition","src":"30168:145:111","nodes":[],"body":{"id":74454,"nodeType":"Block","src":"30254:59:111","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":74449,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30271:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74451,"indexExpression":{"id":74450,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74444,"src":"30281:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30271:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30294:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"30271:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74448,"id":74453,"nodeType":"Return","src":"30264:42:111"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"30177:23:111","parameters":{"id":74445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74444,"mutability":"mutable","name":"_proposalId","nameLocation":"30209:11:111","nodeType":"VariableDeclaration","scope":74455,"src":"30201:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74443,"name":"uint256","nodeType":"ElementaryTypeName","src":"30201:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30200:21:111"},"returnParameters":{"id":74448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74455,"src":"30245:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74446,"name":"uint256","nodeType":"ElementaryTypeName","src":"30245:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30244:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74467,"nodeType":"FunctionDefinition","src":"30381:127:111","nodes":[],"body":{"id":74466,"nodeType":"Block","src":"30458:50:111","nodes":[],"statements":[{"expression":{"baseExpression":{"id":74462,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72843,"src":"30475:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74464,"indexExpression":{"id":74463,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74457,"src":"30494:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30475:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74461,"id":74465,"nodeType":"Return","src":"30468:33:111"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"30390:21:111","parameters":{"id":74458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74457,"mutability":"mutable","name":"_voter","nameLocation":"30420:6:111","nodeType":"VariableDeclaration","scope":74467,"src":"30412:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74456,"name":"address","nodeType":"ElementaryTypeName","src":"30412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30411:16:111"},"returnParameters":{"id":74461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74467,"src":"30449:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74459,"name":"uint256","nodeType":"ElementaryTypeName","src":"30449:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30448:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74484,"nodeType":"FunctionDefinition","src":"30514:182:111","nodes":[],"body":{"id":74483,"nodeType":"Block","src":"30624:72:111","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":74476,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30641:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74478,"indexExpression":{"id":74477,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74469,"src":"30651:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30641:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30664:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"30641:40:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74481,"indexExpression":{"id":74480,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74471,"src":"30682:6:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30641:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74475,"id":74482,"nodeType":"Return","src":"30634:55:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"30523:31:111","parameters":{"id":74472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74469,"mutability":"mutable","name":"_proposalId","nameLocation":"30563:11:111","nodeType":"VariableDeclaration","scope":74484,"src":"30555:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74468,"name":"uint256","nodeType":"ElementaryTypeName","src":"30555:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74471,"mutability":"mutable","name":"_voter","nameLocation":"30584:6:111","nodeType":"VariableDeclaration","scope":74484,"src":"30576:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74470,"name":"address","nodeType":"ElementaryTypeName","src":"30576:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30554:37:111"},"returnParameters":{"id":74475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74484,"src":"30615:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74473,"name":"uint256","nodeType":"ElementaryTypeName","src":"30615:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30614:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74494,"nodeType":"FunctionDefinition","src":"30702:145:111","nodes":[],"body":{"id":74493,"nodeType":"Block","src":"30766:81:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74489,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"30783:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":74490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30801:20:111","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":78560,"src":"30783:38:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30783:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74488,"id":74492,"nodeType":"Return","src":"30776:47:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"30711:20:111","parameters":{"id":74485,"nodeType":"ParameterList","parameters":[],"src":"30731:2:111"},"returnParameters":{"id":74488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74494,"src":"30757:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74486,"name":"uint256","nodeType":"ElementaryTypeName","src":"30757:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30756:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74519,"nodeType":"FunctionDefinition","src":"30853:185:111","nodes":[],"body":{"id":74518,"nodeType":"Block","src":"30927:111:111","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74501,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30944:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74503,"indexExpression":{"id":74502,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74496,"src":"30954:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30944:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30967:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"30944:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30980:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30944:37:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74507,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"30985:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74509,"indexExpression":{"id":74508,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74496,"src":"30995:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30985:22:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":74510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31008:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"30985:32:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":74513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31029:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31021:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74511,"name":"address","nodeType":"ElementaryTypeName","src":"31021:7:111","typeDescriptions":{}}},"id":74514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31021:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30985:46:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30944:87:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74500,"id":74517,"nodeType":"Return","src":"30937:94:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"30862:14:111","parameters":{"id":74497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74496,"mutability":"mutable","name":"_proposalID","nameLocation":"30885:11:111","nodeType":"VariableDeclaration","scope":74519,"src":"30877:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74495,"name":"uint256","nodeType":"ElementaryTypeName","src":"30877:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30876:21:111"},"returnParameters":{"id":74500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74519,"src":"30921:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74498,"name":"bool","nodeType":"ElementaryTypeName","src":"30921:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30920:6:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74538,"nodeType":"FunctionDefinition","src":"31044:183:111","nodes":[],"body":{"id":74537,"nodeType":"Block","src":"31139:88:111","nodes":[],"statements":[{"expression":{"id":74535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74526,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74524,"src":"31149:14:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74527,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"31166:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31175:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72535,"src":"31166:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74529,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"31186:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31166:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74531,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74521,"src":"31200:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74532,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"31219:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31200:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31166:54:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"31149:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74536,"nodeType":"ExpressionStatement","src":"31149:71:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"31053:15:111","parameters":{"id":74522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74521,"mutability":"mutable","name":"_requestedAmount","nameLocation":"31077:16:111","nodeType":"VariableDeclaration","scope":74538,"src":"31069:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74520,"name":"uint256","nodeType":"ElementaryTypeName","src":"31069:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31068:26:111"},"returnParameters":{"id":74525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74524,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"31123:14:111","nodeType":"VariableDeclaration","scope":74538,"src":"31118:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74523,"name":"bool","nodeType":"ElementaryTypeName","src":"31118:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31117:21:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":74634,"nodeType":"FunctionDefinition","src":"31233:1548:111","nodes":[],"body":{"id":74633,"nodeType":"Block","src":"31363:1418:111","nodes":[],"statements":[{"assignments":[74548],"declarations":[{"constant":false,"id":74548,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"31380:15:111","nodeType":"VariableDeclaration","scope":74633,"src":"31373:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74547,"name":"int256","nodeType":"ElementaryTypeName","src":"31373:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74550,"initialValue":{"hexValue":"30","id":74549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31398:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31373:26:111"},{"body":{"id":74595,"nodeType":"Block","src":"31463:576:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74562,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31536:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74564,"indexExpression":{"id":74563,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31553:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31536:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74565,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31556:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72513,"src":"31536:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31570:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31536:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74570,"nodeType":"IfStatement","src":"31532:187:111","trueBody":{"id":74569,"nodeType":"Block","src":"31573:146:111","statements":[{"id":74568,"nodeType":"Continue","src":"31696:8:111"}]}},{"assignments":[74572],"declarations":[{"constant":false,"id":74572,"mutability":"mutable","name":"proposalId","nameLocation":"31740:10:111","nodeType":"VariableDeclaration","scope":74595,"src":"31732:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74571,"name":"uint256","nodeType":"ElementaryTypeName","src":"31732:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74577,"initialValue":{"expression":{"baseExpression":{"id":74573,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31753:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74575,"indexExpression":{"id":74574,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31770:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31753:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31773:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72513,"src":"31753:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31732:51:111"},{"condition":{"id":74581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31801:27:111","subExpression":{"arguments":[{"id":74579,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74572,"src":"31817:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74578,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74519,"src":"31802:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":74580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31802:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74587,"nodeType":"IfStatement","src":"31797:167:111","trueBody":{"id":74586,"nodeType":"Block","src":"31830:134:111","statements":[{"errorCall":{"arguments":[{"id":74583,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74572,"src":"31873:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74582,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"31855:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":74584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31855:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74585,"nodeType":"RevertStatement","src":"31848:36:111"}]}},{"expression":{"id":74593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74588,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74548,"src":"31977:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":74589,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31996:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74591,"indexExpression":{"id":74590,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"32013:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31996:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32016:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72515,"src":"31996:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31977:51:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":74594,"nodeType":"ExpressionStatement","src":"31977:51:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74555,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31429:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74556,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"31433:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31450:6:111","memberName":"length","nodeType":"MemberAccess","src":"31433:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31429:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74596,"initializationExpression":{"assignments":[74552],"declarations":[{"constant":false,"id":74552,"mutability":"mutable","name":"i","nameLocation":"31422:1:111","nodeType":"VariableDeclaration","scope":74596,"src":"31414:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74551,"name":"uint256","nodeType":"ElementaryTypeName","src":"31414:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74554,"initialValue":{"hexValue":"30","id":74553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31426:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31414:13:111"},"loopExpression":{"expression":{"id":74560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"31458:3:111","subExpression":{"id":74559,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74552,"src":"31458:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74561,"nodeType":"ExpressionStatement","src":"31458:3:111"},"nodeType":"ForStatement","src":"31409:630:111"},{"assignments":[74598],"declarations":[{"constant":false,"id":74598,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"32143:21:111","nodeType":"VariableDeclaration","scope":74633,"src":"32135:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74597,"name":"uint256","nodeType":"ElementaryTypeName","src":"32135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74605,"initialValue":{"arguments":[{"arguments":[{"id":74601,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"32201:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74600,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74467,"src":"32179:21:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":74602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32179:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74603,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74548,"src":"32211:15:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74599,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74956,"src":"32167:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32167:60:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32135:92:111"},{"assignments":[74607],"declarations":[{"constant":false,"id":74607,"mutability":"mutable","name":"participantBalance","nameLocation":"32317:18:111","nodeType":"VariableDeclaration","scope":74633,"src":"32309:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74606,"name":"uint256","nodeType":"ElementaryTypeName","src":"32309:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74616,"initialValue":{"arguments":[{"id":74610,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"32381:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":74613,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"32398:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":74612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32390:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74611,"name":"address","nodeType":"ElementaryTypeName","src":"32390:7:111","typeDescriptions":{}}},"id":74614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32390:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":74608,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"32338:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":74609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32356:24:111","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":78160,"src":"32338:42:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":74615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32338:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32309:95:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74617,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74598,"src":"32570:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":74618,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74607,"src":"32594:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32570:42:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74626,"nodeType":"IfStatement","src":"32566:147:111","trueBody":{"id":74625,"nodeType":"Block","src":"32614:99:111","statements":[{"errorCall":{"arguments":[{"id":74621,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74598,"src":"32660:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74622,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74607,"src":"32683:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74620,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72613,"src":"32635:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32635:67:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74624,"nodeType":"RevertStatement","src":"32628:74:111"}]}},{"expression":{"id":74631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74627,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72843,"src":"32723:18:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74629,"indexExpression":{"id":74628,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"32742:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32723:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74630,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74598,"src":"32753:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32723:51:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74632,"nodeType":"ExpressionStatement","src":"32723:51:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"31242:24:111","parameters":{"id":74545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74540,"mutability":"mutable","name":"_sender","nameLocation":"31275:7:111","nodeType":"VariableDeclaration","scope":74634,"src":"31267:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74539,"name":"address","nodeType":"ElementaryTypeName","src":"31267:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74544,"mutability":"mutable","name":"_proposalSupport","nameLocation":"31324:16:111","nodeType":"VariableDeclaration","scope":74634,"src":"31284:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74542,"nodeType":"UserDefinedTypeName","pathNode":{"id":74541,"name":"StrategyStruct.ProposalSupport","nameLocations":["31284:14:111","31299:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"31284:30:111"},"referencedDeclaration":72516,"src":"31284:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74543,"nodeType":"ArrayTypeName","src":"31284:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"31266:75:111"},"returnParameters":{"id":74546,"nodeType":"ParameterList","parameters":[],"src":"31363:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74921,"nodeType":"FunctionDefinition","src":"32787:3479:111","nodes":[],"body":{"id":74920,"nodeType":"Block","src":"32892:3374:111","nodes":[],"statements":[{"assignments":[74647],"declarations":[{"constant":false,"id":74647,"mutability":"mutable","name":"proposalsIds","nameLocation":"32919:12:111","nodeType":"VariableDeclaration","scope":74920,"src":"32902:29:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74645,"name":"uint256","nodeType":"ElementaryTypeName","src":"32902:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74646,"nodeType":"ArrayTypeName","src":"32902:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74648,"nodeType":"VariableDeclarationStatement","src":"32902:29:111"},{"body":{"id":74918,"nodeType":"Block","src":"32995:3265:111","statements":[{"assignments":[74661],"declarations":[{"constant":false,"id":74661,"mutability":"mutable","name":"proposalId","nameLocation":"33017:10:111","nodeType":"VariableDeclaration","scope":74918,"src":"33009:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74660,"name":"uint256","nodeType":"ElementaryTypeName","src":"33009:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74666,"initialValue":{"expression":{"baseExpression":{"id":74662,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"33030:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74664,"indexExpression":{"id":74663,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"33047:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33030:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33050:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72513,"src":"33030:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33009:51:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74667,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33133:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33146:6:111","memberName":"length","nodeType":"MemberAccess","src":"33133:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33156:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33133:24:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74769,"nodeType":"Block","src":"33285:764:111","statements":[{"assignments":[74687],"declarations":[{"constant":false,"id":74687,"mutability":"mutable","name":"exist","nameLocation":"33308:5:111","nodeType":"VariableDeclaration","scope":74769,"src":"33303:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74686,"name":"bool","nodeType":"ElementaryTypeName","src":"33303:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74689,"initialValue":{"hexValue":"66616c7365","id":74688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33316:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"33303:18:111"},{"body":{"id":74717,"nodeType":"Block","src":"33389:268:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74701,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33440:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74703,"indexExpression":{"id":74702,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33453:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33440:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":74704,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33459:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33440:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74716,"nodeType":"IfStatement","src":"33436:203:111","trueBody":{"id":74715,"nodeType":"Block","src":"33471:168:111","statements":[{"expression":{"id":74708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74706,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74687,"src":"33497:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33505:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"33497:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74709,"nodeType":"ExpressionStatement","src":"33497:12:111"},{"errorCall":{"arguments":[{"id":74711,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33568:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74712,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33580:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74710,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72631,"src":"33542:25:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33542:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74714,"nodeType":"RevertStatement","src":"33535:47:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74694,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33359:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74695,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33363:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33376:6:111","memberName":"length","nodeType":"MemberAccess","src":"33363:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33359:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74718,"initializationExpression":{"assignments":[74691],"declarations":[{"constant":false,"id":74691,"mutability":"mutable","name":"j","nameLocation":"33352:1:111","nodeType":"VariableDeclaration","scope":74718,"src":"33344:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74690,"name":"uint256","nodeType":"ElementaryTypeName","src":"33344:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74693,"initialValue":{"hexValue":"30","id":74692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33356:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33344:13:111"},"loopExpression":{"expression":{"id":74699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33384:3:111","subExpression":{"id":74698,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74691,"src":"33384:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74700,"nodeType":"ExpressionStatement","src":"33384:3:111"},"nodeType":"ForStatement","src":"33339:318:111"},{"condition":{"id":74720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33678:6:111","subExpression":{"id":74719,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74687,"src":"33679:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74768,"nodeType":"IfStatement","src":"33674:361:111","trueBody":{"id":74767,"nodeType":"Block","src":"33686:349:111","statements":[{"assignments":[74725],"declarations":[{"constant":false,"id":74725,"mutability":"mutable","name":"temp","nameLocation":"33725:4:111","nodeType":"VariableDeclaration","scope":74767,"src":"33708:21:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":74723,"name":"uint256","nodeType":"ElementaryTypeName","src":"33708:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74724,"nodeType":"ArrayTypeName","src":"33708:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":74734,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74729,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33746:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33759:6:111","memberName":"length","nodeType":"MemberAccess","src":"33746:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":74731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33768:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"33746:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33732:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74726,"name":"uint256","nodeType":"ElementaryTypeName","src":"33736:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74727,"nodeType":"ArrayTypeName","src":"33736:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33732:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"33708:62:111"},{"body":{"id":74754,"nodeType":"Block","src":"33842:74:111","statements":[{"expression":{"id":74752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74746,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74725,"src":"33868:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74748,"indexExpression":{"id":74747,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33873:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33868:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":74749,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33878:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74751,"indexExpression":{"id":74750,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33891:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33878:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33868:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74753,"nodeType":"ExpressionStatement","src":"33868:25:111"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74739,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33812:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74740,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33816:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33829:6:111","memberName":"length","nodeType":"MemberAccess","src":"33816:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33812:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74755,"initializationExpression":{"assignments":[74736],"declarations":[{"constant":false,"id":74736,"mutability":"mutable","name":"j","nameLocation":"33805:1:111","nodeType":"VariableDeclaration","scope":74755,"src":"33797:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74735,"name":"uint256","nodeType":"ElementaryTypeName","src":"33797:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74738,"initialValue":{"hexValue":"30","id":74737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33809:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33797:13:111"},"loopExpression":{"expression":{"id":74744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33837:3:111","subExpression":{"id":74743,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74736,"src":"33837:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74745,"nodeType":"ExpressionStatement","src":"33837:3:111"},"nodeType":"ForStatement","src":"33792:124:111"},{"expression":{"id":74761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74756,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74725,"src":"33937:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74759,"indexExpression":{"expression":{"id":74757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33942:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33955:6:111","memberName":"length","nodeType":"MemberAccess","src":"33942:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33937:25:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74760,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33965:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33937:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74762,"nodeType":"ExpressionStatement","src":"33937:38:111"},{"expression":{"id":74765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74763,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33997:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74764,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74725,"src":"34012:4:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33997:19:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74766,"nodeType":"ExpressionStatement","src":"33997:19:111"}]}}]},"id":74770,"nodeType":"IfStatement","src":"33129:920:111","trueBody":{"id":74685,"nodeType":"Block","src":"33159:120:111","statements":[{"expression":{"id":74677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74671,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33177:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":74675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33206:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":74674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33192:13:111","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":74672,"name":"uint256","nodeType":"ElementaryTypeName","src":"33196:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74673,"nodeType":"ArrayTypeName","src":"33196:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":74676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33192:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"33177:31:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74678,"nodeType":"ExpressionStatement","src":"33177:31:111"},{"expression":{"id":74683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74679,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74647,"src":"33226:12:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":74681,"indexExpression":{"hexValue":"30","id":74680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33239:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33226:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74682,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"33244:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33226:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74684,"nodeType":"ExpressionStatement","src":"33226:28:111"}]}},{"assignments":[74772],"declarations":[{"constant":false,"id":74772,"mutability":"mutable","name":"delta","nameLocation":"34069:5:111","nodeType":"VariableDeclaration","scope":74918,"src":"34062:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74771,"name":"int256","nodeType":"ElementaryTypeName","src":"34062:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74777,"initialValue":{"expression":{"baseExpression":{"id":74773,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"34077:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74775,"indexExpression":{"id":74774,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"34094:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34077:19:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":74776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34097:12:111","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":72515,"src":"34077:32:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"34062:47:111"},{"assignments":[74782],"declarations":[{"constant":false,"id":74782,"mutability":"mutable","name":"proposal","nameLocation":"34156:8:111","nodeType":"VariableDeclaration","scope":74918,"src":"34124:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":74781,"nodeType":"UserDefinedTypeName","pathNode":{"id":74780,"name":"StrategyStruct.Proposal","nameLocations":["34124:14:111","34139:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"34124:23:111"},"referencedDeclaration":72511,"src":"34124:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":74786,"initialValue":{"baseExpression":{"id":74783,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"34167:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":74785,"indexExpression":{"id":74784,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"34177:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34167:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"34124:64:111"},{"assignments":[74788],"declarations":[{"constant":false,"id":74788,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"34298:20:111","nodeType":"VariableDeclaration","scope":74918,"src":"34290:28:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74787,"name":"uint256","nodeType":"ElementaryTypeName","src":"34290:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74793,"initialValue":{"baseExpression":{"expression":{"id":74789,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"34321:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34330:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"34321:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74792,"indexExpression":{"id":74791,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"34348:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34321:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34290:66:111"},{"assignments":[74795],"declarations":[{"constant":false,"id":74795,"mutability":"mutable","name":"stakedPoints","nameLocation":"34529:12:111","nodeType":"VariableDeclaration","scope":74918,"src":"34521:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74794,"name":"uint256","nodeType":"ElementaryTypeName","src":"34521:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74800,"initialValue":{"arguments":[{"id":74797,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"34556:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74798,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74772,"src":"34578:5:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74796,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74956,"src":"34544:11:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":74799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34544:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34521:63:111"},{"expression":{"id":74807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74801,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"34719:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34728:17:111","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":72502,"src":"34719:26:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":74805,"indexExpression":{"id":74803,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"34746:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34719:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74806,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"34757:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34719:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74808,"nodeType":"ExpressionStatement","src":"34719:50:111"},{"assignments":[74810],"declarations":[{"constant":false,"id":74810,"mutability":"mutable","name":"hasProposal","nameLocation":"35008:11:111","nodeType":"VariableDeclaration","scope":74918,"src":"35003:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74809,"name":"bool","nodeType":"ElementaryTypeName","src":"35003:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":74812,"initialValue":{"hexValue":"66616c7365","id":74811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35022:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35003:24:111"},{"body":{"id":74841,"nodeType":"Block","src":"35108:179:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":74826,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"35130:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74828,"indexExpression":{"id":74827,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"35151:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35130:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74830,"indexExpression":{"id":74829,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74814,"src":"35160:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35130:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":74831,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35166:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35175:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"35166:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35130:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74840,"nodeType":"IfStatement","src":"35126:147:111","trueBody":{"id":74839,"nodeType":"Block","src":"35187:86:111","statements":[{"expression":{"id":74836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74834,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74810,"src":"35209:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35223:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35209:18:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74837,"nodeType":"ExpressionStatement","src":"35209:18:111"},{"id":74838,"nodeType":"Break","src":"35249:5:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74817,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74814,"src":"35061:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":74818,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"35065:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74820,"indexExpression":{"id":74819,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"35086:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35065:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35095:6:111","memberName":"length","nodeType":"MemberAccess","src":"35065:36:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35061:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74842,"initializationExpression":{"assignments":[74814],"declarations":[{"constant":false,"id":74814,"mutability":"mutable","name":"k","nameLocation":"35054:1:111","nodeType":"VariableDeclaration","scope":74842,"src":"35046:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74813,"name":"uint256","nodeType":"ElementaryTypeName","src":"35046:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74816,"initialValue":{"hexValue":"30","id":74815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35058:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35046:13:111"},"loopExpression":{"expression":{"id":74824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35103:3:111","subExpression":{"id":74823,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74814,"src":"35103:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74825,"nodeType":"ExpressionStatement","src":"35103:3:111"},"nodeType":"ForStatement","src":"35041:246:111"},{"condition":{"id":74844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35304:12:111","subExpression":{"id":74843,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74810,"src":"35305:11:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74854,"nodeType":"IfStatement","src":"35300:106:111","trueBody":{"id":74853,"nodeType":"Block","src":"35318:88:111","statements":[{"expression":{"arguments":[{"expression":{"id":74849,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35371:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35380:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"35371:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":74845,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72848,"src":"35336:20:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":74847,"indexExpression":{"id":74846,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"35357:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35336:29:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":74848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35366:4:111","memberName":"push","nodeType":"MemberAccess","src":"35336:34:111","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":74851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35336:55:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74852,"nodeType":"ExpressionStatement","src":"35336:55:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74855,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35561:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":74856,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35585:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35561:36:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74887,"nodeType":"Block","src":"35766:161:111","statements":[{"expression":{"id":74877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74873,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72808,"src":"35784:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74874,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35799:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74875,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35822:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35799:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35784:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74878,"nodeType":"ExpressionStatement","src":"35784:50:111"},{"expression":{"id":74885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35852:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35861:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"35852:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74882,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35877:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74883,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35900:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35877:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35852:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74886,"nodeType":"ExpressionStatement","src":"35852:60:111"}]},"id":74888,"nodeType":"IfStatement","src":"35557:370:111","trueBody":{"id":74872,"nodeType":"Block","src":"35599:161:111","statements":[{"expression":{"id":74862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74858,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72808,"src":"35617:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74859,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35632:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74860,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35647:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35632:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35617:50:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74863,"nodeType":"ExpressionStatement","src":"35617:50:111"},{"expression":{"id":74870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74864,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35685:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35694:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"35685:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74867,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"35710:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74868,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"35725:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35710:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35685:60:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74871,"nodeType":"ExpressionStatement","src":"35685:60:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74889,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35944:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74890,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35953:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"35944:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35966:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35944:23:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74916,"nodeType":"Block","src":"36041:209:111","statements":[{"expression":{"arguments":[{"id":74902,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"36086:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":74903,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74788,"src":"36096:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74901,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"36059:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":74904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36059:58:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74905,"nodeType":"ExpressionStatement","src":"36059:58:111"},{"eventCall":{"arguments":[{"id":74907,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"36153:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74908,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"36162:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74909,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74795,"src":"36174:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74910,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"36188:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36197:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"36188:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74912,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"36211:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36220:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"36211:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74906,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72728,"src":"36140:12:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":74914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36140:95:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74915,"nodeType":"EmitStatement","src":"36135:100:111"}]},"id":74917,"nodeType":"IfStatement","src":"35940:310:111","trueBody":{"id":74900,"nodeType":"Block","src":"35969:66:111","statements":[{"expression":{"id":74898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74893,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"35987:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":74895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"35996:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"35987:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74896,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"36008:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":74897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36014:6:111","memberName":"number","nodeType":"MemberAccess","src":"36008:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35987:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74899,"nodeType":"ExpressionStatement","src":"35987:33:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"32961:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74654,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"32965:16:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":74655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32982:6:111","memberName":"length","nodeType":"MemberAccess","src":"32965:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32961:27:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74919,"initializationExpression":{"assignments":[74650],"declarations":[{"constant":false,"id":74650,"mutability":"mutable","name":"i","nameLocation":"32954:1:111","nodeType":"VariableDeclaration","scope":74919,"src":"32946:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74649,"name":"uint256","nodeType":"ElementaryTypeName","src":"32946:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74652,"initialValue":{"hexValue":"30","id":74651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32958:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32946:13:111"},"loopExpression":{"expression":{"id":74658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32990:3:111","subExpression":{"id":74657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74650,"src":"32990:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74659,"nodeType":"ExpressionStatement","src":"32990:3:111"},"nodeType":"ForStatement","src":"32941:3319:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"32796:11:111","parameters":{"id":74641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74636,"mutability":"mutable","name":"_sender","nameLocation":"32816:7:111","nodeType":"VariableDeclaration","scope":74921,"src":"32808:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74635,"name":"address","nodeType":"ElementaryTypeName","src":"32808:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74640,"mutability":"mutable","name":"_proposalSupport","nameLocation":"32865:16:111","nodeType":"VariableDeclaration","scope":74921,"src":"32825:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":74638,"nodeType":"UserDefinedTypeName","pathNode":{"id":74637,"name":"StrategyStruct.ProposalSupport","nameLocations":["32825:14:111","32840:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":72516,"src":"32825:30:111"},"referencedDeclaration":72516,"src":"32825:30:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$72516_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":74639,"nodeType":"ArrayTypeName","src":"32825:32:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$72516_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"32807:75:111"},"returnParameters":{"id":74642,"nodeType":"ParameterList","parameters":[],"src":"32892:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74956,"nodeType":"FunctionDefinition","src":"36272:276:111","nodes":[],"body":{"id":74955,"nodeType":"Block","src":"36358:190:111","nodes":[],"statements":[{"assignments":[74931],"declarations":[{"constant":false,"id":74931,"mutability":"mutable","name":"result","nameLocation":"36375:6:111","nodeType":"VariableDeclaration","scope":74955,"src":"36368:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74930,"name":"int256","nodeType":"ElementaryTypeName","src":"36368:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":74938,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":74934,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74923,"src":"36391:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36384:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":74932,"name":"int256","nodeType":"ElementaryTypeName","src":"36384:6:111","typeDescriptions":{}}},"id":74935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36384:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74936,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74925,"src":"36403:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"36384:25:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"36368:41:111"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":74941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74939,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"36424:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":74940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36433:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"36424:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74949,"nodeType":"IfStatement","src":"36420:90:111","trueBody":{"id":74948,"nodeType":"Block","src":"36436:74:111","statements":[{"errorCall":{"arguments":[{"id":74943,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74923,"src":"36474:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74944,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74925,"src":"36484:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":74945,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"36492:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74942,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72603,"src":"36457:16:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":74946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36457:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74947,"nodeType":"RevertStatement","src":"36450:49:111"}]}},{"expression":{"arguments":[{"id":74952,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"36534:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":74951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36526:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":74950,"name":"uint256","nodeType":"ElementaryTypeName","src":"36526:7:111","typeDescriptions":{}}},"id":74953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36526:15:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74929,"id":74954,"nodeType":"Return","src":"36519:22:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"36281:11:111","parameters":{"id":74926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74923,"mutability":"mutable","name":"_support","nameLocation":"36301:8:111","nodeType":"VariableDeclaration","scope":74956,"src":"36293:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74922,"name":"uint256","nodeType":"ElementaryTypeName","src":"36293:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74925,"mutability":"mutable","name":"_delta","nameLocation":"36318:6:111","nodeType":"VariableDeclaration","scope":74956,"src":"36311:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74924,"name":"int256","nodeType":"ElementaryTypeName","src":"36311:6:111","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"36292:33:111"},"returnParameters":{"id":74929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74956,"src":"36349:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74927,"name":"uint256","nodeType":"ElementaryTypeName","src":"36349:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36348:9:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75014,"nodeType":"FunctionDefinition","src":"36965:1175:111","nodes":[],"body":{"id":75013,"nodeType":"Block","src":"37112:1028:111","nodes":[],"statements":[{"assignments":[74969],"declarations":[{"constant":false,"id":74969,"mutability":"mutable","name":"t","nameLocation":"37130:1:111","nodeType":"VariableDeclaration","scope":75013,"src":"37122:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74968,"name":"uint256","nodeType":"ElementaryTypeName","src":"37122:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74971,"initialValue":{"id":74970,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74959,"src":"37134:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37122:23:111"},{"assignments":[74973],"declarations":[{"constant":false,"id":74973,"mutability":"mutable","name":"atTWO_128","nameLocation":"37468:9:111","nodeType":"VariableDeclaration","scope":75013,"src":"37460:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74972,"name":"uint256","nodeType":"ElementaryTypeName","src":"37460:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74984,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74975,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"37486:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":74976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37495:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"37486:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":74977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37504:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37486:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74979,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37485:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":74980,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"37511:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37485:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74982,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74969,"src":"37514:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74974,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75207,"src":"37480:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":74983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37480:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37460:56:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74985,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74973,"src":"38012:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74986,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74961,"src":"38024:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38012:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74988,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38011:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74989,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74963,"src":"38039:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":74990,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"38052:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74992,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"38057:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74993,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74973,"src":"38067:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38057:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74995,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38056:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74997,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38038:40:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74998,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"38082:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":74999,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"38086:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38095:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"38086:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38082:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75002,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38081:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38038:63:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75004,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38037:65:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38011:91:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75006,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38010:93:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75007,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72778,"src":"38106:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38010:103:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75009,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38009:105:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38130:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38009:124:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74967,"id":75012,"nodeType":"Return","src":"38002:131:111"}]},"documentation":{"id":74957,"nodeType":"StructuredDocumentation","src":"36554:406:111","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"36974:19:111","parameters":{"id":74964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74959,"mutability":"mutable","name":"_timePassed","nameLocation":"37002:11:111","nodeType":"VariableDeclaration","scope":75014,"src":"36994:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74958,"name":"uint256","nodeType":"ElementaryTypeName","src":"36994:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74961,"mutability":"mutable","name":"_lastConv","nameLocation":"37023:9:111","nodeType":"VariableDeclaration","scope":75014,"src":"37015:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74960,"name":"uint256","nodeType":"ElementaryTypeName","src":"37015:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74963,"mutability":"mutable","name":"_oldAmount","nameLocation":"37042:10:111","nodeType":"VariableDeclaration","scope":75014,"src":"37034:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74962,"name":"uint256","nodeType":"ElementaryTypeName","src":"37034:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36993:60:111"},"returnParameters":{"id":74967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75014,"src":"37099:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74965,"name":"uint256","nodeType":"ElementaryTypeName","src":"37099:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37098:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75107,"nodeType":"FunctionDefinition","src":"38721:1541:111","nodes":[],"body":{"id":75106,"nodeType":"Block","src":"38816:1446:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75022,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"38950:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":75023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38964:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38950:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75029,"nodeType":"IfStatement","src":"38946:66:111","trueBody":{"id":75028,"nodeType":"Block","src":"38967:45:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75025,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72581,"src":"38988:11:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38988:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75027,"nodeType":"RevertStatement","src":"38981:20:111"}]}},{"condition":{"arguments":[{"id":75031,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"39468:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75030,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"39452:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":75032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39452:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75037,"nodeType":"IfStatement","src":"39448:91:111","trueBody":{"id":75036,"nodeType":"Block","src":"39487:52:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75033,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72589,"src":"39508:18:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39508:20:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75035,"nodeType":"RevertStatement","src":"39501:27:111"}]}},{"assignments":[75039],"declarations":[{"constant":false,"id":75039,"mutability":"mutable","name":"denom","nameLocation":"39695:5:111","nodeType":"VariableDeclaration","scope":75106,"src":"39687:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75038,"name":"uint256","nodeType":"ElementaryTypeName","src":"39687:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75058,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75040,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"39704:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39713:8:111","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":72535,"src":"39704:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":75044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":75042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39724:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":75043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39729:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39724:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39704:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75046,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39703:29:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75047,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39735:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39703:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75049,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"39740:16:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":75052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":75050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39759:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":75051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39764:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39759:7:111","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"39740:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75054,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39739:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75055,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"39770:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39739:41:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39703:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39687:93:111"},{"expression":{"id":75093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75059,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"39790:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75060,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"39822:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39831:6:111","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":72537,"src":"39822:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":75062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39841:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39822:22:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75064,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39821:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75065,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39848:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39821:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75067,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39820:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75068,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75039,"src":"39855:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75069,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75039,"src":"39863:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39855:13:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75071,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39854:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39873:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39854:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75074,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39853:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39820:56:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75076,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39819:58:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75077,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39880:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39819:62:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75079,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39818:64:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75080,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"39886:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75081,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"39890:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39899:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"39890:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39886:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39885:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39818:87:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39817:89:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":75087,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75215,"src":"39925:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":75088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39925:28:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39817:136:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39803:160:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":75091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39967:2:111","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"39803:166:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39790:179:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75094,"nodeType":"ExpressionStatement","src":"39790:179:111"},{"expression":{"id":75104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75095,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"40159:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75096,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"40172:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75097,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"40185:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40194:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72541,"src":"40185:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40172:40:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":75101,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"40228:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40237:18:111","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":72541,"src":"40228:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"40172:83:111","trueExpression":{"id":75100,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75020,"src":"40215:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40159:96:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75105,"nodeType":"ExpressionStatement","src":"40159:96:111"}]},"documentation":{"id":75015,"nodeType":"StructuredDocumentation","src":"38146:570:111","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"38730:18:111","parameters":{"id":75018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75017,"mutability":"mutable","name":"_requestedAmount","nameLocation":"38757:16:111","nodeType":"VariableDeclaration","scope":75107,"src":"38749:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75016,"name":"uint256","nodeType":"ElementaryTypeName","src":"38749:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38748:26:111"},"returnParameters":{"id":75021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75020,"mutability":"mutable","name":"_threshold","nameLocation":"38804:10:111","nodeType":"VariableDeclaration","scope":75107,"src":"38796:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75019,"name":"uint256","nodeType":"ElementaryTypeName","src":"38796:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38795:20:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75142,"nodeType":"FunctionDefinition","src":"40523:269:111","nodes":[],"body":{"id":75141,"nodeType":"Block","src":"40601:191:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75118,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75110,"src":"40619:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75119,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"40625:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40619:13:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":75121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40634:42:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":75117,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40611:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40611:66:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75123,"nodeType":"ExpressionStatement","src":"40611:66:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75125,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75112,"src":"40695:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75126,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"40700:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40695:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":75128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40709:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":75124,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"40687:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40687:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75130,"nodeType":"ExpressionStatement","src":"40687:53:111"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75131,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75110,"src":"40759:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75132,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75112,"src":"40764:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40759:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75134,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40758:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75135,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72778,"src":"40770:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40758:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75137,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40757:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40782:3:111","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40757:28:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75116,"id":75140,"nodeType":"Return","src":"40750:35:111"}]},"documentation":{"id":75108,"nodeType":"StructuredDocumentation","src":"40268:250:111","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"40532:4:111","parameters":{"id":75113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75110,"mutability":"mutable","name":"_a","nameLocation":"40545:2:111","nodeType":"VariableDeclaration","scope":75142,"src":"40537:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75109,"name":"uint256","nodeType":"ElementaryTypeName","src":"40537:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75112,"mutability":"mutable","name":"_b","nameLocation":"40557:2:111","nodeType":"VariableDeclaration","scope":75142,"src":"40549:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75111,"name":"uint256","nodeType":"ElementaryTypeName","src":"40549:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40536:24:111"},"returnParameters":{"id":75116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75115,"mutability":"mutable","name":"_result","nameLocation":"40592:7:111","nodeType":"VariableDeclaration","scope":75142,"src":"40584:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75114,"name":"uint256","nodeType":"ElementaryTypeName","src":"40584:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40583:17:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75207,"nodeType":"FunctionDefinition","src":"41014:447:111","nodes":[],"body":{"id":75206,"nodeType":"Block","src":"41092:369:111","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75153,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75145,"src":"41110:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75154,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"41115:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41110:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":75156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41124:30:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":75152,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41102:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41102:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75158,"nodeType":"ExpressionStatement","src":"41102:53:111"},{"assignments":[75160],"declarations":[{"constant":false,"id":75160,"mutability":"mutable","name":"a","nameLocation":"41173:1:111","nodeType":"VariableDeclaration","scope":75206,"src":"41165:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75159,"name":"uint256","nodeType":"ElementaryTypeName","src":"41165:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75162,"initialValue":{"id":75161,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75145,"src":"41177:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41165:14:111"},{"assignments":[75164],"declarations":[{"constant":false,"id":75164,"mutability":"mutable","name":"b","nameLocation":"41197:1:111","nodeType":"VariableDeclaration","scope":75206,"src":"41189:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75163,"name":"uint256","nodeType":"ElementaryTypeName","src":"41189:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75166,"initialValue":{"id":75165,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"41201:2:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41189:14:111"},{"expression":{"id":75169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75167,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75150,"src":"41213:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75168,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72775,"src":"41223:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41213:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75170,"nodeType":"ExpressionStatement","src":"41213:17:111"},{"body":{"id":75204,"nodeType":"Block","src":"41254:201:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75174,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41272:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":75175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41276:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41272:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41281:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41272:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75202,"nodeType":"Block","src":"41362:83:111","statements":[{"expression":{"id":75196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75191,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75150,"src":"41380:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75193,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75150,"src":"41395:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75194,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41404:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75192,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75142,"src":"41390:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41390:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41380:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75197,"nodeType":"ExpressionStatement","src":"41380:26:111"},{"expression":{"id":75200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75198,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41424:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":75199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41429:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41424:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75201,"nodeType":"ExpressionStatement","src":"41424:6:111"}]},"id":75203,"nodeType":"IfStatement","src":"41268:177:111","trueBody":{"id":75190,"nodeType":"Block","src":"41284:72:111","statements":[{"expression":{"id":75184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75179,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41302:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75181,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41311:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75182,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75160,"src":"41314:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75180,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75142,"src":"41306:4:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41306:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41302:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75185,"nodeType":"ExpressionStatement","src":"41302:14:111"},{"expression":{"id":75188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75186,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41334:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":75187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41340:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41334:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75189,"nodeType":"ExpressionStatement","src":"41334:7:111"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75171,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"41247:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41251:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41247:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75205,"nodeType":"WhileStatement","src":"41240:215:111"}]},"documentation":{"id":75143,"nodeType":"StructuredDocumentation","src":"40798:211:111","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"41023:4:111","parameters":{"id":75148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75145,"mutability":"mutable","name":"_a","nameLocation":"41036:2:111","nodeType":"VariableDeclaration","scope":75207,"src":"41028:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75144,"name":"uint256","nodeType":"ElementaryTypeName","src":"41028:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75147,"mutability":"mutable","name":"_b","nameLocation":"41048:2:111","nodeType":"VariableDeclaration","scope":75207,"src":"41040:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75146,"name":"uint256","nodeType":"ElementaryTypeName","src":"41040:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41027:24:111"},"returnParameters":{"id":75151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75150,"mutability":"mutable","name":"_result","nameLocation":"41083:7:111","nodeType":"VariableDeclaration","scope":75207,"src":"41075:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75149,"name":"uint256","nodeType":"ElementaryTypeName","src":"41075:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41074:17:111"},"scope":75969,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75215,"nodeType":"FunctionDefinition","src":"41467:112:111","nodes":[],"body":{"id":75214,"nodeType":"Block","src":"41535:44:111","nodes":[],"statements":[{"expression":{"id":75212,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72810,"src":"41552:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75211,"id":75213,"nodeType":"Return","src":"41545:27:111"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"41476:26:111","parameters":{"id":75208,"nodeType":"ParameterList","parameters":[],"src":"41502:2:111"},"returnParameters":{"id":75211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75215,"src":"41526:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75209,"name":"uint256","nodeType":"ElementaryTypeName","src":"41526:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41525:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75256,"nodeType":"FunctionDefinition","src":"41769:396:111","nodes":[],"body":{"id":75255,"nodeType":"Block","src":"41877:288:111","nodes":[],"statements":[{"assignments":[75225,75227],"declarations":[{"constant":false,"id":75225,"mutability":"mutable","name":"conviction","nameLocation":"41896:10:111","nodeType":"VariableDeclaration","scope":75255,"src":"41888:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75224,"name":"uint256","nodeType":"ElementaryTypeName","src":"41888:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75227,"mutability":"mutable","name":"blockNumber","nameLocation":"41916:11:111","nodeType":"VariableDeclaration","scope":75255,"src":"41908:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75226,"name":"uint256","nodeType":"ElementaryTypeName","src":"41908:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75232,"initialValue":{"arguments":[{"id":75229,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75219,"src":"41965:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":75230,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75221,"src":"41976:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75228,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75303,"src":"41931:33:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":75231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41931:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"41887:100:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75233,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75225,"src":"42001:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42015:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42001:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75236,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"42020:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42035:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42020:16:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"42001:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75242,"nodeType":"IfStatement","src":"41997:72:111","trueBody":{"id":75241,"nodeType":"Block","src":"42038:31:111","statements":[{"functionReturnParameters":75223,"id":75240,"nodeType":"Return","src":"42052:7:111"}]}},{"expression":{"id":75247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75243,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75219,"src":"42078:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42088:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42078:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75246,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"42100:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42078:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75248,"nodeType":"ExpressionStatement","src":"42078:33:111"},{"expression":{"id":75253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75249,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75219,"src":"42121:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"42131:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"42121:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75252,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75225,"src":"42148:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42121:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75254,"nodeType":"ExpressionStatement","src":"42121:37:111"}]},"documentation":{"id":75216,"nodeType":"StructuredDocumentation","src":"41585:179:111","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"41778:26:111","parameters":{"id":75222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75219,"mutability":"mutable","name":"_proposal","nameLocation":"41837:9:111","nodeType":"VariableDeclaration","scope":75256,"src":"41805:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75218,"nodeType":"UserDefinedTypeName","pathNode":{"id":75217,"name":"StrategyStruct.Proposal","nameLocations":["41805:14:111","41820:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"41805:23:111"},"referencedDeclaration":72511,"src":"41805:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75221,"mutability":"mutable","name":"_oldStaked","nameLocation":"41856:10:111","nodeType":"VariableDeclaration","scope":75256,"src":"41848:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75220,"name":"uint256","nodeType":"ElementaryTypeName","src":"41848:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41804:63:111"},"returnParameters":{"id":75223,"nodeType":"ParameterList","parameters":[],"src":"41877:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75303,"nodeType":"FunctionDefinition","src":"42171:719:111","nodes":[],"body":{"id":75302,"nodeType":"Block","src":"42369:521:111","nodes":[],"statements":[{"expression":{"id":75271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75268,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42379:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75269,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"42393:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42399:6:111","memberName":"number","nodeType":"MemberAccess","src":"42393:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42379:26:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75272,"nodeType":"ExpressionStatement","src":"42379:26:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75274,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42422:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42432:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42422:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75276,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42445:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42422:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75273,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"42415:6:111","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":75278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42415:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75279,"nodeType":"ExpressionStatement","src":"42415:42:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75280,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42471:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42481:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42471:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75282,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42494:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42471:34:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75289,"nodeType":"IfStatement","src":"42467:173:111","trueBody":{"id":75288,"nodeType":"Block","src":"42507:133:111","statements":[{"expression":{"components":[{"hexValue":"30","id":75284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42595:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42598:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":75286,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"42594:6:111","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":75267,"id":75287,"nodeType":"Return","src":"42587:13:111"}]}},{"expression":{"id":75300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75290,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75264,"src":"42693:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75292,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"42739:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75293,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42753:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42763:9:111","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":72495,"src":"42753:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42739:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75296,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75259,"src":"42825:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42835:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"42825:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75298,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"42863:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75291,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"42706:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":75299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42706:177:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42693:190:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75301,"nodeType":"ExpressionStatement","src":"42693:190:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"42180:33:111","parameters":{"id":75262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75259,"mutability":"mutable","name":"_proposal","nameLocation":"42246:9:111","nodeType":"VariableDeclaration","scope":75303,"src":"42214:41:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75258,"nodeType":"UserDefinedTypeName","pathNode":{"id":75257,"name":"StrategyStruct.Proposal","nameLocations":["42214:14:111","42229:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"42214:23:111"},"referencedDeclaration":72511,"src":"42214:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":75261,"mutability":"mutable","name":"_oldStaked","nameLocation":"42265:10:111","nodeType":"VariableDeclaration","scope":75303,"src":"42257:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75260,"name":"uint256","nodeType":"ElementaryTypeName","src":"42257:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42213:63:111"},"returnParameters":{"id":75267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75264,"mutability":"mutable","name":"conviction","nameLocation":"42332:10:111","nodeType":"VariableDeclaration","scope":75303,"src":"42324:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75263,"name":"uint256","nodeType":"ElementaryTypeName","src":"42324:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75266,"mutability":"mutable","name":"blockNumber","nameLocation":"42352:11:111","nodeType":"VariableDeclaration","scope":75303,"src":"42344:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75265,"name":"uint256","nodeType":"ElementaryTypeName","src":"42344:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42323:41:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75414,"nodeType":"FunctionDefinition","src":"42896:1464:111","nodes":[],"body":{"id":75413,"nodeType":"Block","src":"43051:1309:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75312,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43078:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43096:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"43078:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43120:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43112:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75314,"name":"address","nodeType":"ElementaryTypeName","src":"43112:7:111","typeDescriptions":{}}},"id":75317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43112:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43078:44:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75321,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43134:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43152:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43134:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43126:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75319,"name":"address","nodeType":"ElementaryTypeName","src":"43126:7:111","typeDescriptions":{}}},"id":75323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43126:37:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43175:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43167:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75324,"name":"address","nodeType":"ElementaryTypeName","src":"43167:7:111","typeDescriptions":{}}},"id":75327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43167:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43126:51:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43078:99:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75330,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43219:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43237:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"43219:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75332,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43253:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43270:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"43253:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"43219:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},"id":75339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75335,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43310:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43328:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43310:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75337,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43342:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43359:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43342:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"src":"43310:59:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:150:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75341,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43397:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43415:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"43397:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75343,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43444:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43461:25:111","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72526,"src":"43444:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43397:89:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:267:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75347,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43514:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43532:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"43514:44:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75349,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43562:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43579:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"43562:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43514:91:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:386:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75353,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43633:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43651:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"43633:31:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75355,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43668:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43685:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"43668:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43633:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:479:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75359,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43726:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43744:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72532,"src":"43726:38:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":75361,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"43768:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75362,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43785:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72532,"src":"43768:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43726:79:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43219:586:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":75365,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43197:626:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43078:745:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75403,"nodeType":"IfStatement","src":"43061:1200:111","trueBody":{"id":75402,"nodeType":"Block","src":"43834:427:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":75369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75367,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72803,"src":"43852:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43868:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43852:17:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75374,"nodeType":"IfStatement","src":"43848:110:111","trueBody":{"id":75373,"nodeType":"Block","src":"43871:87:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75370,"name":"ArbitrationConfigCannotBeChangedDuringDispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72671,"src":"43896:45:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43896:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75372,"nodeType":"RevertStatement","src":"43889:54:111"}]}},{"expression":{"arguments":[{"expression":{"id":75380,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"44014:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44032:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"44014:30:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":75375,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"43972:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43990:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"43972:28:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"id":75379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44001:12:111","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":79665,"src":"43972:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":75382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43972:73:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75383,"nodeType":"ExpressionStatement","src":"43972:73:111"},{"eventCall":{"arguments":[{"arguments":[{"id":75387,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"44111:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75969","typeString":"contract CVStrategyV0_0"}],"id":75386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44103:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75385,"name":"address","nodeType":"ElementaryTypeName","src":"44103:7:111","typeDescriptions":{}}},"id":75388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44103:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":75391,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"44126:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44143:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"44126:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44118:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75389,"name":"address","nodeType":"ElementaryTypeName","src":"44118:7:111","typeDescriptions":{}}},"id":75393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44118:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75394,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"44156:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44173:12:111","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"44156:29:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":75384,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72769,"src":"44064:21:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":75396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44064:135:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75397,"nodeType":"EmitStatement","src":"44059:140:111"},{"expression":{"id":75400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75398,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"44214:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75399,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"44233:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"44214:36:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75401,"nodeType":"ExpressionStatement","src":"44214:36:111"}]}},{"expression":{"id":75406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75404,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"44271:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75405,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75309,"src":"44282:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"44271:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75407,"nodeType":"ExpressionStatement","src":"44271:20:111"},{"eventCall":{"arguments":[{"id":75409,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75309,"src":"44324:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"id":75410,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75306,"src":"44335:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":75408,"name":"PoolParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"44306:17:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$72542_memory_ptr_$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory,struct StrategyStruct.ArbitrableConfig memory)"}},"id":75411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44306:47:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75412,"nodeType":"EmitStatement","src":"44301:52:111"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"42905:14:111","parameters":{"id":75310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75306,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"42968:17:111","nodeType":"VariableDeclaration","scope":75414,"src":"42929:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75305,"nodeType":"UserDefinedTypeName","pathNode":{"id":75304,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["42929:14:111","42944:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"42929:31:111"},"referencedDeclaration":72533,"src":"42929:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75309,"mutability":"mutable","name":"_cvParams","nameLocation":"43026:9:111","nodeType":"VariableDeclaration","scope":75414,"src":"42995:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75308,"nodeType":"UserDefinedTypeName","pathNode":{"id":75307,"name":"StrategyStruct.CVParams","nameLocations":["42995:14:111","43010:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"42995:23:111"},"referencedDeclaration":72542,"src":"42995:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"42919:122:111"},"returnParameters":{"id":75311,"nodeType":"ParameterList","parameters":[],"src":"43051:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75450,"nodeType":"FunctionDefinition","src":"44366:631:111","nodes":[],"body":{"id":75449,"nodeType":"Block","src":"44445:552:111","nodes":[],"statements":[{"assignments":[75425],"declarations":[{"constant":false,"id":75425,"mutability":"mutable","name":"proposal","nameLocation":"44487:8:111","nodeType":"VariableDeclaration","scope":75449,"src":"44455:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75424,"nodeType":"UserDefinedTypeName","pathNode":{"id":75423,"name":"StrategyStruct.Proposal","nameLocations":["44455:14:111","44470:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"44455:23:111"},"referencedDeclaration":72511,"src":"44455:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75429,"initialValue":{"baseExpression":{"id":75426,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"44498:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75428,"indexExpression":{"id":75427,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75416,"src":"44508:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44498:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"44455:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44534:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44543:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"44534:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75432,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75416,"src":"44557:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44534:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75439,"nodeType":"IfStatement","src":"44530:100:111","trueBody":{"id":75438,"nodeType":"Block","src":"44569:61:111","statements":[{"errorCall":{"arguments":[{"id":75435,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75416,"src":"44608:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75434,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"44590:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44590:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75437,"nodeType":"RevertStatement","src":"44583:36:111"}]}},{"expression":{"arguments":[{"id":75441,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44918:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":75442,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44928:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44937:12:111","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":72485,"src":"44928:21:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75440,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"44891:26:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$72511_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":75444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44891:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75445,"nodeType":"ExpressionStatement","src":"44891:59:111"},{"expression":{"expression":{"id":75446,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75425,"src":"44967:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75447,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44976:14:111","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":72487,"src":"44967:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75420,"id":75448,"nodeType":"Return","src":"44960:30:111"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"44375:24:111","parameters":{"id":75417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75416,"mutability":"mutable","name":"proposalId","nameLocation":"44408:10:111","nodeType":"VariableDeclaration","scope":75450,"src":"44400:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75415,"name":"uint256","nodeType":"ElementaryTypeName","src":"44400:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44399:20:111"},"returnParameters":{"id":75420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75419,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75450,"src":"44436:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75418,"name":"uint256","nodeType":"ElementaryTypeName","src":"44436:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44435:9:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75470,"nodeType":"FunctionDefinition","src":"45003:133:111","nodes":[],"body":{"id":75469,"nodeType":"Block","src":"45075:61:111","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75457,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"45094:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75458,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"45103:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45094:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75460,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45093:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75461,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72772,"src":"45109:1:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75462,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72813,"src":"45113:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":75463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45122:5:111","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":72539,"src":"45113:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45109:18:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75465,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45108:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45093:35:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75467,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45092:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75456,"id":75468,"nodeType":"Return","src":"45085:44:111"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"45012:16:111","parameters":{"id":75453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75452,"mutability":"mutable","name":"amount","nameLocation":"45037:6:111","nodeType":"VariableDeclaration","scope":75470,"src":"45029:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75451,"name":"uint256","nodeType":"ElementaryTypeName","src":"45029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45028:16:111"},"returnParameters":{"id":75456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75470,"src":"45066:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75454,"name":"uint256","nodeType":"ElementaryTypeName","src":"45066:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45065:9:111"},"scope":75969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75490,"nodeType":"FunctionDefinition","src":"45142:223:111","nodes":[],"body":{"id":75489,"nodeType":"Block","src":"45237:128:111","nodes":[],"statements":[{"expression":{"id":75483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75479,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"45247:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75481,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75472,"src":"45289:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75480,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"45267:21:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78776_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":75482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45267:41:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"src":"45247:61:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":75484,"nodeType":"ExpressionStatement","src":"45247:61:111"},{"eventCall":{"arguments":[{"id":75486,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75472,"src":"45339:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75485,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72740,"src":"45323:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45323:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75488,"nodeType":"EmitStatement","src":"45318:40:111"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":75475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"45225:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45229:6:111","memberName":"sender","nodeType":"MemberAccess","src":"45225:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":75477,"kind":"modifierInvocation","modifierName":{"id":75474,"name":"onlyPoolManager","nameLocations":["45209:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":71837,"src":"45209:15:111"},"nodeType":"ModifierInvocation","src":"45209:27:111"}],"name":"setRegistryCommunity","nameLocation":"45151:20:111","parameters":{"id":75473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75472,"mutability":"mutable","name":"_registryCommunity","nameLocation":"45180:18:111","nodeType":"VariableDeclaration","scope":75490,"src":"45172:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75471,"name":"address","nodeType":"ElementaryTypeName","src":"45172:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45171:28:111"},"returnParameters":{"id":75478,"nodeType":"ParameterList","parameters":[],"src":"45237:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75509,"nodeType":"FunctionDefinition","src":"45371:181:111","nodes":[],"body":{"id":75508,"nodeType":"Block","src":"45426:126:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75495,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73092,"src":"45436:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45436:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75497,"nodeType":"ExpressionStatement","src":"45436:17:111"},{"expression":{"arguments":[{"id":75499,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75492,"src":"45482:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75498,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"45463:18:111","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":75500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45463:32:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75501,"nodeType":"ExpressionStatement","src":"45463:32:111"},{"expression":{"id":75506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75502,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72834,"src":"45505:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75504,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75492,"src":"45532:12:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75503,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"45519:12:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$76330_$","typeString":"type(contract ISybilScorer)"}},"id":75505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45519:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"src":"45505:40:111","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$76330","typeString":"contract ISybilScorer"}},"id":75507,"nodeType":"ExpressionStatement","src":"45505:40:111"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"45380:14:111","parameters":{"id":75493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75492,"mutability":"mutable","name":"_sybilScorer","nameLocation":"45403:12:111","nodeType":"VariableDeclaration","scope":75509,"src":"45395:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75491,"name":"address","nodeType":"ElementaryTypeName","src":"45395:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45394:22:111"},"returnParameters":{"id":75494,"nodeType":"ParameterList","parameters":[],"src":"45426:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75527,"nodeType":"FunctionDefinition","src":"45558:242:111","nodes":[],"body":{"id":75526,"nodeType":"Block","src":"45712:88:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75518,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73092,"src":"45722:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45722:17:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75520,"nodeType":"ExpressionStatement","src":"45722:17:111"},{"expression":{"arguments":[{"id":75522,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75512,"src":"45764:17:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":75523,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75515,"src":"45783:9:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":75521,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75414,"src":"45749:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$72533_memory_ptr_$_t_struct$_CVParams_$72542_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":75524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45749:44:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75525,"nodeType":"ExpressionStatement","src":"45749:44:111"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"45567:13:111","parameters":{"id":75516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75512,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"45629:17:111","nodeType":"VariableDeclaration","scope":75527,"src":"45590:56:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75511,"nodeType":"UserDefinedTypeName","pathNode":{"id":75510,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["45590:14:111","45605:16:111"],"nodeType":"IdentifierPath","referencedDeclaration":72533,"src":"45590:31:111"},"referencedDeclaration":72533,"src":"45590:31:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":75515,"mutability":"mutable","name":"_cvParams","nameLocation":"45687:9:111","nodeType":"VariableDeclaration","scope":75527,"src":"45656:40:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":75514,"nodeType":"UserDefinedTypeName","pathNode":{"id":75513,"name":"StrategyStruct.CVParams","nameLocations":["45656:14:111","45671:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72542,"src":"45656:23:111"},"referencedDeclaration":72542,"src":"45656:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$72542_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"45580:122:111"},"returnParameters":{"id":75517,"nodeType":"ParameterList","parameters":[],"src":"45712:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75710,"nodeType":"FunctionDefinition","src":"45806:2270:111","nodes":[],"body":{"id":75709,"nodeType":"Block","src":"45976:2100:111","nodes":[],"statements":[{"assignments":[75542],"declarations":[{"constant":false,"id":75542,"mutability":"mutable","name":"proposal","nameLocation":"46018:8:111","nodeType":"VariableDeclaration","scope":75709,"src":"45986:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75541,"nodeType":"UserDefinedTypeName","pathNode":{"id":75540,"name":"StrategyStruct.Proposal","nameLocations":["45986:14:111","46001:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"45986:23:111"},"referencedDeclaration":72511,"src":"45986:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75546,"initialValue":{"baseExpression":{"id":75543,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"46029:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75545,"indexExpression":{"id":75544,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46039:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46029:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"45986:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":75549,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"46073:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46090:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"46073:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46065:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75547,"name":"address","nodeType":"ElementaryTypeName","src":"46065:7:111","typeDescriptions":{}}},"id":75551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46065:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46113:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46105:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75552,"name":"address","nodeType":"ElementaryTypeName","src":"46105:7:111","typeDescriptions":{}}},"id":75555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46105:10:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46065:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75561,"nodeType":"IfStatement","src":"46061:112:111","trueBody":{"id":75560,"nodeType":"Block","src":"46117:56:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75557,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72661,"src":"46138:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46138:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75559,"nodeType":"RevertStatement","src":"46131:31:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75562,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46350:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75563,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46359:10:111","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":72481,"src":"46350:19:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75564,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46373:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46350:33:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75571,"nodeType":"IfStatement","src":"46346:100:111","trueBody":{"id":75570,"nodeType":"Block","src":"46385:61:111","statements":[{"errorCall":{"arguments":[{"id":75567,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46424:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75566,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"46406:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46406:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75569,"nodeType":"RevertStatement","src":"46399:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"id":75577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75572,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46459:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46468:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"46459:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75574,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"46486:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46501:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"46486:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46516:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"46486:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"46459:63:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75583,"nodeType":"IfStatement","src":"46455:130:111","trueBody":{"id":75582,"nodeType":"Block","src":"46524:61:111","statements":[{"errorCall":{"arguments":[{"id":75579,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"46563:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75578,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72621,"src":"46545:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46545:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75581,"nodeType":"RevertStatement","src":"46538:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75584,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46598:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46602:5:111","memberName":"value","nodeType":"MemberAccess","src":"46598:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75586,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"46610:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75587,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46627:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"46610:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46598:55:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75597,"nodeType":"IfStatement","src":"46594:171:111","trueBody":{"id":75596,"nodeType":"Block","src":"46655:110:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":75590,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"46699:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46703:5:111","memberName":"value","nodeType":"MemberAccess","src":"46699:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75592,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"46710:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46727:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"46710:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75589,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72653,"src":"46676:22:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46676:78:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75595,"nodeType":"RevertStatement","src":"46669:85:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75598,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46884:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46893:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"46884:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46918:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"46884:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75602,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"46939:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46948:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"46939:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75604,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"46972:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46939:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75606,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"46995:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47001:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"46995:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46939:71:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46884:126:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75622,"nodeType":"IfStatement","src":"46867:325:111","trueBody":{"id":75621,"nodeType":"Block","src":"47021:171:111","statements":[{"errorCall":{"arguments":[{"id":75611,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47084:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75612,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47096:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47105:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"47096:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75614,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"47129:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47096:53:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75616,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47152:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47158:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47152:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47096:71:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75610,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72669,"src":"47042:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":75619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47042:139:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75620,"nodeType":"RevertStatement","src":"47035:146:111"}]}},{"assignments":[75624],"declarations":[{"constant":false,"id":75624,"mutability":"mutable","name":"arbitrationFee","nameLocation":"47210:14:111","nodeType":"VariableDeclaration","scope":75709,"src":"47202:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75623,"name":"uint256","nodeType":"ElementaryTypeName","src":"47202:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75630,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75625,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47227:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47231:5:111","memberName":"value","nodeType":"MemberAccess","src":"47227:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":75627,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47239:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47256:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"47239:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47227:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47202:80:111"},{"expression":{"arguments":[{"id":75637,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47379:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75638,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47391:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47395:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47391:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75631,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"47293:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47309:17:111","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":79678,"src":"47293:33:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":75636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":75634,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47334:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47351:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"47334:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47293:85:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":75640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47293:109:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75641,"nodeType":"ExpressionStatement","src":"47293:109:111"},{"expression":{"id":75651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75642,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47413:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75648,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72787,"src":"47490:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75649,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"47506:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":75643,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47425:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75644,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47442:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"47425:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},"id":75645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47453:13:111","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":79613,"src":"47425:41:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":75646,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75624,"src":"47474:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"47425:64:111","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":75650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47425:92:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47413:104:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75652,"nodeType":"ExpressionStatement","src":"47413:104:111"},{"expression":{"id":75659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75653,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47528:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47537:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"47528:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75656,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"47554:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47569:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"47554:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47584:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"47554:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"47528:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75660,"nodeType":"ExpressionStatement","src":"47528:64:111"},{"expression":{"id":75667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75661,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47602:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47611:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"47602:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47623:9:111","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":72472,"src":"47602:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75666,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47635:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47602:42:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75668,"nodeType":"ExpressionStatement","src":"47602:42:111"},{"expression":{"id":75676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75669,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47654:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47663:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"47654:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47675:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72474,"src":"47654:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75674,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47694:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47700:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"47694:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47654:55:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75677,"nodeType":"ExpressionStatement","src":"47654:55:111"},{"expression":{"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75678,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"47719:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47728:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"47719:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"47740:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"47719:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75683,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47753:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47757:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47753:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"47719:44:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75686,"nodeType":"ExpressionStatement","src":"47719:44:111"},{"expression":{"id":75691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75687,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72852,"src":"47773:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75689,"indexExpression":{"id":75688,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47795:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"47773:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75690,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47808:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47773:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75692,"nodeType":"ExpressionStatement","src":"47773:45:111"},{"expression":{"id":75694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"47829:14:111","subExpression":{"id":75693,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72803,"src":"47829:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75695,"nodeType":"ExpressionStatement","src":"47829:14:111"},{"eventCall":{"arguments":[{"expression":{"id":75697,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"47889:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47906:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"47889:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},{"id":75699,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"47930:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75700,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75536,"src":"47954:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47977:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47981:6:111","memberName":"sender","nodeType":"MemberAccess","src":"47977:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75703,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75531,"src":"48001:7:111","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":75704,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75542,"src":"48022:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48031:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"48022:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48043:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72474,"src":"48022:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75696,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72761,"src":"47859:16:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79666_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":75707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47859:210:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75708,"nodeType":"EmitStatement","src":"47854:215:111"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"45815:15:111","parameters":{"id":75534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75529,"mutability":"mutable","name":"proposalId","nameLocation":"45839:10:111","nodeType":"VariableDeclaration","scope":75710,"src":"45831:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75528,"name":"uint256","nodeType":"ElementaryTypeName","src":"45831:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75531,"mutability":"mutable","name":"context","nameLocation":"45867:7:111","nodeType":"VariableDeclaration","scope":75710,"src":"45851:23:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":75530,"name":"string","nodeType":"ElementaryTypeName","src":"45851:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":75533,"mutability":"mutable","name":"_extraData","nameLocation":"45891:10:111","nodeType":"VariableDeclaration","scope":75710,"src":"45876:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":75532,"name":"bytes","nodeType":"ElementaryTypeName","src":"45876:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45830:72:111"},"returnParameters":{"id":75537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75536,"mutability":"mutable","name":"disputeId","nameLocation":"45961:9:111","nodeType":"VariableDeclaration","scope":75710,"src":"45953:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75535,"name":"uint256","nodeType":"ElementaryTypeName","src":"45953:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45952:19:111"},"scope":75969,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75955,"nodeType":"FunctionDefinition","src":"48082:2798:111","nodes":[],"body":{"id":75954,"nodeType":"Block","src":"48151:2729:111","nodes":[],"statements":[{"assignments":[75719],"declarations":[{"constant":false,"id":75719,"mutability":"mutable","name":"proposalId","nameLocation":"48169:10:111","nodeType":"VariableDeclaration","scope":75954,"src":"48161:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75718,"name":"uint256","nodeType":"ElementaryTypeName","src":"48161:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75723,"initialValue":{"baseExpression":{"id":75720,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72852,"src":"48182:21:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75722,"indexExpression":{"id":75721,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75712,"src":"48204:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48182:33:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"48161:54:111"},{"assignments":[75728],"declarations":[{"constant":false,"id":75728,"mutability":"mutable","name":"proposal","nameLocation":"48257:8:111","nodeType":"VariableDeclaration","scope":75954,"src":"48225:40:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75727,"nodeType":"UserDefinedTypeName","pathNode":{"id":75726,"name":"StrategyStruct.Proposal","nameLocations":["48225:14:111","48240:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":72511,"src":"48225:23:111"},"referencedDeclaration":72511,"src":"48225:23:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75732,"initialValue":{"baseExpression":{"id":75729,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72839,"src":"48268:9:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$72511_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75731,"indexExpression":{"id":75730,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48278:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48268:21:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48225:64:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75733,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48304:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48318:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48304:15:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75741,"nodeType":"IfStatement","src":"48300:82:111","trueBody":{"id":75740,"nodeType":"Block","src":"48321:61:111","statements":[{"errorCall":{"arguments":[{"id":75737,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48360:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75736,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72625,"src":"48342:17:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48342:29:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75739,"nodeType":"RevertStatement","src":"48335:36:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"},"id":75747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75742,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"48395:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48404:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"48395:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":75744,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"48422:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48437:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"48422:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48452:8:111","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":72468,"src":"48422:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"48395:65:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75753,"nodeType":"IfStatement","src":"48391:134:111","trueBody":{"id":75752,"nodeType":"Block","src":"48462:63:111","statements":[{"errorCall":{"arguments":[{"id":75749,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"48503:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75748,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72659,"src":"48483:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":75750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48483:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75751,"nodeType":"RevertStatement","src":"48476:38:111"}]}},{"assignments":[75755],"declarations":[{"constant":false,"id":75755,"mutability":"mutable","name":"isTimeOut","nameLocation":"48540:9:111","nodeType":"VariableDeclaration","scope":75954,"src":"48535:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75754,"name":"bool","nodeType":"ElementaryTypeName","src":"48535:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75765,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75756,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"48552:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48558:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"48552:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75758,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"48570:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75759,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48579:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"48570:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75760,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48591:16:111","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":72474,"src":"48570:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":75761,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48610:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48627:20:111","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":72532,"src":"48610:37:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48570:77:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48552:95:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"48535:112:111"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"48662:10:111","subExpression":{"id":75766,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75755,"src":"48663:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75768,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48676:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48680:6:111","memberName":"sender","nodeType":"MemberAccess","src":"48676:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":75772,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48698:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48715:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"48698:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}],"id":75771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48690:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75770,"name":"address","nodeType":"ElementaryTypeName","src":"48690:7:111","typeDescriptions":{}}},"id":75774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48690:36:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"48676:50:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48662:64:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75781,"nodeType":"IfStatement","src":"48658:118:111","trueBody":{"id":75780,"nodeType":"Block","src":"48728:48:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75777,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72655,"src":"48749:14:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48749:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75779,"nodeType":"RevertStatement","src":"48742:23:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75782,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75755,"src":"48790:9:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75783,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"48803:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48814:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48803:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48790:25:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75847,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"49578:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49589:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"49578:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75876,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"49950:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49961:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49950:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75934,"nodeType":"IfStatement","src":"49946:774:111","trueBody":{"id":75933,"nodeType":"Block","src":"49964:756:111","statements":[{"expression":{"id":75885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49978:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49987:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49978:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75882,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"50004:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50019:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"50004:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50034:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72469,"src":"50004:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49978:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75886,"nodeType":"ExpressionStatement","src":"49978:64:111"},{"expression":{"arguments":[{"id":75890,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"50108:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75891,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50120:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50129:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50120:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75893,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50141:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"50120:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75894,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"50153:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50170:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"50153:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75887,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"50056:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50072:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"50056:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50056:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75897,"nodeType":"ExpressionStatement","src":"50056:154:111"},{"expression":{"arguments":[{"id":75901,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"50279:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75902,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50307:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50316:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"50307:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75906,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"50351:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":75907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50369:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77107,"src":"50351:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79792_$","typeString":"function () view external returns (contract ISafe)"}},"id":75908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50351:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":75905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50343:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75904,"name":"address","nodeType":"ElementaryTypeName","src":"50343:7:111","typeDescriptions":{}}},"id":75909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50343:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75910,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50401:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50410:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50401:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50422:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"50401:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50449:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50401:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75898,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"50224:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50240:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79698,"src":"50224:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50224:240:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75916,"nodeType":"ExpressionStatement","src":"50224:240:111"},{"expression":{"arguments":[{"id":75920,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"50533:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75921,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50561:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50570:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"50561:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75923,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50597:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50606:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50597:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50618:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"50597:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75926,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50646:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50655:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"50646:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75928,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50667:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"50646:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":75929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50694:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"50646:49:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75917,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"50478:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50494:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79698,"src":"50478:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50478:231:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75932,"nodeType":"ExpressionStatement","src":"50478:231:111"}]}},"id":75935,"nodeType":"IfStatement","src":"49574:1146:111","trueBody":{"id":75875,"nodeType":"Block","src":"49592:348:111","statements":[{"expression":{"id":75856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75850,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49606:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49615:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49606:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75853,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"49632:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49647:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49632:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49662:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"49632:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49606:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75857,"nodeType":"ExpressionStatement","src":"49606:62:111"},{"expression":{"arguments":[{"id":75861,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"49737:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75862,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49765:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75863,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49774:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"49765:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49786:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"49765:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75867,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72828,"src":"49822:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"id":75868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49840:11:111","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":77107,"src":"49822:29:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$79792_$","typeString":"function () view external returns (contract ISafe)"}},"id":75869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49822:31:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":75866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49814:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75865,"name":"address","nodeType":"ElementaryTypeName","src":"49814:7:111","typeDescriptions":{}}},"id":75870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49814:40:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75871,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"49872:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75872,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49889:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"49872:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75858,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"49682:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49698:21:111","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":79698,"src":"49682:37:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":75873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49682:247:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75874,"nodeType":"ExpressionStatement","src":"49682:247:111"}]}},"id":75936,"nodeType":"IfStatement","src":"48786:1934:111","trueBody":{"id":75846,"nodeType":"Block","src":"48817:751:111","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75787,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48835:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75788,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48852:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"48835:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48869:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48835:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75795,"nodeType":"IfStatement","src":"48831:102:111","trueBody":{"id":75794,"nodeType":"Block","src":"48872:61:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75791,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72663,"src":"48897:19:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48897:21:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75793,"nodeType":"RevertStatement","src":"48890:28:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75796,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"48950:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48967:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"48950:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48984:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"48950:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75809,"nodeType":"IfStatement","src":"48946:136:111","trueBody":{"id":75808,"nodeType":"Block","src":"48987:95:111","statements":[{"expression":{"id":75806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75800,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49005:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49014:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49005:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75803,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"49031:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49046:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49031:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49061:6:111","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":72464,"src":"49031:36:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49005:62:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75807,"nodeType":"ExpressionStatement","src":"49005:62:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75810,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"49099:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49116:13:111","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":72530,"src":"49099:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":75812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49133:1:111","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"49099:35:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75823,"nodeType":"IfStatement","src":"49095:138:111","trueBody":{"id":75822,"nodeType":"Block","src":"49136:97:111","statements":[{"expression":{"id":75820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75814,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49154:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49163:14:111","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":72498,"src":"49154:23:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75817,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"49180:14:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":75818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49195:14:111","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":72470,"src":"49180:29:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$72470_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49210:8:111","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":72469,"src":"49180:38:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49154:64:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$72470","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75821,"nodeType":"ExpressionStatement","src":"49154:64:111"}]}},{"expression":{"arguments":[{"id":75827,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"49298:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":75828,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49310:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49319:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"49310:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49331:10:111","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":72476,"src":"49310:31:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":75831,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"49343:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49360:26:111","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":72528,"src":"49343:43:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75824,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"49246:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49262:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"49246:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49246:154:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75834,"nodeType":"ExpressionStatement","src":"49246:154:111"},{"expression":{"arguments":[{"id":75838,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75719,"src":"49466:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75839,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49478:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75840,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49487:9:111","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":72491,"src":"49478:18:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":75841,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"49498:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49507:11:111","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":72508,"src":"49498:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$72479_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":75843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49519:24:111","memberName":"submitterCollateralVault","nodeType":"MemberAccess","referencedDeclaration":72478,"src":"49498:45:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75835,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72831,"src":"49414:15:111","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$79699","typeString":"contract ICollateralVault"}},"id":75837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49430:18:111","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":79687,"src":"49414:34:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":75844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49414:143:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75845,"nodeType":"ExpressionStatement","src":"49414:143:111"}]}},{"expression":{"id":75938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"50730:14:111","subExpression":{"id":75937,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72803,"src":"50730:12:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":75939,"nodeType":"ExpressionStatement","src":"50730:14:111"},{"expression":{"id":75945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75940,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75728,"src":"50754:8:111","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$72511_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50763:21:111","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":72510,"src":"50754:30:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75943,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50787:5:111","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50793:9:111","memberName":"timestamp","nodeType":"MemberAccess","src":"50787:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50754:48:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75946,"nodeType":"ExpressionStatement","src":"50754:48:111"},{"eventCall":{"arguments":[{"expression":{"id":75948,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72825,"src":"50824:16:111","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$72533_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":75949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50841:10:111","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":72522,"src":"50824:27:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"}},{"id":75950,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75712,"src":"50853:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75951,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75714,"src":"50865:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$79666","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75947,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79553,"src":"50817:6:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$79666_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":75952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50817:56:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75953,"nodeType":"EmitStatement","src":"50812:61:111"}]},"baseFunctions":[79561],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"48091:4:111","overrides":{"id":75716,"nodeType":"OverrideSpecifier","overrides":[],"src":"48142:8:111"},"parameters":{"id":75715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75712,"mutability":"mutable","name":"_disputeID","nameLocation":"48104:10:111","nodeType":"VariableDeclaration","scope":75955,"src":"48096:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75711,"name":"uint256","nodeType":"ElementaryTypeName","src":"48096:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75714,"mutability":"mutable","name":"_ruling","nameLocation":"48124:7:111","nodeType":"VariableDeclaration","scope":75955,"src":"48116:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75713,"name":"uint256","nodeType":"ElementaryTypeName","src":"48116:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48095:37:111"},"returnParameters":{"id":75717,"nodeType":"ParameterList","parameters":[],"src":"48151:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75964,"nodeType":"FunctionDefinition","src":"50886:66:111","nodes":[],"body":{"id":75963,"nodeType":"Block","src":"50950:2:111","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":75961,"kind":"modifierInvocation","modifierName":{"id":75960,"name":"onlyOwner","nameLocations":["50940:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"50940:9:111"},"nodeType":"ModifierInvocation","src":"50940:9:111"}],"name":"_authorizeUpgrade","nameLocation":"50895:17:111","overrides":{"id":75959,"nodeType":"OverrideSpecifier","overrides":[],"src":"50931:8:111"},"parameters":{"id":75958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75964,"src":"50913:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75956,"name":"address","nodeType":"ElementaryTypeName","src":"50913:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50912:9:111"},"returnParameters":{"id":75962,"nodeType":"ParameterList","parameters":[],"src":"50950:0:111"},"scope":75969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75968,"nodeType":"VariableDeclaration","src":"50958:25:111","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"50978:5:111","scope":75969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":75965,"name":"uint256","nodeType":"ElementaryTypeName","src":"50958:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75967,"length":{"hexValue":"3530","id":75966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50966:2:111","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"50958:11:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":72564,"name":"OwnableUpgradeable","nameLocations":["4077:18:111"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"4077:18:111"},"id":72565,"nodeType":"InheritanceSpecifier","src":"4077:18:111"},{"baseName":{"id":72566,"name":"BaseStrategyUpgradeable","nameLocations":["4097:23:111"],"nodeType":"IdentifierPath","referencedDeclaration":72374,"src":"4097:23:111"},"id":72567,"nodeType":"InheritanceSpecifier","src":"4097:23:111"},{"baseName":{"id":72568,"name":"IArbitrable","nameLocations":["4122:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":79562,"src":"4122:11:111"},"id":72569,"nodeType":"InheritanceSpecifier","src":"4122:11:111"},{"baseName":{"id":72570,"name":"IPointStrategy","nameLocations":["4135:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":72441,"src":"4135:14:111"},"id":72571,"nodeType":"InheritanceSpecifier","src":"4135:14:111"},{"baseName":{"id":72572,"name":"ERC165","nameLocations":["4151:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":57806,"src":"4151:6:111"},"id":72573,"nodeType":"InheritanceSpecifier","src":"4151:6:111"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[75969,57806,58012,72441,79562,72374,3089,3317,3106,2969,55753,55406,55055,55065,52984,53777,53233],"name":"CVStrategyV0_0","nameLocation":"4059:14:111","scope":75970,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,72575,72577,72579,72581,72583,72585,72587,72589,72591,72593,72595,72603,72605,72607,72613,72615,72617,72621,72625,72631,72633,72635,72643,72645,72647,72653,72655,72659,72661,72663,72669,72671]}],"license":"AGPL-3.0-only"},"id":111}
\ No newline at end of file
diff --git a/pkg/contracts/out/ERC20.sol/ERC20.json b/pkg/contracts/out/ERC20.sol/ERC20.json
index b1d452b49..3e188e519 100644
--- a/pkg/contracts/out/ERC20.sol/ERC20.json
+++ b/pkg/contracts/out/ERC20.sol/ERC20.json
@@ -1 +1 @@
-{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080604052346200031d5762000c28803803806200001d8162000322565b9283398101906040818303126200031d5780516001600160401b03908181116200031d57836200004f91840162000348565b91602093848201518381116200031d576200006b920162000348565b82518281116200021d576003918254916001958684811c9416801562000312575b88851014620002fc578190601f94858111620002a6575b5088908583116001146200023f5760009262000233575b505060001982861b1c191690861b1783555b80519384116200021d5760049586548681811c9116801562000212575b82821014620001fd57838111620001b2575b508092851160011462000144575093839491849260009562000138575b50501b92600019911b1c19161790555b60405161086d9081620003bb8239f35b01519350388062000118565b92919084601f1981168860005285600020956000905b898383106200019757505050106200017c575b50505050811b01905562000128565b01519060f884600019921b161c19169055388080806200016d565b8587015189559097019694850194889350908101906200015a565b87600052816000208480880160051c820192848910620001f3575b0160051c019087905b828110620001e6575050620000fb565b60008155018790620001d6565b92508192620001cd565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000e9565b634e487b7160e01b600052604160045260246000fd5b015190503880620000ba565b90889350601f19831691876000528a6000209260005b8c8282106200028f575050841162000276575b505050811b018355620000cc565b015160001983881b60f8161c1916905538808062000268565b8385015186558c9790950194938401930162000255565b90915085600052886000208580850160051c8201928b8610620002f2575b918a91869594930160051c01915b828110620002e2575050620000a3565b600081558594508a9101620002d2565b92508192620002c4565b634e487b7160e01b600052602260045260246000fd5b93607f16936200008c565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200021d57604052565b919080601f840112156200031d5782516001600160401b0381116200021d576020906200037e601f8201601f1916830162000322565b928184528282870101116200031d5760005b818110620003a657508260009394955001015290565b85810183015184820184015282016200039056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048f57508163095ea7b31461046557816318160ddd1461044657816323b872dd1461037c578163313ce5671461036057816339509351146102f957816370a08231146102c257816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba610596565b6100c26105b1565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e557602090610112610108610596565b60243590336105c7565b5160018152f35b905082346101be57826003193601126101be57610134610596565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610735565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102b8575b60209384841081146102a5578388529081156102895750600114610251575b505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b0390f35b634e487b7160e01b815260418552602490fd5b919250868652828620918387935b8385106102755750505050830101858080610209565b80548886018301529301928490820161025f565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036102ea610596565b16815280845220549051908152f35b8284346101be57816003193601126101be57610313610596565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061034d57602084610112858533610735565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e557610398610596565b6103a06105b1565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103da575b6020866101128787876105c7565b84821061040357509183916103f86020969561011295033383610735565b9193948193506103cc565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e557602090610112610485610596565b6024359033610735565b8490843461054957826003193601126105495782600354600181811c9080831692831561053f575b60209384841081146102a557838852908115610289575060011461050657505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b91925060038652828620918387935b83851061052b5750505050830101858080610209565b805488860183015293019284908201610515565b91607f16916104b7565b8280fd5b6020808252825181830181905290939260005b82811061058257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610560565b600435906001600160a01b03821682036105ac57565b600080fd5b602435906001600160a01b03821682036105ac57565b6001600160a01b039081169182156106e257169182156106915760008281528060205260408120549180831061063d57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156107e657169182156107965760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea2646970667358221220b3097ce4cf8429a8b8cde43699569fe2a1fb6892ccdbc25006acaa5124fa87a364736f6c63430008130033","sourceMap":"1532:11312:71:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2046:13;1532:11312;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;-1:-1:-1;;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;2069:17;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;2069:17;1532:11312;;-1:-1:-1;1532:11312:71;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;-1:-1:-1;;1532:11312:71;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048f57508163095ea7b31461046557816318160ddd1461044657816323b872dd1461037c578163313ce5671461036057816339509351146102f957816370a08231146102c257816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba610596565b6100c26105b1565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e557602090610112610108610596565b60243590336105c7565b5160018152f35b905082346101be57826003193601126101be57610134610596565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610735565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102b8575b60209384841081146102a5578388529081156102895750600114610251575b505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b0390f35b634e487b7160e01b815260418552602490fd5b919250868652828620918387935b8385106102755750505050830101858080610209565b80548886018301529301928490820161025f565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036102ea610596565b16815280845220549051908152f35b8284346101be57816003193601126101be57610313610596565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061034d57602084610112858533610735565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e557610398610596565b6103a06105b1565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103da575b6020866101128787876105c7565b84821061040357509183916103f86020969561011295033383610735565b9193948193506103cc565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e557602090610112610485610596565b6024359033610735565b8490843461054957826003193601126105495782600354600181811c9080831692831561053f575b60209384841081146102a557838852908115610289575060011461050657505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b91925060038652828620918387935b83851061052b5750505050830101858080610209565b805488860183015293019284908201610515565b91607f16916104b7565b8280fd5b6020808252825181830181905290939260005b82811061058257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610560565b600435906001600160a01b03821682036105ac57565b600080fd5b602435906001600160a01b03821682036105ac57565b6001600160a01b039081169182156106e257169182156106915760008281528060205260408120549180831061063d57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156107e657169182156107965760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea2646970667358221220b3097ce4cf8429a8b8cde43699569fe2a1fb6892ccdbc25006acaa5124fa87a364736f6c63430008130033","sourceMap":"1532:11312:71:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:6;1532:11312;;:::i;:::-;;;719:10:79;;3894:6:71;:::i;:::-;1532:11312;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;719:10:79;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;6792:35;;;;1532:11312;;;;6928:34;1532:11312;;;;719:10:79;6928:34:71;:::i;1532:11312::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;-1:-1:-1;;1532:11312:71;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;;-1:-1:-1;;1532:11312:71;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:79;1532:11312:71;;;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;719:10:79;6021:38:71;719:10:79;;;6021:38:71;:::i;1532:11312::-;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;3186:2;1532:11312;;;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;719:10:79;1532:11312:71;;;;;;11264:17;;;11244:37;;11240:243;;1532:11312;;5424:6;;;;;;:::i;11240:243::-;11305:26;;;1532:11312;;;;;;11432:25;1532:11312;;;5424:6;1532:11312;;719:10:79;11432:25:71;;:::i;:::-;11240:243;;;;;;;;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3342:12;1532:11312;;;;;;;;;;;;;;;;;;;;;;;4606:6;1532:11312;;:::i;:::-;;;719:10:79;;4606:6:71;:::i;1532:11312::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;-1:-1:-1;;1532:11312:71;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;:::o;7456:788::-;-1:-1:-1;;;;;1532:11312:71;;;;7552:18;;1532:11312;;;7630:16;;;1532:11312;;7568:1;1532:11312;;;;;;;;;;7801:21;;;;1532:11312;;;;;8163:26;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;8163:26;7456:788::o;1532:11312::-;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;10457:340;-1:-1:-1;;;;;1532:11312:71;;;;10558:19;;1532:11312;;;10636:21;;;1532:11312;;;10758:32;1532:11312;;10575:1;1532:11312;;;;;10575:1;1532:11312;;10575:1;1532:11312;;;;;10575:1;1532:11312;;;;;;;10758:32;10457:340::o;1532:11312::-;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":55960,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":55966,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":55968,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":55970,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":55972,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":56532,"exportedSymbols":{"Context":[57443],"ERC20":[56531],"IERC20":[56609],"IERC20Metadata":[56634]},"nodeType":"SourceUnit","src":"105:12740:71","nodes":[{"id":55946,"nodeType":"PragmaDirective","src":"105:23:71","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55947,"nodeType":"ImportDirective","src":"130:22:71","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":56532,"sourceUnit":56610,"symbolAliases":[],"unitAlias":""},{"id":55948,"nodeType":"ImportDirective","src":"153:41:71","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":56532,"sourceUnit":56635,"symbolAliases":[],"unitAlias":""},{"id":55949,"nodeType":"ImportDirective","src":"195:33:71","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":56532,"sourceUnit":57444,"symbolAliases":[],"unitAlias":""},{"id":56531,"nodeType":"ContractDefinition","src":"1532:11312:71","nodes":[{"id":55960,"nodeType":"VariableDeclaration","src":"1588:45:71","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1624:9:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":55959,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55957,"name":"address","nodeType":"ElementaryTypeName","src":"1596:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1588:27:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55958,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":55966,"nodeType":"VariableDeclaration","src":"1640:67:71","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1696:11:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":55965,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55961,"name":"address","nodeType":"ElementaryTypeName","src":"1648:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1640:47:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55964,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55962,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1659:27:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55963,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":55968,"nodeType":"VariableDeclaration","src":"1714:28:71","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1730:12:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55967,"name":"uint256","nodeType":"ElementaryTypeName","src":"1714:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":55970,"nodeType":"VariableDeclaration","src":"1749:20:71","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1764:5:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55969,"name":"string","nodeType":"ElementaryTypeName","src":"1749:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55972,"nodeType":"VariableDeclaration","src":"1775:22:71","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1790:7:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55971,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55989,"nodeType":"FunctionDefinition","src":"1980:113:71","nodes":[],"body":{"id":55988,"nodeType":"Block","src":"2036:57:71","nodes":[],"statements":[{"expression":{"id":55982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55980,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55970,"src":"2046:5:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55981,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55975,"src":"2054:5:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2046:13:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55983,"nodeType":"ExpressionStatement","src":"2046:13:71"},{"expression":{"id":55986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55984,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55972,"src":"2069:7:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55985,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55977,"src":"2079:7:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2069:17:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55987,"nodeType":"ExpressionStatement","src":"2069:17:71"}]},"documentation":{"id":55973,"nodeType":"StructuredDocumentation","src":"1804:171:71","text":" @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":55978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55975,"mutability":"mutable","name":"name_","nameLocation":"2006:5:71","nodeType":"VariableDeclaration","scope":55989,"src":"1992:19:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55974,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55977,"mutability":"mutable","name":"symbol_","nameLocation":"2027:7:71","nodeType":"VariableDeclaration","scope":55989,"src":"2013:21:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55976,"name":"string","nodeType":"ElementaryTypeName","src":"2013:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1991:44:71"},"returnParameters":{"id":55979,"nodeType":"ParameterList","parameters":[],"src":"2036:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55999,"nodeType":"FunctionDefinition","src":"2158:98:71","nodes":[],"body":{"id":55998,"nodeType":"Block","src":"2227:29:71","nodes":[],"statements":[{"expression":{"id":55996,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55970,"src":"2244:5:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55995,"id":55997,"nodeType":"Return","src":"2237:12:71"}]},"baseFunctions":[56621],"documentation":{"id":55990,"nodeType":"StructuredDocumentation","src":"2099:54:71","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2167:4:71","overrides":{"id":55992,"nodeType":"OverrideSpecifier","overrides":[],"src":"2194:8:71"},"parameters":{"id":55991,"nodeType":"ParameterList","parameters":[],"src":"2171:2:71"},"returnParameters":{"id":55995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55994,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55999,"src":"2212:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55993,"name":"string","nodeType":"ElementaryTypeName","src":"2212:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2211:15:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56009,"nodeType":"FunctionDefinition","src":"2369:102:71","nodes":[],"body":{"id":56008,"nodeType":"Block","src":"2440:31:71","nodes":[],"statements":[{"expression":{"id":56006,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55972,"src":"2457:7:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":56005,"id":56007,"nodeType":"Return","src":"2450:14:71"}]},"baseFunctions":[56627],"documentation":{"id":56000,"nodeType":"StructuredDocumentation","src":"2262:102:71","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2378:6:71","overrides":{"id":56002,"nodeType":"OverrideSpecifier","overrides":[],"src":"2407:8:71"},"parameters":{"id":56001,"nodeType":"ParameterList","parameters":[],"src":"2384:2:71"},"returnParameters":{"id":56005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56009,"src":"2425:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56003,"name":"string","nodeType":"ElementaryTypeName","src":"2425:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2424:15:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56019,"nodeType":"FunctionDefinition","src":"3104:91:71","nodes":[],"body":{"id":56018,"nodeType":"Block","src":"3169:26:71","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":56016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3186:2:71","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":56015,"id":56017,"nodeType":"Return","src":"3179:9:71"}]},"baseFunctions":[56633],"documentation":{"id":56010,"nodeType":"StructuredDocumentation","src":"2477:622:71","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3113:8:71","overrides":{"id":56012,"nodeType":"OverrideSpecifier","overrides":[],"src":"3144:8:71"},"parameters":{"id":56011,"nodeType":"ParameterList","parameters":[],"src":"3121:2:71"},"returnParameters":{"id":56015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56019,"src":"3162:5:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56013,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:71","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3161:7:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56029,"nodeType":"FunctionDefinition","src":"3255:106:71","nodes":[],"body":{"id":56028,"nodeType":"Block","src":"3325:36:71","nodes":[],"statements":[{"expression":{"id":56026,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55968,"src":"3342:12:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56025,"id":56027,"nodeType":"Return","src":"3335:19:71"}]},"baseFunctions":[56558],"documentation":{"id":56020,"nodeType":"StructuredDocumentation","src":"3201:49:71","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3264:11:71","overrides":{"id":56022,"nodeType":"OverrideSpecifier","overrides":[],"src":"3298:8:71"},"parameters":{"id":56021,"nodeType":"ParameterList","parameters":[],"src":"3275:2:71"},"returnParameters":{"id":56025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56029,"src":"3316:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56023,"name":"uint256","nodeType":"ElementaryTypeName","src":"3316:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3315:9:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56043,"nodeType":"FunctionDefinition","src":"3419:125:71","nodes":[],"body":{"id":56042,"nodeType":"Block","src":"3502:42:71","nodes":[],"statements":[{"expression":{"baseExpression":{"id":56038,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"3519:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56040,"indexExpression":{"id":56039,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56032,"src":"3529:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3519:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56037,"id":56041,"nodeType":"Return","src":"3512:25:71"}]},"baseFunctions":[56566],"documentation":{"id":56030,"nodeType":"StructuredDocumentation","src":"3367:47:71","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3428:9:71","overrides":{"id":56034,"nodeType":"OverrideSpecifier","overrides":[],"src":"3475:8:71"},"parameters":{"id":56033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56032,"mutability":"mutable","name":"account","nameLocation":"3446:7:71","nodeType":"VariableDeclaration","scope":56043,"src":"3438:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56031,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:17:71"},"returnParameters":{"id":56037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56036,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56043,"src":"3493:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56035,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3492:9:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56068,"nodeType":"FunctionDefinition","src":"3740:189:71","nodes":[],"body":{"id":56067,"nodeType":"Block","src":"3825:104:71","nodes":[],"statements":[{"assignments":[56055],"declarations":[{"constant":false,"id":56055,"mutability":"mutable","name":"owner","nameLocation":"3843:5:71","nodeType":"VariableDeclaration","scope":56067,"src":"3835:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56054,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56058,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56056,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"3851:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3835:28:71"},{"expression":{"arguments":[{"id":56060,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56055,"src":"3883:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56061,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56046,"src":"3890:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56062,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56048,"src":"3894:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56059,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56291,"src":"3873:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:28:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56064,"nodeType":"ExpressionStatement","src":"3873:28:71"},{"expression":{"hexValue":"74727565","id":56065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3918:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56053,"id":56066,"nodeType":"Return","src":"3911:11:71"}]},"baseFunctions":[56576],"documentation":{"id":56044,"nodeType":"StructuredDocumentation","src":"3550:185:71","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3749:8:71","overrides":{"id":56050,"nodeType":"OverrideSpecifier","overrides":[],"src":"3801:8:71"},"parameters":{"id":56049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56046,"mutability":"mutable","name":"to","nameLocation":"3766:2:71","nodeType":"VariableDeclaration","scope":56068,"src":"3758:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56045,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56048,"mutability":"mutable","name":"amount","nameLocation":"3778:6:71","nodeType":"VariableDeclaration","scope":56068,"src":"3770:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56047,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3757:28:71"},"returnParameters":{"id":56053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56052,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56068,"src":"3819:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56051,"name":"bool","nodeType":"ElementaryTypeName","src":"3819:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3818:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56086,"nodeType":"FunctionDefinition","src":"3987:149:71","nodes":[],"body":{"id":56085,"nodeType":"Block","src":"4085:51:71","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":56079,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55966,"src":"4102:11:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56081,"indexExpression":{"id":56080,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56071,"src":"4114:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:18:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56083,"indexExpression":{"id":56082,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56073,"src":"4121:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:27:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56078,"id":56084,"nodeType":"Return","src":"4095:34:71"}]},"baseFunctions":[56586],"documentation":{"id":56069,"nodeType":"StructuredDocumentation","src":"3935:47:71","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3996:9:71","overrides":{"id":56075,"nodeType":"OverrideSpecifier","overrides":[],"src":"4058:8:71"},"parameters":{"id":56074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56071,"mutability":"mutable","name":"owner","nameLocation":"4014:5:71","nodeType":"VariableDeclaration","scope":56086,"src":"4006:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56070,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56073,"mutability":"mutable","name":"spender","nameLocation":"4029:7:71","nodeType":"VariableDeclaration","scope":56086,"src":"4021:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56072,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:32:71"},"returnParameters":{"id":56078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56086,"src":"4076:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56076,"name":"uint256","nodeType":"ElementaryTypeName","src":"4076:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:9:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56111,"nodeType":"FunctionDefinition","src":"4444:197:71","nodes":[],"body":{"id":56110,"nodeType":"Block","src":"4533:108:71","nodes":[],"statements":[{"assignments":[56098],"declarations":[{"constant":false,"id":56098,"mutability":"mutable","name":"owner","nameLocation":"4551:5:71","nodeType":"VariableDeclaration","scope":56110,"src":"4543:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56097,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56101,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56099,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"4559:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4543:28:71"},{"expression":{"arguments":[{"id":56103,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56098,"src":"4590:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56104,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56089,"src":"4597:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56105,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56091,"src":"4606:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56102,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"4581:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:32:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56107,"nodeType":"ExpressionStatement","src":"4581:32:71"},{"expression":{"hexValue":"74727565","id":56108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4630:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56096,"id":56109,"nodeType":"Return","src":"4623:11:71"}]},"baseFunctions":[56596],"documentation":{"id":56087,"nodeType":"StructuredDocumentation","src":"4142:297:71","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4453:7:71","overrides":{"id":56093,"nodeType":"OverrideSpecifier","overrides":[],"src":"4509:8:71"},"parameters":{"id":56092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56089,"mutability":"mutable","name":"spender","nameLocation":"4469:7:71","nodeType":"VariableDeclaration","scope":56111,"src":"4461:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56088,"name":"address","nodeType":"ElementaryTypeName","src":"4461:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56091,"mutability":"mutable","name":"amount","nameLocation":"4486:6:71","nodeType":"VariableDeclaration","scope":56111,"src":"4478:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56090,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:33:71"},"returnParameters":{"id":56096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56095,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56111,"src":"4527:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56094,"name":"bool","nodeType":"ElementaryTypeName","src":"4527:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4526:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56144,"nodeType":"FunctionDefinition","src":"5203:256:71","nodes":[],"body":{"id":56143,"nodeType":"Block","src":"5306:153:71","nodes":[],"statements":[{"assignments":[56125],"declarations":[{"constant":false,"id":56125,"mutability":"mutable","name":"spender","nameLocation":"5324:7:71","nodeType":"VariableDeclaration","scope":56143,"src":"5316:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56124,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56128,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56126,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"5334:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5334:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5316:30:71"},{"expression":{"arguments":[{"id":56130,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56114,"src":"5372:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56131,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56125,"src":"5378:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56132,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"5387:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56129,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"5356:15:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:38:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56134,"nodeType":"ExpressionStatement","src":"5356:38:71"},{"expression":{"arguments":[{"id":56136,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56114,"src":"5414:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56137,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56116,"src":"5420:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56138,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"5424:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56135,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56291,"src":"5404:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:27:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56140,"nodeType":"ExpressionStatement","src":"5404:27:71"},{"expression":{"hexValue":"74727565","id":56141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5448:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56123,"id":56142,"nodeType":"Return","src":"5441:11:71"}]},"baseFunctions":[56608],"documentation":{"id":56112,"nodeType":"StructuredDocumentation","src":"4647:551:71","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5212:12:71","overrides":{"id":56120,"nodeType":"OverrideSpecifier","overrides":[],"src":"5282:8:71"},"parameters":{"id":56119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56114,"mutability":"mutable","name":"from","nameLocation":"5233:4:71","nodeType":"VariableDeclaration","scope":56144,"src":"5225:12:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56113,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56116,"mutability":"mutable","name":"to","nameLocation":"5247:2:71","nodeType":"VariableDeclaration","scope":56144,"src":"5239:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56115,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56118,"mutability":"mutable","name":"amount","nameLocation":"5259:6:71","nodeType":"VariableDeclaration","scope":56144,"src":"5251:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56117,"name":"uint256","nodeType":"ElementaryTypeName","src":"5251:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5224:42:71"},"returnParameters":{"id":56123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56144,"src":"5300:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56121,"name":"bool","nodeType":"ElementaryTypeName","src":"5300:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5299:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56173,"nodeType":"FunctionDefinition","src":"5854:234:71","nodes":[],"body":{"id":56172,"nodeType":"Block","src":"5948:140:71","nodes":[],"statements":[{"assignments":[56155],"declarations":[{"constant":false,"id":56155,"mutability":"mutable","name":"owner","nameLocation":"5966:5:71","nodeType":"VariableDeclaration","scope":56172,"src":"5958:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56154,"name":"address","nodeType":"ElementaryTypeName","src":"5958:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56158,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56156,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"5974:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5958:28:71"},{"expression":{"arguments":[{"id":56160,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56155,"src":"6005:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56161,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56147,"src":"6012:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56163,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56155,"src":"6031:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56164,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56147,"src":"6038:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56162,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56086,"src":"6021:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56166,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56149,"src":"6049:10:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6021:38:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56159,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"5996:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5996:64:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56169,"nodeType":"ExpressionStatement","src":"5996:64:71"},{"expression":{"hexValue":"74727565","id":56170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56153,"id":56171,"nodeType":"Return","src":"6070:11:71"}]},"documentation":{"id":56145,"nodeType":"StructuredDocumentation","src":"5465:384:71","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5863:17:71","parameters":{"id":56150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56147,"mutability":"mutable","name":"spender","nameLocation":"5889:7:71","nodeType":"VariableDeclaration","scope":56173,"src":"5881:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56146,"name":"address","nodeType":"ElementaryTypeName","src":"5881:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56149,"mutability":"mutable","name":"addedValue","nameLocation":"5906:10:71","nodeType":"VariableDeclaration","scope":56173,"src":"5898:18:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56148,"name":"uint256","nodeType":"ElementaryTypeName","src":"5898:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5880:37:71"},"returnParameters":{"id":56153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56152,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56173,"src":"5942:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56151,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56214,"nodeType":"FunctionDefinition","src":"6575:427:71","nodes":[],"body":{"id":56213,"nodeType":"Block","src":"6674:328:71","nodes":[],"statements":[{"assignments":[56184],"declarations":[{"constant":false,"id":56184,"mutability":"mutable","name":"owner","nameLocation":"6692:5:71","nodeType":"VariableDeclaration","scope":56213,"src":"6684:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56183,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56187,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56185,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"6700:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6684:28:71"},{"assignments":[56189],"declarations":[{"constant":false,"id":56189,"mutability":"mutable","name":"currentAllowance","nameLocation":"6730:16:71","nodeType":"VariableDeclaration","scope":56213,"src":"6722:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56188,"name":"uint256","nodeType":"ElementaryTypeName","src":"6722:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56194,"initialValue":{"arguments":[{"id":56191,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56184,"src":"6759:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56192,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56176,"src":"6766:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56190,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56086,"src":"6749:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6749:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6722:52:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56196,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56189,"src":"6792:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56197,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56178,"src":"6812:15:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6792:35:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:39:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":56195,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6784:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:85:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56201,"nodeType":"ExpressionStatement","src":"6784:85:71"},{"id":56210,"nodeType":"UncheckedBlock","src":"6879:95:71","statements":[{"expression":{"arguments":[{"id":56203,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56184,"src":"6912:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56204,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56176,"src":"6919:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56205,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56189,"src":"6928:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56206,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56178,"src":"6947:15:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6928:34:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56202,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"6903:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:60:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56209,"nodeType":"ExpressionStatement","src":"6903:60:71"}]},{"expression":{"hexValue":"74727565","id":56211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6991:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56182,"id":56212,"nodeType":"Return","src":"6984:11:71"}]},"documentation":{"id":56174,"nodeType":"StructuredDocumentation","src":"6094:476:71","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6584:17:71","parameters":{"id":56179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56176,"mutability":"mutable","name":"spender","nameLocation":"6610:7:71","nodeType":"VariableDeclaration","scope":56214,"src":"6602:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56175,"name":"address","nodeType":"ElementaryTypeName","src":"6602:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56178,"mutability":"mutable","name":"subtractedValue","nameLocation":"6627:15:71","nodeType":"VariableDeclaration","scope":56214,"src":"6619:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56177,"name":"uint256","nodeType":"ElementaryTypeName","src":"6619:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6601:42:71"},"returnParameters":{"id":56182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56214,"src":"6668:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56180,"name":"bool","nodeType":"ElementaryTypeName","src":"6668:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6667:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56291,"nodeType":"FunctionDefinition","src":"7456:788:71","nodes":[],"body":{"id":56290,"nodeType":"Block","src":"7534:710:71","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56225,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"7552:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7568:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7560:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56226,"name":"address","nodeType":"ElementaryTypeName","src":"7560:7:71","typeDescriptions":{}}},"id":56229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7552:18:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":56231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7572:39:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":56224,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7544:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7544:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56233,"nodeType":"ExpressionStatement","src":"7544:68:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56235,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"7630:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7644:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7636:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56236,"name":"address","nodeType":"ElementaryTypeName","src":"7636:7:71","typeDescriptions":{}}},"id":56239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7636:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7630:16:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":56241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:37:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":56234,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7622:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7622:64:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56243,"nodeType":"ExpressionStatement","src":"7622:64:71"},{"expression":{"arguments":[{"id":56245,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"7718:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56246,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"7724:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56247,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"7728:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56244,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56519,"src":"7697:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7697:38:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56249,"nodeType":"ExpressionStatement","src":"7697:38:71"},{"assignments":[56251],"declarations":[{"constant":false,"id":56251,"mutability":"mutable","name":"fromBalance","nameLocation":"7754:11:71","nodeType":"VariableDeclaration","scope":56290,"src":"7746:19:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56250,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56255,"initialValue":{"baseExpression":{"id":56252,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"7768:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56254,"indexExpression":{"id":56253,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"7778:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7768:15:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:37:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56257,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56251,"src":"7801:11:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56258,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"7816:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:21:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":56260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7824:40:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":56256,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7793:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:72:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56262,"nodeType":"ExpressionStatement","src":"7793:72:71"},{"id":56277,"nodeType":"UncheckedBlock","src":"7875:273:71","statements":[{"expression":{"id":56269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56263,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"7899:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56265,"indexExpression":{"id":56264,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"7909:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7899:15:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56266,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56251,"src":"7917:11:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56267,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"7931:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7917:20:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:38:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56270,"nodeType":"ExpressionStatement","src":"7899:38:71"},{"expression":{"id":56275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56271,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"8114:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56273,"indexExpression":{"id":56272,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"8124:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8114:13:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56274,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"8131:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8114:23:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56276,"nodeType":"ExpressionStatement","src":"8114:23:71"}]},{"eventCall":{"arguments":[{"id":56279,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"8172:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56280,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"8178:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56281,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"8182:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56278,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56543,"src":"8163:8:71","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8163:26:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56283,"nodeType":"EmitStatement","src":"8158:31:71"},{"expression":{"arguments":[{"id":56285,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"8220:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56286,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"8226:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56287,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"8230:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56284,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56530,"src":"8200:19:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8200:37:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56289,"nodeType":"ExpressionStatement","src":"8200:37:71"}]},"documentation":{"id":56215,"nodeType":"StructuredDocumentation","src":"7008:443:71","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7465:9:71","parameters":{"id":56222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56217,"mutability":"mutable","name":"from","nameLocation":"7483:4:71","nodeType":"VariableDeclaration","scope":56291,"src":"7475:12:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56216,"name":"address","nodeType":"ElementaryTypeName","src":"7475:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56219,"mutability":"mutable","name":"to","nameLocation":"7497:2:71","nodeType":"VariableDeclaration","scope":56291,"src":"7489:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56218,"name":"address","nodeType":"ElementaryTypeName","src":"7489:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56221,"mutability":"mutable","name":"amount","nameLocation":"7509:6:71","nodeType":"VariableDeclaration","scope":56291,"src":"7501:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56220,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:42:71"},"returnParameters":{"id":56223,"nodeType":"ParameterList","parameters":[],"src":"7534:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56348,"nodeType":"FunctionDefinition","src":"8520:535:71","nodes":[],"body":{"id":56347,"nodeType":"Block","src":"8585:470:71","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56300,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8603:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8622:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8614:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56301,"name":"address","nodeType":"ElementaryTypeName","src":"8614:7:71","typeDescriptions":{}}},"id":56304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8603:21:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":56306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8626:33:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":56299,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8595:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8595:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56308,"nodeType":"ExpressionStatement","src":"8595:65:71"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8700:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8692:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56310,"name":"address","nodeType":"ElementaryTypeName","src":"8692:7:71","typeDescriptions":{}}},"id":56313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8692:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56314,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8704:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56315,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"8713:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56309,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56519,"src":"8671:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:49:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56317,"nodeType":"ExpressionStatement","src":"8671:49:71"},{"expression":{"id":56320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56318,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55968,"src":"8731:12:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56319,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"8747:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8731:22:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56321,"nodeType":"ExpressionStatement","src":"8731:22:71"},{"id":56328,"nodeType":"UncheckedBlock","src":"8763:175:71","statements":[{"expression":{"id":56326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56322,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"8899:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56324,"indexExpression":{"id":56323,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8909:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8899:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56325,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"8921:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8899:28:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56327,"nodeType":"ExpressionStatement","src":"8899:28:71"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":56332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8969:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56330,"name":"address","nodeType":"ElementaryTypeName","src":"8961:7:71","typeDescriptions":{}}},"id":56333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56334,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8973:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56335,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"8982:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56329,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56543,"src":"8952:8:71","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:37:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56337,"nodeType":"EmitStatement","src":"8947:42:71"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56339,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:71","typeDescriptions":{}}},"id":56342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56343,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"9032:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56344,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"9041:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56338,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56530,"src":"9000:19:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:48:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56346,"nodeType":"ExpressionStatement","src":"9000:48:71"}]},"documentation":{"id":56292,"nodeType":"StructuredDocumentation","src":"8250:265:71","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8529:5:71","parameters":{"id":56297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56294,"mutability":"mutable","name":"account","nameLocation":"8543:7:71","nodeType":"VariableDeclaration","scope":56348,"src":"8535:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56293,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56296,"mutability":"mutable","name":"amount","nameLocation":"8560:6:71","nodeType":"VariableDeclaration","scope":56348,"src":"8552:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56295,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8534:33:71"},"returnParameters":{"id":56298,"nodeType":"ParameterList","parameters":[],"src":"8585:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56420,"nodeType":"FunctionDefinition","src":"9375:659:71","nodes":[],"body":{"id":56419,"nodeType":"Block","src":"9440:594:71","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56357,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9458:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9477:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9469:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56358,"name":"address","nodeType":"ElementaryTypeName","src":"9469:7:71","typeDescriptions":{}}},"id":56361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9469:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9458:21:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":56363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9481:35:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":56356,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9450:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:67:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56365,"nodeType":"ExpressionStatement","src":"9450:67:71"},{"expression":{"arguments":[{"id":56367,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9549:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9558:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56368,"name":"address","nodeType":"ElementaryTypeName","src":"9558:7:71","typeDescriptions":{}}},"id":56371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9558:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56372,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9570:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56366,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56519,"src":"9528:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:49:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56374,"nodeType":"ExpressionStatement","src":"9528:49:71"},{"assignments":[56376],"declarations":[{"constant":false,"id":56376,"mutability":"mutable","name":"accountBalance","nameLocation":"9596:14:71","nodeType":"VariableDeclaration","scope":56419,"src":"9588:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56375,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56380,"initialValue":{"baseExpression":{"id":56377,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"9613:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56379,"indexExpression":{"id":56378,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9623:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9613:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9588:43:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56382,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56376,"src":"9649:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56383,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9667:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9649:24:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":56385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:36:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":56381,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9641:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:71:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56387,"nodeType":"ExpressionStatement","src":"9641:71:71"},{"id":56400,"nodeType":"UncheckedBlock","src":"9722:194:71","statements":[{"expression":{"id":56394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56388,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"9746:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56390,"indexExpression":{"id":56389,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9756:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9746:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56391,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56376,"src":"9767:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56392,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9784:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:23:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9746:44:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56395,"nodeType":"ExpressionStatement","src":"9746:44:71"},{"expression":{"id":56398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56396,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55968,"src":"9883:12:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":56397,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9899:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9883:22:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56399,"nodeType":"ExpressionStatement","src":"9883:22:71"}]},{"eventCall":{"arguments":[{"id":56402,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9940:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9949:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56403,"name":"address","nodeType":"ElementaryTypeName","src":"9949:7:71","typeDescriptions":{}}},"id":56406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56407,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9961:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56401,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56543,"src":"9931:8:71","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9931:37:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56409,"nodeType":"EmitStatement","src":"9926:42:71"},{"expression":{"arguments":[{"id":56411,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9999:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10008:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56412,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:71","typeDescriptions":{}}},"id":56415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10008:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56416,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"10020:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56410,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56530,"src":"9979:19:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:48:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56418,"nodeType":"ExpressionStatement","src":"9979:48:71"}]},"documentation":{"id":56349,"nodeType":"StructuredDocumentation","src":"9061:309:71","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9384:5:71","parameters":{"id":56354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56351,"mutability":"mutable","name":"account","nameLocation":"9398:7:71","nodeType":"VariableDeclaration","scope":56420,"src":"9390:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56350,"name":"address","nodeType":"ElementaryTypeName","src":"9390:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56353,"mutability":"mutable","name":"amount","nameLocation":"9415:6:71","nodeType":"VariableDeclaration","scope":56420,"src":"9407:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56352,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9389:33:71"},"returnParameters":{"id":56355,"nodeType":"ParameterList","parameters":[],"src":"9440:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56465,"nodeType":"FunctionDefinition","src":"10457:340:71","nodes":[],"body":{"id":56464,"nodeType":"Block","src":"10540:257:71","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56431,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56423,"src":"10558:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10575:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10567:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56432,"name":"address","nodeType":"ElementaryTypeName","src":"10567:7:71","typeDescriptions":{}}},"id":56435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10567:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10558:19:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":56437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10579:38:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":56430,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10550:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56439,"nodeType":"ExpressionStatement","src":"10550:68:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56441,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56425,"src":"10636:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10647:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56442,"name":"address","nodeType":"ElementaryTypeName","src":"10647:7:71","typeDescriptions":{}}},"id":56445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10636:21:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":56447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10659:36:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":56440,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10628:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10628:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56449,"nodeType":"ExpressionStatement","src":"10628:68:71"},{"expression":{"id":56456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":56450,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55966,"src":"10707:11:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56453,"indexExpression":{"id":56451,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56423,"src":"10719:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10707:18:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56454,"indexExpression":{"id":56452,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56425,"src":"10726:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10707:27:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56455,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56427,"src":"10737:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:36:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56457,"nodeType":"ExpressionStatement","src":"10707:36:71"},{"eventCall":{"arguments":[{"id":56459,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56423,"src":"10767:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56460,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56425,"src":"10774:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56461,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56427,"src":"10783:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56458,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56552,"src":"10758:8:71","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10758:32:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56463,"nodeType":"EmitStatement","src":"10753:37:71"}]},"documentation":{"id":56421,"nodeType":"StructuredDocumentation","src":"10040:412:71","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10466:8:71","parameters":{"id":56428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56423,"mutability":"mutable","name":"owner","nameLocation":"10483:5:71","nodeType":"VariableDeclaration","scope":56465,"src":"10475:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56422,"name":"address","nodeType":"ElementaryTypeName","src":"10475:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56425,"mutability":"mutable","name":"spender","nameLocation":"10498:7:71","nodeType":"VariableDeclaration","scope":56465,"src":"10490:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56424,"name":"address","nodeType":"ElementaryTypeName","src":"10490:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56427,"mutability":"mutable","name":"amount","nameLocation":"10515:6:71","nodeType":"VariableDeclaration","scope":56465,"src":"10507:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56426,"name":"uint256","nodeType":"ElementaryTypeName","src":"10507:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10474:48:71"},"returnParameters":{"id":56429,"nodeType":"ParameterList","parameters":[],"src":"10540:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56508,"nodeType":"FunctionDefinition","src":"11078:411:71","nodes":[],"body":{"id":56507,"nodeType":"Block","src":"11168:321:71","nodes":[],"statements":[{"assignments":[56476],"declarations":[{"constant":false,"id":56476,"mutability":"mutable","name":"currentAllowance","nameLocation":"11186:16:71","nodeType":"VariableDeclaration","scope":56507,"src":"11178:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56475,"name":"uint256","nodeType":"ElementaryTypeName","src":"11178:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56481,"initialValue":{"arguments":[{"id":56478,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56468,"src":"11215:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56479,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56470,"src":"11222:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56477,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56086,"src":"11205:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11178:52:71"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56482,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56476,"src":"11244:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":56485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11269:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56484,"name":"uint256","nodeType":"ElementaryTypeName","src":"11269:7:71","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":56483,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11264:4:71","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11264:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":56487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11278:3:71","memberName":"max","nodeType":"MemberAccess","src":"11264:17:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11244:37:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56506,"nodeType":"IfStatement","src":"11240:243:71","trueBody":{"id":56505,"nodeType":"Block","src":"11283:200:71","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56490,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56476,"src":"11305:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56491,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56472,"src":"11325:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11305:26:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":56493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:31:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":56489,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11297:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11297:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56495,"nodeType":"ExpressionStatement","src":"11297:68:71"},{"id":56504,"nodeType":"UncheckedBlock","src":"11379:94:71","statements":[{"expression":{"arguments":[{"id":56497,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56468,"src":"11416:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56498,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56470,"src":"11423:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56499,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56476,"src":"11432:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56500,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56472,"src":"11451:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11432:25:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56496,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"11407:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11407:51:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56503,"nodeType":"ExpressionStatement","src":"11407:51:71"}]}]}}]},"documentation":{"id":56466,"nodeType":"StructuredDocumentation","src":"10803:270:71","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11087:15:71","parameters":{"id":56473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56468,"mutability":"mutable","name":"owner","nameLocation":"11111:5:71","nodeType":"VariableDeclaration","scope":56508,"src":"11103:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56467,"name":"address","nodeType":"ElementaryTypeName","src":"11103:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56470,"mutability":"mutable","name":"spender","nameLocation":"11126:7:71","nodeType":"VariableDeclaration","scope":56508,"src":"11118:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56469,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56472,"mutability":"mutable","name":"amount","nameLocation":"11143:6:71","nodeType":"VariableDeclaration","scope":56508,"src":"11135:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56471,"name":"uint256","nodeType":"ElementaryTypeName","src":"11135:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11102:48:71"},"returnParameters":{"id":56474,"nodeType":"ParameterList","parameters":[],"src":"11168:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56519,"nodeType":"FunctionDefinition","src":"12073:91:71","nodes":[],"body":{"id":56518,"nodeType":"Block","src":"12162:2:71","nodes":[],"statements":[]},"documentation":{"id":56509,"nodeType":"StructuredDocumentation","src":"11495:573:71","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12082:20:71","parameters":{"id":56516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56511,"mutability":"mutable","name":"from","nameLocation":"12111:4:71","nodeType":"VariableDeclaration","scope":56519,"src":"12103:12:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56510,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56513,"mutability":"mutable","name":"to","nameLocation":"12125:2:71","nodeType":"VariableDeclaration","scope":56519,"src":"12117:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56512,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56515,"mutability":"mutable","name":"amount","nameLocation":"12137:6:71","nodeType":"VariableDeclaration","scope":56519,"src":"12129:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:42:71"},"returnParameters":{"id":56517,"nodeType":"ParameterList","parameters":[],"src":"12162:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56530,"nodeType":"FunctionDefinition","src":"12752:90:71","nodes":[],"body":{"id":56529,"nodeType":"Block","src":"12840:2:71","nodes":[],"statements":[]},"documentation":{"id":56520,"nodeType":"StructuredDocumentation","src":"12170:577:71","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12761:19:71","parameters":{"id":56527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56522,"mutability":"mutable","name":"from","nameLocation":"12789:4:71","nodeType":"VariableDeclaration","scope":56530,"src":"12781:12:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56521,"name":"address","nodeType":"ElementaryTypeName","src":"12781:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56524,"mutability":"mutable","name":"to","nameLocation":"12803:2:71","nodeType":"VariableDeclaration","scope":56530,"src":"12795:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56523,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56526,"mutability":"mutable","name":"amount","nameLocation":"12815:6:71","nodeType":"VariableDeclaration","scope":56530,"src":"12807:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56525,"name":"uint256","nodeType":"ElementaryTypeName","src":"12807:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12780:42:71"},"returnParameters":{"id":56528,"nodeType":"ParameterList","parameters":[],"src":"12840:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":55951,"name":"Context","nameLocations":["1550:7:71"],"nodeType":"IdentifierPath","referencedDeclaration":57443,"src":"1550:7:71"},"id":55952,"nodeType":"InheritanceSpecifier","src":"1550:7:71"},{"baseName":{"id":55953,"name":"IERC20","nameLocations":["1559:6:71"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1559:6:71"},"id":55954,"nodeType":"InheritanceSpecifier","src":"1559:6:71"},{"baseName":{"id":55955,"name":"IERC20Metadata","nameLocations":["1567:14:71"],"nodeType":"IdentifierPath","referencedDeclaration":56634,"src":"1567:14:71"},"id":55956,"nodeType":"InheritanceSpecifier","src":"1567:14:71"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":55950,"nodeType":"StructuredDocumentation","src":"230:1301:71","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"linearizedBaseContracts":[56531,56634,56609,57443],"name":"ERC20","nameLocation":"1541:5:71","scope":56532,"usedErrors":[]}],"license":"MIT"},"id":71}
\ No newline at end of file
+{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080604052346200031d5762000c28803803806200001d8162000322565b9283398101906040818303126200031d5780516001600160401b03908181116200031d57836200004f91840162000348565b91602093848201518381116200031d576200006b920162000348565b82518281116200021d576003918254916001958684811c9416801562000312575b88851014620002fc578190601f94858111620002a6575b5088908583116001146200023f5760009262000233575b505060001982861b1c191690861b1783555b80519384116200021d5760049586548681811c9116801562000212575b82821014620001fd57838111620001b2575b508092851160011462000144575093839491849260009562000138575b50501b92600019911b1c19161790555b60405161086d9081620003bb8239f35b01519350388062000118565b92919084601f1981168860005285600020956000905b898383106200019757505050106200017c575b50505050811b01905562000128565b01519060f884600019921b161c19169055388080806200016d565b8587015189559097019694850194889350908101906200015a565b87600052816000208480880160051c820192848910620001f3575b0160051c019087905b828110620001e6575050620000fb565b60008155018790620001d6565b92508192620001cd565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000e9565b634e487b7160e01b600052604160045260246000fd5b015190503880620000ba565b90889350601f19831691876000528a6000209260005b8c8282106200028f575050841162000276575b505050811b018355620000cc565b015160001983881b60f8161c1916905538808062000268565b8385015186558c9790950194938401930162000255565b90915085600052886000208580850160051c8201928b8610620002f2575b918a91869594930160051c01915b828110620002e2575050620000a3565b600081558594508a9101620002d2565b92508192620002c4565b634e487b7160e01b600052602260045260246000fd5b93607f16936200008c565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200021d57604052565b919080601f840112156200031d5782516001600160401b0381116200021d576020906200037e601f8201601f1916830162000322565b928184528282870101116200031d5760005b818110620003a657508260009394955001015290565b85810183015184820184015282016200039056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048f57508163095ea7b31461046557816318160ddd1461044657816323b872dd1461037c578163313ce5671461036057816339509351146102f957816370a08231146102c257816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba610596565b6100c26105b1565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e557602090610112610108610596565b60243590336105c7565b5160018152f35b905082346101be57826003193601126101be57610134610596565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610735565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102b8575b60209384841081146102a5578388529081156102895750600114610251575b505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b0390f35b634e487b7160e01b815260418552602490fd5b919250868652828620918387935b8385106102755750505050830101858080610209565b80548886018301529301928490820161025f565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036102ea610596565b16815280845220549051908152f35b8284346101be57816003193601126101be57610313610596565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061034d57602084610112858533610735565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e557610398610596565b6103a06105b1565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103da575b6020866101128787876105c7565b84821061040357509183916103f86020969561011295033383610735565b9193948193506103cc565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e557602090610112610485610596565b6024359033610735565b8490843461054957826003193601126105495782600354600181811c9080831692831561053f575b60209384841081146102a557838852908115610289575060011461050657505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b91925060038652828620918387935b83851061052b5750505050830101858080610209565b805488860183015293019284908201610515565b91607f16916104b7565b8280fd5b6020808252825181830181905290939260005b82811061058257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610560565b600435906001600160a01b03821682036105ac57565b600080fd5b602435906001600160a01b03821682036105ac57565b6001600160a01b039081169182156106e257169182156106915760008281528060205260408120549180831061063d57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156107e657169182156107965760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea26469706673582212209a403bce02d6ba4f641d184a3b2d320588c45ecf85d11f0a5cda6c9f76f25a3f64736f6c63430008130033","sourceMap":"1532:11312:71:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2046:13;1532:11312;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;-1:-1:-1;;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;2069:17;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;2069:17;1532:11312;;-1:-1:-1;1532:11312:71;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;-1:-1:-1;;1532:11312:71;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048f57508163095ea7b31461046557816318160ddd1461044657816323b872dd1461037c578163313ce5671461036057816339509351146102f957816370a08231146102c257816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba610596565b6100c26105b1565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e557602090610112610108610596565b60243590336105c7565b5160018152f35b905082346101be57826003193601126101be57610134610596565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610735565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102b8575b60209384841081146102a5578388529081156102895750600114610251575b505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b0390f35b634e487b7160e01b815260418552602490fd5b919250868652828620918387935b8385106102755750505050830101858080610209565b80548886018301529301928490820161025f565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036102ea610596565b16815280845220549051908152f35b8284346101be57816003193601126101be57610313610596565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061034d57602084610112858533610735565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e557610398610596565b6103a06105b1565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103da575b6020866101128787876105c7565b84821061040357509183916103f86020969561011295033383610735565b9193948193506103cc565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e557602090610112610485610596565b6024359033610735565b8490843461054957826003193601126105495782600354600181811c9080831692831561053f575b60209384841081146102a557838852908115610289575060011461050657505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b91925060038652828620918387935b83851061052b5750505050830101858080610209565b805488860183015293019284908201610515565b91607f16916104b7565b8280fd5b6020808252825181830181905290939260005b82811061058257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610560565b600435906001600160a01b03821682036105ac57565b600080fd5b602435906001600160a01b03821682036105ac57565b6001600160a01b039081169182156106e257169182156106915760008281528060205260408120549180831061063d57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156107e657169182156107965760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea26469706673582212209a403bce02d6ba4f641d184a3b2d320588c45ecf85d11f0a5cda6c9f76f25a3f64736f6c63430008130033","sourceMap":"1532:11312:71:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:6;1532:11312;;:::i;:::-;;;719:10:79;;3894:6:71;:::i;:::-;1532:11312;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;719:10:79;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;6792:35;;;;1532:11312;;;;6928:34;1532:11312;;;;719:10:79;6928:34:71;:::i;1532:11312::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;-1:-1:-1;;1532:11312:71;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;;-1:-1:-1;;1532:11312:71;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:79;1532:11312:71;;;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;719:10:79;6021:38:71;719:10:79;;;6021:38:71;:::i;1532:11312::-;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;3186:2;1532:11312;;;;;;;;;;;;-1:-1:-1;;1532:11312:71;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;719:10:79;1532:11312:71;;;;;;11264:17;;;11244:37;;11240:243;;1532:11312;;5424:6;;;;;;:::i;11240:243::-;11305:26;;;1532:11312;;;;;;11432:25;1532:11312;;;5424:6;1532:11312;;719:10:79;11432:25:71;;:::i;:::-;11240:243;;;;;;;;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3342:12;1532:11312;;;;;;;;;;;;;;;;;;;;;;;4606:6;1532:11312;;:::i;:::-;;;719:10:79;;4606:6:71;:::i;1532:11312::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;-1:-1:-1;;1532:11312:71;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;1532:11312:71;;;;;;:::o;7456:788::-;-1:-1:-1;;;;;1532:11312:71;;;;7552:18;;1532:11312;;;7630:16;;;1532:11312;;7568:1;1532:11312;;;;;;;;;;7801:21;;;;1532:11312;;;;;8163:26;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;8163:26;7456:788::o;1532:11312::-;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;10457:340;-1:-1:-1;;;;;1532:11312:71;;;;10558:19;;1532:11312;;;10636:21;;;1532:11312;;;10758:32;1532:11312;;10575:1;1532:11312;;;;;10575:1;1532:11312;;10575:1;1532:11312;;;;;10575:1;1532:11312;;;;;;;10758:32;10457:340::o;1532:11312::-;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:71;;;;;;","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":55960,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":55966,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":55968,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":55970,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":55972,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":56532,"exportedSymbols":{"Context":[57443],"ERC20":[56531],"IERC20":[56609],"IERC20Metadata":[56634]},"nodeType":"SourceUnit","src":"105:12740:71","nodes":[{"id":55946,"nodeType":"PragmaDirective","src":"105:23:71","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55947,"nodeType":"ImportDirective","src":"130:22:71","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":56532,"sourceUnit":56610,"symbolAliases":[],"unitAlias":""},{"id":55948,"nodeType":"ImportDirective","src":"153:41:71","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":56532,"sourceUnit":56635,"symbolAliases":[],"unitAlias":""},{"id":55949,"nodeType":"ImportDirective","src":"195:33:71","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":56532,"sourceUnit":57444,"symbolAliases":[],"unitAlias":""},{"id":56531,"nodeType":"ContractDefinition","src":"1532:11312:71","nodes":[{"id":55960,"nodeType":"VariableDeclaration","src":"1588:45:71","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1624:9:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":55959,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55957,"name":"address","nodeType":"ElementaryTypeName","src":"1596:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1588:27:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55958,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":55966,"nodeType":"VariableDeclaration","src":"1640:67:71","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1696:11:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":55965,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55961,"name":"address","nodeType":"ElementaryTypeName","src":"1648:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1640:47:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55964,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55962,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1659:27:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55963,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":55968,"nodeType":"VariableDeclaration","src":"1714:28:71","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1730:12:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55967,"name":"uint256","nodeType":"ElementaryTypeName","src":"1714:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":55970,"nodeType":"VariableDeclaration","src":"1749:20:71","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1764:5:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55969,"name":"string","nodeType":"ElementaryTypeName","src":"1749:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55972,"nodeType":"VariableDeclaration","src":"1775:22:71","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1790:7:71","scope":56531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55971,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55989,"nodeType":"FunctionDefinition","src":"1980:113:71","nodes":[],"body":{"id":55988,"nodeType":"Block","src":"2036:57:71","nodes":[],"statements":[{"expression":{"id":55982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55980,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55970,"src":"2046:5:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55981,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55975,"src":"2054:5:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2046:13:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55983,"nodeType":"ExpressionStatement","src":"2046:13:71"},{"expression":{"id":55986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55984,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55972,"src":"2069:7:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55985,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55977,"src":"2079:7:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2069:17:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55987,"nodeType":"ExpressionStatement","src":"2069:17:71"}]},"documentation":{"id":55973,"nodeType":"StructuredDocumentation","src":"1804:171:71","text":" @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":55978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55975,"mutability":"mutable","name":"name_","nameLocation":"2006:5:71","nodeType":"VariableDeclaration","scope":55989,"src":"1992:19:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55974,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55977,"mutability":"mutable","name":"symbol_","nameLocation":"2027:7:71","nodeType":"VariableDeclaration","scope":55989,"src":"2013:21:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55976,"name":"string","nodeType":"ElementaryTypeName","src":"2013:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1991:44:71"},"returnParameters":{"id":55979,"nodeType":"ParameterList","parameters":[],"src":"2036:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55999,"nodeType":"FunctionDefinition","src":"2158:98:71","nodes":[],"body":{"id":55998,"nodeType":"Block","src":"2227:29:71","nodes":[],"statements":[{"expression":{"id":55996,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55970,"src":"2244:5:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55995,"id":55997,"nodeType":"Return","src":"2237:12:71"}]},"baseFunctions":[56621],"documentation":{"id":55990,"nodeType":"StructuredDocumentation","src":"2099:54:71","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2167:4:71","overrides":{"id":55992,"nodeType":"OverrideSpecifier","overrides":[],"src":"2194:8:71"},"parameters":{"id":55991,"nodeType":"ParameterList","parameters":[],"src":"2171:2:71"},"returnParameters":{"id":55995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55994,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55999,"src":"2212:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55993,"name":"string","nodeType":"ElementaryTypeName","src":"2212:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2211:15:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56009,"nodeType":"FunctionDefinition","src":"2369:102:71","nodes":[],"body":{"id":56008,"nodeType":"Block","src":"2440:31:71","nodes":[],"statements":[{"expression":{"id":56006,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55972,"src":"2457:7:71","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":56005,"id":56007,"nodeType":"Return","src":"2450:14:71"}]},"baseFunctions":[56627],"documentation":{"id":56000,"nodeType":"StructuredDocumentation","src":"2262:102:71","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2378:6:71","overrides":{"id":56002,"nodeType":"OverrideSpecifier","overrides":[],"src":"2407:8:71"},"parameters":{"id":56001,"nodeType":"ParameterList","parameters":[],"src":"2384:2:71"},"returnParameters":{"id":56005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56009,"src":"2425:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56003,"name":"string","nodeType":"ElementaryTypeName","src":"2425:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2424:15:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56019,"nodeType":"FunctionDefinition","src":"3104:91:71","nodes":[],"body":{"id":56018,"nodeType":"Block","src":"3169:26:71","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":56016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3186:2:71","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":56015,"id":56017,"nodeType":"Return","src":"3179:9:71"}]},"baseFunctions":[56633],"documentation":{"id":56010,"nodeType":"StructuredDocumentation","src":"2477:622:71","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3113:8:71","overrides":{"id":56012,"nodeType":"OverrideSpecifier","overrides":[],"src":"3144:8:71"},"parameters":{"id":56011,"nodeType":"ParameterList","parameters":[],"src":"3121:2:71"},"returnParameters":{"id":56015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56019,"src":"3162:5:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56013,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:71","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3161:7:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56029,"nodeType":"FunctionDefinition","src":"3255:106:71","nodes":[],"body":{"id":56028,"nodeType":"Block","src":"3325:36:71","nodes":[],"statements":[{"expression":{"id":56026,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55968,"src":"3342:12:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56025,"id":56027,"nodeType":"Return","src":"3335:19:71"}]},"baseFunctions":[56558],"documentation":{"id":56020,"nodeType":"StructuredDocumentation","src":"3201:49:71","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3264:11:71","overrides":{"id":56022,"nodeType":"OverrideSpecifier","overrides":[],"src":"3298:8:71"},"parameters":{"id":56021,"nodeType":"ParameterList","parameters":[],"src":"3275:2:71"},"returnParameters":{"id":56025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56029,"src":"3316:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56023,"name":"uint256","nodeType":"ElementaryTypeName","src":"3316:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3315:9:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56043,"nodeType":"FunctionDefinition","src":"3419:125:71","nodes":[],"body":{"id":56042,"nodeType":"Block","src":"3502:42:71","nodes":[],"statements":[{"expression":{"baseExpression":{"id":56038,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"3519:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56040,"indexExpression":{"id":56039,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56032,"src":"3529:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3519:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56037,"id":56041,"nodeType":"Return","src":"3512:25:71"}]},"baseFunctions":[56566],"documentation":{"id":56030,"nodeType":"StructuredDocumentation","src":"3367:47:71","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3428:9:71","overrides":{"id":56034,"nodeType":"OverrideSpecifier","overrides":[],"src":"3475:8:71"},"parameters":{"id":56033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56032,"mutability":"mutable","name":"account","nameLocation":"3446:7:71","nodeType":"VariableDeclaration","scope":56043,"src":"3438:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56031,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:17:71"},"returnParameters":{"id":56037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56036,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56043,"src":"3493:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56035,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3492:9:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56068,"nodeType":"FunctionDefinition","src":"3740:189:71","nodes":[],"body":{"id":56067,"nodeType":"Block","src":"3825:104:71","nodes":[],"statements":[{"assignments":[56055],"declarations":[{"constant":false,"id":56055,"mutability":"mutable","name":"owner","nameLocation":"3843:5:71","nodeType":"VariableDeclaration","scope":56067,"src":"3835:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56054,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56058,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56056,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"3851:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3835:28:71"},{"expression":{"arguments":[{"id":56060,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56055,"src":"3883:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56061,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56046,"src":"3890:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56062,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56048,"src":"3894:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56059,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56291,"src":"3873:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:28:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56064,"nodeType":"ExpressionStatement","src":"3873:28:71"},{"expression":{"hexValue":"74727565","id":56065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3918:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56053,"id":56066,"nodeType":"Return","src":"3911:11:71"}]},"baseFunctions":[56576],"documentation":{"id":56044,"nodeType":"StructuredDocumentation","src":"3550:185:71","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3749:8:71","overrides":{"id":56050,"nodeType":"OverrideSpecifier","overrides":[],"src":"3801:8:71"},"parameters":{"id":56049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56046,"mutability":"mutable","name":"to","nameLocation":"3766:2:71","nodeType":"VariableDeclaration","scope":56068,"src":"3758:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56045,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56048,"mutability":"mutable","name":"amount","nameLocation":"3778:6:71","nodeType":"VariableDeclaration","scope":56068,"src":"3770:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56047,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3757:28:71"},"returnParameters":{"id":56053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56052,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56068,"src":"3819:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56051,"name":"bool","nodeType":"ElementaryTypeName","src":"3819:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3818:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56086,"nodeType":"FunctionDefinition","src":"3987:149:71","nodes":[],"body":{"id":56085,"nodeType":"Block","src":"4085:51:71","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":56079,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55966,"src":"4102:11:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56081,"indexExpression":{"id":56080,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56071,"src":"4114:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:18:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56083,"indexExpression":{"id":56082,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56073,"src":"4121:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:27:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56078,"id":56084,"nodeType":"Return","src":"4095:34:71"}]},"baseFunctions":[56586],"documentation":{"id":56069,"nodeType":"StructuredDocumentation","src":"3935:47:71","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3996:9:71","overrides":{"id":56075,"nodeType":"OverrideSpecifier","overrides":[],"src":"4058:8:71"},"parameters":{"id":56074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56071,"mutability":"mutable","name":"owner","nameLocation":"4014:5:71","nodeType":"VariableDeclaration","scope":56086,"src":"4006:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56070,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56073,"mutability":"mutable","name":"spender","nameLocation":"4029:7:71","nodeType":"VariableDeclaration","scope":56086,"src":"4021:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56072,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:32:71"},"returnParameters":{"id":56078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56086,"src":"4076:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56076,"name":"uint256","nodeType":"ElementaryTypeName","src":"4076:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:9:71"},"scope":56531,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56111,"nodeType":"FunctionDefinition","src":"4444:197:71","nodes":[],"body":{"id":56110,"nodeType":"Block","src":"4533:108:71","nodes":[],"statements":[{"assignments":[56098],"declarations":[{"constant":false,"id":56098,"mutability":"mutable","name":"owner","nameLocation":"4551:5:71","nodeType":"VariableDeclaration","scope":56110,"src":"4543:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56097,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56101,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56099,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"4559:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4543:28:71"},{"expression":{"arguments":[{"id":56103,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56098,"src":"4590:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56104,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56089,"src":"4597:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56105,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56091,"src":"4606:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56102,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"4581:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:32:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56107,"nodeType":"ExpressionStatement","src":"4581:32:71"},{"expression":{"hexValue":"74727565","id":56108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4630:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56096,"id":56109,"nodeType":"Return","src":"4623:11:71"}]},"baseFunctions":[56596],"documentation":{"id":56087,"nodeType":"StructuredDocumentation","src":"4142:297:71","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4453:7:71","overrides":{"id":56093,"nodeType":"OverrideSpecifier","overrides":[],"src":"4509:8:71"},"parameters":{"id":56092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56089,"mutability":"mutable","name":"spender","nameLocation":"4469:7:71","nodeType":"VariableDeclaration","scope":56111,"src":"4461:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56088,"name":"address","nodeType":"ElementaryTypeName","src":"4461:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56091,"mutability":"mutable","name":"amount","nameLocation":"4486:6:71","nodeType":"VariableDeclaration","scope":56111,"src":"4478:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56090,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:33:71"},"returnParameters":{"id":56096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56095,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56111,"src":"4527:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56094,"name":"bool","nodeType":"ElementaryTypeName","src":"4527:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4526:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56144,"nodeType":"FunctionDefinition","src":"5203:256:71","nodes":[],"body":{"id":56143,"nodeType":"Block","src":"5306:153:71","nodes":[],"statements":[{"assignments":[56125],"declarations":[{"constant":false,"id":56125,"mutability":"mutable","name":"spender","nameLocation":"5324:7:71","nodeType":"VariableDeclaration","scope":56143,"src":"5316:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56124,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56128,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56126,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"5334:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5334:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5316:30:71"},{"expression":{"arguments":[{"id":56130,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56114,"src":"5372:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56131,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56125,"src":"5378:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56132,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"5387:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56129,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"5356:15:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:38:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56134,"nodeType":"ExpressionStatement","src":"5356:38:71"},{"expression":{"arguments":[{"id":56136,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56114,"src":"5414:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56137,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56116,"src":"5420:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56138,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"5424:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56135,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56291,"src":"5404:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:27:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56140,"nodeType":"ExpressionStatement","src":"5404:27:71"},{"expression":{"hexValue":"74727565","id":56141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5448:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56123,"id":56142,"nodeType":"Return","src":"5441:11:71"}]},"baseFunctions":[56608],"documentation":{"id":56112,"nodeType":"StructuredDocumentation","src":"4647:551:71","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5212:12:71","overrides":{"id":56120,"nodeType":"OverrideSpecifier","overrides":[],"src":"5282:8:71"},"parameters":{"id":56119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56114,"mutability":"mutable","name":"from","nameLocation":"5233:4:71","nodeType":"VariableDeclaration","scope":56144,"src":"5225:12:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56113,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56116,"mutability":"mutable","name":"to","nameLocation":"5247:2:71","nodeType":"VariableDeclaration","scope":56144,"src":"5239:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56115,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56118,"mutability":"mutable","name":"amount","nameLocation":"5259:6:71","nodeType":"VariableDeclaration","scope":56144,"src":"5251:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56117,"name":"uint256","nodeType":"ElementaryTypeName","src":"5251:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5224:42:71"},"returnParameters":{"id":56123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56144,"src":"5300:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56121,"name":"bool","nodeType":"ElementaryTypeName","src":"5300:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5299:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56173,"nodeType":"FunctionDefinition","src":"5854:234:71","nodes":[],"body":{"id":56172,"nodeType":"Block","src":"5948:140:71","nodes":[],"statements":[{"assignments":[56155],"declarations":[{"constant":false,"id":56155,"mutability":"mutable","name":"owner","nameLocation":"5966:5:71","nodeType":"VariableDeclaration","scope":56172,"src":"5958:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56154,"name":"address","nodeType":"ElementaryTypeName","src":"5958:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56158,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56156,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"5974:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5958:28:71"},{"expression":{"arguments":[{"id":56160,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56155,"src":"6005:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56161,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56147,"src":"6012:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56163,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56155,"src":"6031:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56164,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56147,"src":"6038:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56162,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56086,"src":"6021:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56166,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56149,"src":"6049:10:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6021:38:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56159,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"5996:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5996:64:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56169,"nodeType":"ExpressionStatement","src":"5996:64:71"},{"expression":{"hexValue":"74727565","id":56170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56153,"id":56171,"nodeType":"Return","src":"6070:11:71"}]},"documentation":{"id":56145,"nodeType":"StructuredDocumentation","src":"5465:384:71","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5863:17:71","parameters":{"id":56150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56147,"mutability":"mutable","name":"spender","nameLocation":"5889:7:71","nodeType":"VariableDeclaration","scope":56173,"src":"5881:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56146,"name":"address","nodeType":"ElementaryTypeName","src":"5881:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56149,"mutability":"mutable","name":"addedValue","nameLocation":"5906:10:71","nodeType":"VariableDeclaration","scope":56173,"src":"5898:18:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56148,"name":"uint256","nodeType":"ElementaryTypeName","src":"5898:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5880:37:71"},"returnParameters":{"id":56153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56152,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56173,"src":"5942:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56151,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56214,"nodeType":"FunctionDefinition","src":"6575:427:71","nodes":[],"body":{"id":56213,"nodeType":"Block","src":"6674:328:71","nodes":[],"statements":[{"assignments":[56184],"declarations":[{"constant":false,"id":56184,"mutability":"mutable","name":"owner","nameLocation":"6692:5:71","nodeType":"VariableDeclaration","scope":56213,"src":"6684:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56183,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56187,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56185,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"6700:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:12:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6684:28:71"},{"assignments":[56189],"declarations":[{"constant":false,"id":56189,"mutability":"mutable","name":"currentAllowance","nameLocation":"6730:16:71","nodeType":"VariableDeclaration","scope":56213,"src":"6722:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56188,"name":"uint256","nodeType":"ElementaryTypeName","src":"6722:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56194,"initialValue":{"arguments":[{"id":56191,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56184,"src":"6759:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56192,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56176,"src":"6766:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56190,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56086,"src":"6749:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6749:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6722:52:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56196,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56189,"src":"6792:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56197,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56178,"src":"6812:15:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6792:35:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:39:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":56195,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6784:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:85:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56201,"nodeType":"ExpressionStatement","src":"6784:85:71"},{"id":56210,"nodeType":"UncheckedBlock","src":"6879:95:71","statements":[{"expression":{"arguments":[{"id":56203,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56184,"src":"6912:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56204,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56176,"src":"6919:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56205,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56189,"src":"6928:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56206,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56178,"src":"6947:15:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6928:34:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56202,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"6903:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:60:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56209,"nodeType":"ExpressionStatement","src":"6903:60:71"}]},{"expression":{"hexValue":"74727565","id":56211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6991:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56182,"id":56212,"nodeType":"Return","src":"6984:11:71"}]},"documentation":{"id":56174,"nodeType":"StructuredDocumentation","src":"6094:476:71","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6584:17:71","parameters":{"id":56179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56176,"mutability":"mutable","name":"spender","nameLocation":"6610:7:71","nodeType":"VariableDeclaration","scope":56214,"src":"6602:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56175,"name":"address","nodeType":"ElementaryTypeName","src":"6602:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56178,"mutability":"mutable","name":"subtractedValue","nameLocation":"6627:15:71","nodeType":"VariableDeclaration","scope":56214,"src":"6619:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56177,"name":"uint256","nodeType":"ElementaryTypeName","src":"6619:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6601:42:71"},"returnParameters":{"id":56182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56214,"src":"6668:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56180,"name":"bool","nodeType":"ElementaryTypeName","src":"6668:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6667:6:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56291,"nodeType":"FunctionDefinition","src":"7456:788:71","nodes":[],"body":{"id":56290,"nodeType":"Block","src":"7534:710:71","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56225,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"7552:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7568:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7560:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56226,"name":"address","nodeType":"ElementaryTypeName","src":"7560:7:71","typeDescriptions":{}}},"id":56229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7552:18:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":56231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7572:39:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":56224,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7544:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7544:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56233,"nodeType":"ExpressionStatement","src":"7544:68:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56235,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"7630:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7644:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7636:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56236,"name":"address","nodeType":"ElementaryTypeName","src":"7636:7:71","typeDescriptions":{}}},"id":56239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7636:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7630:16:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":56241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:37:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":56234,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7622:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7622:64:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56243,"nodeType":"ExpressionStatement","src":"7622:64:71"},{"expression":{"arguments":[{"id":56245,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"7718:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56246,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"7724:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56247,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"7728:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56244,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56519,"src":"7697:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7697:38:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56249,"nodeType":"ExpressionStatement","src":"7697:38:71"},{"assignments":[56251],"declarations":[{"constant":false,"id":56251,"mutability":"mutable","name":"fromBalance","nameLocation":"7754:11:71","nodeType":"VariableDeclaration","scope":56290,"src":"7746:19:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56250,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56255,"initialValue":{"baseExpression":{"id":56252,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"7768:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56254,"indexExpression":{"id":56253,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"7778:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7768:15:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:37:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56257,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56251,"src":"7801:11:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56258,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"7816:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:21:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":56260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7824:40:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":56256,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7793:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:72:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56262,"nodeType":"ExpressionStatement","src":"7793:72:71"},{"id":56277,"nodeType":"UncheckedBlock","src":"7875:273:71","statements":[{"expression":{"id":56269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56263,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"7899:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56265,"indexExpression":{"id":56264,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"7909:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7899:15:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56266,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56251,"src":"7917:11:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56267,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"7931:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7917:20:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:38:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56270,"nodeType":"ExpressionStatement","src":"7899:38:71"},{"expression":{"id":56275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56271,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"8114:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56273,"indexExpression":{"id":56272,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"8124:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8114:13:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56274,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"8131:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8114:23:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56276,"nodeType":"ExpressionStatement","src":"8114:23:71"}]},{"eventCall":{"arguments":[{"id":56279,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"8172:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56280,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"8178:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56281,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"8182:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56278,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56543,"src":"8163:8:71","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8163:26:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56283,"nodeType":"EmitStatement","src":"8158:31:71"},{"expression":{"arguments":[{"id":56285,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"8220:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56286,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"8226:2:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56287,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56221,"src":"8230:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56284,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56530,"src":"8200:19:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8200:37:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56289,"nodeType":"ExpressionStatement","src":"8200:37:71"}]},"documentation":{"id":56215,"nodeType":"StructuredDocumentation","src":"7008:443:71","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7465:9:71","parameters":{"id":56222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56217,"mutability":"mutable","name":"from","nameLocation":"7483:4:71","nodeType":"VariableDeclaration","scope":56291,"src":"7475:12:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56216,"name":"address","nodeType":"ElementaryTypeName","src":"7475:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56219,"mutability":"mutable","name":"to","nameLocation":"7497:2:71","nodeType":"VariableDeclaration","scope":56291,"src":"7489:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56218,"name":"address","nodeType":"ElementaryTypeName","src":"7489:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56221,"mutability":"mutable","name":"amount","nameLocation":"7509:6:71","nodeType":"VariableDeclaration","scope":56291,"src":"7501:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56220,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:42:71"},"returnParameters":{"id":56223,"nodeType":"ParameterList","parameters":[],"src":"7534:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56348,"nodeType":"FunctionDefinition","src":"8520:535:71","nodes":[],"body":{"id":56347,"nodeType":"Block","src":"8585:470:71","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56300,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8603:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8622:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8614:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56301,"name":"address","nodeType":"ElementaryTypeName","src":"8614:7:71","typeDescriptions":{}}},"id":56304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8603:21:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":56306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8626:33:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":56299,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8595:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8595:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56308,"nodeType":"ExpressionStatement","src":"8595:65:71"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8700:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8692:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56310,"name":"address","nodeType":"ElementaryTypeName","src":"8692:7:71","typeDescriptions":{}}},"id":56313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8692:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56314,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8704:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56315,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"8713:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56309,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56519,"src":"8671:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:49:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56317,"nodeType":"ExpressionStatement","src":"8671:49:71"},{"expression":{"id":56320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56318,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55968,"src":"8731:12:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56319,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"8747:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8731:22:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56321,"nodeType":"ExpressionStatement","src":"8731:22:71"},{"id":56328,"nodeType":"UncheckedBlock","src":"8763:175:71","statements":[{"expression":{"id":56326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56322,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"8899:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56324,"indexExpression":{"id":56323,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8909:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8899:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56325,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"8921:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8899:28:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56327,"nodeType":"ExpressionStatement","src":"8899:28:71"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":56332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8969:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56330,"name":"address","nodeType":"ElementaryTypeName","src":"8961:7:71","typeDescriptions":{}}},"id":56333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56334,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8973:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56335,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"8982:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56329,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56543,"src":"8952:8:71","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:37:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56337,"nodeType":"EmitStatement","src":"8947:42:71"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56339,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:71","typeDescriptions":{}}},"id":56342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56343,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"9032:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56344,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56296,"src":"9041:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56338,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56530,"src":"9000:19:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:48:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56346,"nodeType":"ExpressionStatement","src":"9000:48:71"}]},"documentation":{"id":56292,"nodeType":"StructuredDocumentation","src":"8250:265:71","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8529:5:71","parameters":{"id":56297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56294,"mutability":"mutable","name":"account","nameLocation":"8543:7:71","nodeType":"VariableDeclaration","scope":56348,"src":"8535:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56293,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56296,"mutability":"mutable","name":"amount","nameLocation":"8560:6:71","nodeType":"VariableDeclaration","scope":56348,"src":"8552:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56295,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8534:33:71"},"returnParameters":{"id":56298,"nodeType":"ParameterList","parameters":[],"src":"8585:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56420,"nodeType":"FunctionDefinition","src":"9375:659:71","nodes":[],"body":{"id":56419,"nodeType":"Block","src":"9440:594:71","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56357,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9458:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9477:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9469:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56358,"name":"address","nodeType":"ElementaryTypeName","src":"9469:7:71","typeDescriptions":{}}},"id":56361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9469:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9458:21:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":56363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9481:35:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":56356,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9450:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:67:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56365,"nodeType":"ExpressionStatement","src":"9450:67:71"},{"expression":{"arguments":[{"id":56367,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9549:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9558:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56368,"name":"address","nodeType":"ElementaryTypeName","src":"9558:7:71","typeDescriptions":{}}},"id":56371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9558:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56372,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9570:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56366,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56519,"src":"9528:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:49:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56374,"nodeType":"ExpressionStatement","src":"9528:49:71"},{"assignments":[56376],"declarations":[{"constant":false,"id":56376,"mutability":"mutable","name":"accountBalance","nameLocation":"9596:14:71","nodeType":"VariableDeclaration","scope":56419,"src":"9588:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56375,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56380,"initialValue":{"baseExpression":{"id":56377,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"9613:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56379,"indexExpression":{"id":56378,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9623:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9613:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9588:43:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56382,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56376,"src":"9649:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56383,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9667:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9649:24:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":56385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:36:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":56381,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9641:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:71:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56387,"nodeType":"ExpressionStatement","src":"9641:71:71"},{"id":56400,"nodeType":"UncheckedBlock","src":"9722:194:71","statements":[{"expression":{"id":56394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56388,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55960,"src":"9746:9:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56390,"indexExpression":{"id":56389,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9756:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9746:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56391,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56376,"src":"9767:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56392,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9784:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:23:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9746:44:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56395,"nodeType":"ExpressionStatement","src":"9746:44:71"},{"expression":{"id":56398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56396,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55968,"src":"9883:12:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":56397,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9899:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9883:22:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56399,"nodeType":"ExpressionStatement","src":"9883:22:71"}]},{"eventCall":{"arguments":[{"id":56402,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9940:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9949:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56403,"name":"address","nodeType":"ElementaryTypeName","src":"9949:7:71","typeDescriptions":{}}},"id":56406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56407,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"9961:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56401,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56543,"src":"9931:8:71","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9931:37:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56409,"nodeType":"EmitStatement","src":"9926:42:71"},{"expression":{"arguments":[{"id":56411,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56351,"src":"9999:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10008:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56412,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:71","typeDescriptions":{}}},"id":56415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10008:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56416,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56353,"src":"10020:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56410,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56530,"src":"9979:19:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:48:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56418,"nodeType":"ExpressionStatement","src":"9979:48:71"}]},"documentation":{"id":56349,"nodeType":"StructuredDocumentation","src":"9061:309:71","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9384:5:71","parameters":{"id":56354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56351,"mutability":"mutable","name":"account","nameLocation":"9398:7:71","nodeType":"VariableDeclaration","scope":56420,"src":"9390:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56350,"name":"address","nodeType":"ElementaryTypeName","src":"9390:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56353,"mutability":"mutable","name":"amount","nameLocation":"9415:6:71","nodeType":"VariableDeclaration","scope":56420,"src":"9407:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56352,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9389:33:71"},"returnParameters":{"id":56355,"nodeType":"ParameterList","parameters":[],"src":"9440:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56465,"nodeType":"FunctionDefinition","src":"10457:340:71","nodes":[],"body":{"id":56464,"nodeType":"Block","src":"10540:257:71","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56431,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56423,"src":"10558:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10575:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10567:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56432,"name":"address","nodeType":"ElementaryTypeName","src":"10567:7:71","typeDescriptions":{}}},"id":56435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10567:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10558:19:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":56437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10579:38:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":56430,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10550:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56439,"nodeType":"ExpressionStatement","src":"10550:68:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56441,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56425,"src":"10636:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10647:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56442,"name":"address","nodeType":"ElementaryTypeName","src":"10647:7:71","typeDescriptions":{}}},"id":56445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10636:21:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":56447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10659:36:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":56440,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10628:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10628:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56449,"nodeType":"ExpressionStatement","src":"10628:68:71"},{"expression":{"id":56456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":56450,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55966,"src":"10707:11:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56453,"indexExpression":{"id":56451,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56423,"src":"10719:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10707:18:71","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56454,"indexExpression":{"id":56452,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56425,"src":"10726:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10707:27:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56455,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56427,"src":"10737:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:36:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56457,"nodeType":"ExpressionStatement","src":"10707:36:71"},{"eventCall":{"arguments":[{"id":56459,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56423,"src":"10767:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56460,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56425,"src":"10774:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56461,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56427,"src":"10783:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56458,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56552,"src":"10758:8:71","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10758:32:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56463,"nodeType":"EmitStatement","src":"10753:37:71"}]},"documentation":{"id":56421,"nodeType":"StructuredDocumentation","src":"10040:412:71","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10466:8:71","parameters":{"id":56428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56423,"mutability":"mutable","name":"owner","nameLocation":"10483:5:71","nodeType":"VariableDeclaration","scope":56465,"src":"10475:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56422,"name":"address","nodeType":"ElementaryTypeName","src":"10475:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56425,"mutability":"mutable","name":"spender","nameLocation":"10498:7:71","nodeType":"VariableDeclaration","scope":56465,"src":"10490:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56424,"name":"address","nodeType":"ElementaryTypeName","src":"10490:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56427,"mutability":"mutable","name":"amount","nameLocation":"10515:6:71","nodeType":"VariableDeclaration","scope":56465,"src":"10507:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56426,"name":"uint256","nodeType":"ElementaryTypeName","src":"10507:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10474:48:71"},"returnParameters":{"id":56429,"nodeType":"ParameterList","parameters":[],"src":"10540:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56508,"nodeType":"FunctionDefinition","src":"11078:411:71","nodes":[],"body":{"id":56507,"nodeType":"Block","src":"11168:321:71","nodes":[],"statements":[{"assignments":[56476],"declarations":[{"constant":false,"id":56476,"mutability":"mutable","name":"currentAllowance","nameLocation":"11186:16:71","nodeType":"VariableDeclaration","scope":56507,"src":"11178:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56475,"name":"uint256","nodeType":"ElementaryTypeName","src":"11178:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56481,"initialValue":{"arguments":[{"id":56478,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56468,"src":"11215:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56479,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56470,"src":"11222:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56477,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56086,"src":"11205:9:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11178:52:71"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56482,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56476,"src":"11244:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":56485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11269:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56484,"name":"uint256","nodeType":"ElementaryTypeName","src":"11269:7:71","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":56483,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11264:4:71","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11264:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":56487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11278:3:71","memberName":"max","nodeType":"MemberAccess","src":"11264:17:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11244:37:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56506,"nodeType":"IfStatement","src":"11240:243:71","trueBody":{"id":56505,"nodeType":"Block","src":"11283:200:71","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56490,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56476,"src":"11305:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56491,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56472,"src":"11325:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11305:26:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":56493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:31:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":56489,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11297:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11297:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56495,"nodeType":"ExpressionStatement","src":"11297:68:71"},{"id":56504,"nodeType":"UncheckedBlock","src":"11379:94:71","statements":[{"expression":{"arguments":[{"id":56497,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56468,"src":"11416:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56498,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56470,"src":"11423:7:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56499,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56476,"src":"11432:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56500,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56472,"src":"11451:6:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11432:25:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56496,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"11407:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11407:51:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56503,"nodeType":"ExpressionStatement","src":"11407:51:71"}]}]}}]},"documentation":{"id":56466,"nodeType":"StructuredDocumentation","src":"10803:270:71","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11087:15:71","parameters":{"id":56473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56468,"mutability":"mutable","name":"owner","nameLocation":"11111:5:71","nodeType":"VariableDeclaration","scope":56508,"src":"11103:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56467,"name":"address","nodeType":"ElementaryTypeName","src":"11103:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56470,"mutability":"mutable","name":"spender","nameLocation":"11126:7:71","nodeType":"VariableDeclaration","scope":56508,"src":"11118:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56469,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56472,"mutability":"mutable","name":"amount","nameLocation":"11143:6:71","nodeType":"VariableDeclaration","scope":56508,"src":"11135:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56471,"name":"uint256","nodeType":"ElementaryTypeName","src":"11135:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11102:48:71"},"returnParameters":{"id":56474,"nodeType":"ParameterList","parameters":[],"src":"11168:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56519,"nodeType":"FunctionDefinition","src":"12073:91:71","nodes":[],"body":{"id":56518,"nodeType":"Block","src":"12162:2:71","nodes":[],"statements":[]},"documentation":{"id":56509,"nodeType":"StructuredDocumentation","src":"11495:573:71","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12082:20:71","parameters":{"id":56516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56511,"mutability":"mutable","name":"from","nameLocation":"12111:4:71","nodeType":"VariableDeclaration","scope":56519,"src":"12103:12:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56510,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56513,"mutability":"mutable","name":"to","nameLocation":"12125:2:71","nodeType":"VariableDeclaration","scope":56519,"src":"12117:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56512,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56515,"mutability":"mutable","name":"amount","nameLocation":"12137:6:71","nodeType":"VariableDeclaration","scope":56519,"src":"12129:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:42:71"},"returnParameters":{"id":56517,"nodeType":"ParameterList","parameters":[],"src":"12162:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56530,"nodeType":"FunctionDefinition","src":"12752:90:71","nodes":[],"body":{"id":56529,"nodeType":"Block","src":"12840:2:71","nodes":[],"statements":[]},"documentation":{"id":56520,"nodeType":"StructuredDocumentation","src":"12170:577:71","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12761:19:71","parameters":{"id":56527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56522,"mutability":"mutable","name":"from","nameLocation":"12789:4:71","nodeType":"VariableDeclaration","scope":56530,"src":"12781:12:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56521,"name":"address","nodeType":"ElementaryTypeName","src":"12781:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56524,"mutability":"mutable","name":"to","nameLocation":"12803:2:71","nodeType":"VariableDeclaration","scope":56530,"src":"12795:10:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56523,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56526,"mutability":"mutable","name":"amount","nameLocation":"12815:6:71","nodeType":"VariableDeclaration","scope":56530,"src":"12807:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56525,"name":"uint256","nodeType":"ElementaryTypeName","src":"12807:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12780:42:71"},"returnParameters":{"id":56528,"nodeType":"ParameterList","parameters":[],"src":"12840:0:71"},"scope":56531,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":55951,"name":"Context","nameLocations":["1550:7:71"],"nodeType":"IdentifierPath","referencedDeclaration":57443,"src":"1550:7:71"},"id":55952,"nodeType":"InheritanceSpecifier","src":"1550:7:71"},{"baseName":{"id":55953,"name":"IERC20","nameLocations":["1559:6:71"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1559:6:71"},"id":55954,"nodeType":"InheritanceSpecifier","src":"1559:6:71"},{"baseName":{"id":55955,"name":"IERC20Metadata","nameLocations":["1567:14:71"],"nodeType":"IdentifierPath","referencedDeclaration":56634,"src":"1567:14:71"},"id":55956,"nodeType":"InheritanceSpecifier","src":"1567:14:71"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":55950,"nodeType":"StructuredDocumentation","src":"230:1301:71","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"linearizedBaseContracts":[56531,56634,56609,57443],"name":"ERC20","nameLocation":"1541:5:71","scope":56532,"usedErrors":[]}],"license":"MIT"},"id":71}
\ No newline at end of file
diff --git a/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json b/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json
index e29550517..b32a6c133 100644
--- a/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json
+++ b/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":56610,"exportedSymbols":{"IERC20":[56609]},"nodeType":"SourceUnit","src":"106:2631:72","nodes":[{"id":56533,"nodeType":"PragmaDirective","src":"106:23:72","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56609,"nodeType":"ContractDefinition","src":"202:2534:72","nodes":[{"id":56543,"nodeType":"EventDefinition","src":"388:72:72","nodes":[],"anonymous":false,"documentation":{"id":56535,"nodeType":"StructuredDocumentation","src":"225:158:72","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"394:8:72","parameters":{"id":56542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56537,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:72","nodeType":"VariableDeclaration","scope":56543,"src":"403:20:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56536,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56539,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:72","nodeType":"VariableDeclaration","scope":56543,"src":"425:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56538,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56541,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:72","nodeType":"VariableDeclaration","scope":56543,"src":"445:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56540,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:72"}},{"id":56552,"nodeType":"EventDefinition","src":"619:78:72","nodes":[],"anonymous":false,"documentation":{"id":56544,"nodeType":"StructuredDocumentation","src":"466:148:72","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"625:8:72","parameters":{"id":56551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56546,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:72","nodeType":"VariableDeclaration","scope":56552,"src":"634:21:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56545,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56548,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:72","nodeType":"VariableDeclaration","scope":56552,"src":"657:23:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56547,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56550,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:72","nodeType":"VariableDeclaration","scope":56552,"src":"682:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56549,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:72"}},{"id":56558,"nodeType":"FunctionDefinition","src":"774:55:72","nodes":[],"documentation":{"id":56553,"nodeType":"StructuredDocumentation","src":"703:66:72","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:72","parameters":{"id":56554,"nodeType":"ParameterList","parameters":[],"src":"794:2:72"},"returnParameters":{"id":56557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56558,"src":"820:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56555,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:72"},"scope":56609,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56566,"nodeType":"FunctionDefinition","src":"912:68:72","nodes":[],"documentation":{"id":56559,"nodeType":"StructuredDocumentation","src":"835:72:72","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:72","parameters":{"id":56562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56561,"mutability":"mutable","name":"account","nameLocation":"939:7:72","nodeType":"VariableDeclaration","scope":56566,"src":"931:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56560,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:72"},"returnParameters":{"id":56565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56566,"src":"971:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56563,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:72"},"scope":56609,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56576,"nodeType":"FunctionDefinition","src":"1193:70:72","nodes":[],"documentation":{"id":56567,"nodeType":"StructuredDocumentation","src":"986:202:72","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:72","parameters":{"id":56572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56569,"mutability":"mutable","name":"to","nameLocation":"1219:2:72","nodeType":"VariableDeclaration","scope":56576,"src":"1211:10:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56568,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56571,"mutability":"mutable","name":"amount","nameLocation":"1231:6:72","nodeType":"VariableDeclaration","scope":56576,"src":"1223:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56570,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:72"},"returnParameters":{"id":56575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56574,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56576,"src":"1257:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56573,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:72"},"scope":56609,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56586,"nodeType":"FunctionDefinition","src":"1538:83:72","nodes":[],"documentation":{"id":56577,"nodeType":"StructuredDocumentation","src":"1269:264:72","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:72","parameters":{"id":56582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56579,"mutability":"mutable","name":"owner","nameLocation":"1565:5:72","nodeType":"VariableDeclaration","scope":56586,"src":"1557:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56578,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56581,"mutability":"mutable","name":"spender","nameLocation":"1580:7:72","nodeType":"VariableDeclaration","scope":56586,"src":"1572:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56580,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:72"},"returnParameters":{"id":56585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56586,"src":"1612:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56583,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:72"},"scope":56609,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56596,"nodeType":"FunctionDefinition","src":"2274:74:72","nodes":[],"documentation":{"id":56587,"nodeType":"StructuredDocumentation","src":"1627:642:72","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:72","parameters":{"id":56592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56589,"mutability":"mutable","name":"spender","nameLocation":"2299:7:72","nodeType":"VariableDeclaration","scope":56596,"src":"2291:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56588,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56591,"mutability":"mutable","name":"amount","nameLocation":"2316:6:72","nodeType":"VariableDeclaration","scope":56596,"src":"2308:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56590,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:72"},"returnParameters":{"id":56595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56596,"src":"2342:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56593,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:72"},"scope":56609,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56608,"nodeType":"FunctionDefinition","src":"2646:88:72","nodes":[],"documentation":{"id":56597,"nodeType":"StructuredDocumentation","src":"2354:287:72","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:72","parameters":{"id":56604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56599,"mutability":"mutable","name":"from","nameLocation":"2676:4:72","nodeType":"VariableDeclaration","scope":56608,"src":"2668:12:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56598,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56601,"mutability":"mutable","name":"to","nameLocation":"2690:2:72","nodeType":"VariableDeclaration","scope":56608,"src":"2682:10:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56600,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56603,"mutability":"mutable","name":"amount","nameLocation":"2702:6:72","nodeType":"VariableDeclaration","scope":56608,"src":"2694:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56602,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:72"},"returnParameters":{"id":56607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56608,"src":"2728:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56605,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:72"},"scope":56609,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":56534,"nodeType":"StructuredDocumentation","src":"131:70:72","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[56609],"name":"IERC20","nameLocation":"212:6:72","scope":56610,"usedErrors":[]}],"license":"MIT"},"id":72}
\ No newline at end of file
+{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":56610,"exportedSymbols":{"IERC20":[56609]},"nodeType":"SourceUnit","src":"106:2631:72","nodes":[{"id":56533,"nodeType":"PragmaDirective","src":"106:23:72","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56609,"nodeType":"ContractDefinition","src":"202:2534:72","nodes":[{"id":56543,"nodeType":"EventDefinition","src":"388:72:72","nodes":[],"anonymous":false,"documentation":{"id":56535,"nodeType":"StructuredDocumentation","src":"225:158:72","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"394:8:72","parameters":{"id":56542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56537,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:72","nodeType":"VariableDeclaration","scope":56543,"src":"403:20:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56536,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56539,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:72","nodeType":"VariableDeclaration","scope":56543,"src":"425:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56538,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56541,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:72","nodeType":"VariableDeclaration","scope":56543,"src":"445:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56540,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:72"}},{"id":56552,"nodeType":"EventDefinition","src":"619:78:72","nodes":[],"anonymous":false,"documentation":{"id":56544,"nodeType":"StructuredDocumentation","src":"466:148:72","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"625:8:72","parameters":{"id":56551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56546,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:72","nodeType":"VariableDeclaration","scope":56552,"src":"634:21:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56545,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56548,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:72","nodeType":"VariableDeclaration","scope":56552,"src":"657:23:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56547,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56550,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:72","nodeType":"VariableDeclaration","scope":56552,"src":"682:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56549,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:72"}},{"id":56558,"nodeType":"FunctionDefinition","src":"774:55:72","nodes":[],"documentation":{"id":56553,"nodeType":"StructuredDocumentation","src":"703:66:72","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:72","parameters":{"id":56554,"nodeType":"ParameterList","parameters":[],"src":"794:2:72"},"returnParameters":{"id":56557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56558,"src":"820:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56555,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:72"},"scope":56609,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56566,"nodeType":"FunctionDefinition","src":"912:68:72","nodes":[],"documentation":{"id":56559,"nodeType":"StructuredDocumentation","src":"835:72:72","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:72","parameters":{"id":56562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56561,"mutability":"mutable","name":"account","nameLocation":"939:7:72","nodeType":"VariableDeclaration","scope":56566,"src":"931:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56560,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:72"},"returnParameters":{"id":56565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56566,"src":"971:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56563,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:72"},"scope":56609,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56576,"nodeType":"FunctionDefinition","src":"1193:70:72","nodes":[],"documentation":{"id":56567,"nodeType":"StructuredDocumentation","src":"986:202:72","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:72","parameters":{"id":56572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56569,"mutability":"mutable","name":"to","nameLocation":"1219:2:72","nodeType":"VariableDeclaration","scope":56576,"src":"1211:10:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56568,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56571,"mutability":"mutable","name":"amount","nameLocation":"1231:6:72","nodeType":"VariableDeclaration","scope":56576,"src":"1223:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56570,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:72"},"returnParameters":{"id":56575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56574,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56576,"src":"1257:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56573,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:72"},"scope":56609,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56586,"nodeType":"FunctionDefinition","src":"1538:83:72","nodes":[],"documentation":{"id":56577,"nodeType":"StructuredDocumentation","src":"1269:264:72","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:72","parameters":{"id":56582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56579,"mutability":"mutable","name":"owner","nameLocation":"1565:5:72","nodeType":"VariableDeclaration","scope":56586,"src":"1557:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56578,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56581,"mutability":"mutable","name":"spender","nameLocation":"1580:7:72","nodeType":"VariableDeclaration","scope":56586,"src":"1572:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56580,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:72"},"returnParameters":{"id":56585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56586,"src":"1612:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56583,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:72"},"scope":56609,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56596,"nodeType":"FunctionDefinition","src":"2274:74:72","nodes":[],"documentation":{"id":56587,"nodeType":"StructuredDocumentation","src":"1627:642:72","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:72","parameters":{"id":56592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56589,"mutability":"mutable","name":"spender","nameLocation":"2299:7:72","nodeType":"VariableDeclaration","scope":56596,"src":"2291:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56588,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56591,"mutability":"mutable","name":"amount","nameLocation":"2316:6:72","nodeType":"VariableDeclaration","scope":56596,"src":"2308:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56590,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:72"},"returnParameters":{"id":56595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56596,"src":"2342:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56593,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:72"},"scope":56609,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56608,"nodeType":"FunctionDefinition","src":"2646:88:72","nodes":[],"documentation":{"id":56597,"nodeType":"StructuredDocumentation","src":"2354:287:72","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:72","parameters":{"id":56604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56599,"mutability":"mutable","name":"from","nameLocation":"2676:4:72","nodeType":"VariableDeclaration","scope":56608,"src":"2668:12:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56598,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56601,"mutability":"mutable","name":"to","nameLocation":"2690:2:72","nodeType":"VariableDeclaration","scope":56608,"src":"2682:10:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56600,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56603,"mutability":"mutable","name":"amount","nameLocation":"2702:6:72","nodeType":"VariableDeclaration","scope":56608,"src":"2694:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56602,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:72"},"returnParameters":{"id":56607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56608,"src":"2728:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56605,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:72"},"scope":56609,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":56534,"nodeType":"StructuredDocumentation","src":"131:70:72","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[56609],"name":"IERC20","nameLocation":"212:6:72","scope":56610,"usedErrors":[]}],"license":"MIT"},"id":72}
\ No newline at end of file
diff --git a/pkg/contracts/out/FAllo.sol/FAllo.json b/pkg/contracts/out/FAllo.sol/FAllo.json
index 49c3adc6b..a32789937 100644
--- a/pkg/contracts/out/FAllo.sol/FAllo.json
+++ b/pkg/contracts/out/FAllo.sol/FAllo.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/FAllo.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/FAllo.sol":"FAllo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","id":79466,"exportedSymbols":{"FAllo":[79465],"IAllo":[2610],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:636:121","nodes":[{"id":79426,"nodeType":"PragmaDirective","src":"42:24:121","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79428,"nodeType":"ImportDirective","src":"68:66:121","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":79466,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":79427,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"76:5:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79430,"nodeType":"ImportDirective","src":"135:73:121","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":79466,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":79429,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"143:8:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79465,"nodeType":"ContractDefinition","src":"210:467:121","nodes":[{"id":79451,"nodeType":"FunctionDefinition","src":"232:301:121","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"241:28:121","parameters":{"id":79447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79432,"mutability":"mutable","name":"_profileId","nameLocation":"287:10:121","nodeType":"VariableDeclaration","scope":79451,"src":"279:18:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":79431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":79434,"mutability":"mutable","name":"_strategy","nameLocation":"315:9:121","nodeType":"VariableDeclaration","scope":79451,"src":"307:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79433,"name":"address","nodeType":"ElementaryTypeName","src":"307:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79436,"mutability":"mutable","name":"_initStrategyData","nameLocation":"347:17:121","nodeType":"VariableDeclaration","scope":79451,"src":"334:30:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79435,"name":"bytes","nodeType":"ElementaryTypeName","src":"334:5:121","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79438,"mutability":"mutable","name":"_token","nameLocation":"382:6:121","nodeType":"VariableDeclaration","scope":79451,"src":"374:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79437,"name":"address","nodeType":"ElementaryTypeName","src":"374:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79440,"mutability":"mutable","name":"_amount","nameLocation":"406:7:121","nodeType":"VariableDeclaration","scope":79451,"src":"398:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79439,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79443,"mutability":"mutable","name":"_metadata","nameLocation":"439:9:121","nodeType":"VariableDeclaration","scope":79451,"src":"423:25:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":79442,"nodeType":"UserDefinedTypeName","pathNode":{"id":79441,"name":"Metadata","nameLocations":["423:8:121"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"423:8:121"},"referencedDeclaration":3098,"src":"423:8:121","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":79446,"mutability":"mutable","name":"_managers","nameLocation":"475:9:121","nodeType":"VariableDeclaration","scope":79451,"src":"458:26:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79444,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79445,"nodeType":"ArrayTypeName","src":"458:9:121","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"269:221:121"},"returnParameters":{"id":79450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79449,"mutability":"mutable","name":"poolId","nameLocation":"525:6:121","nodeType":"VariableDeclaration","scope":79451,"src":"517:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79448,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"516:16:121"},"scope":79465,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79456,"nodeType":"FunctionDefinition","src":"539:55:121","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"548:11:121","parameters":{"id":79452,"nodeType":"ParameterList","parameters":[],"src":"559:2:121"},"returnParameters":{"id":79455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79456,"src":"585:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79453,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"584:9:121"},"scope":79465,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79464,"nodeType":"FunctionDefinition","src":"599:76:121","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"608:7:121","parameters":{"id":79459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79458,"mutability":"mutable","name":"_poolId","nameLocation":"624:7:121","nodeType":"VariableDeclaration","scope":79464,"src":"616:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79457,"name":"uint256","nodeType":"ElementaryTypeName","src":"616:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"615:17:121"},"returnParameters":{"id":79463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79462,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79464,"src":"656:17:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":79461,"nodeType":"UserDefinedTypeName","pathNode":{"id":79460,"name":"IAllo.Pool","nameLocations":["656:5:121","662:4:121"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"656:10:121"},"referencedDeclaration":2319,"src":"656:10:121","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"655:19:121"},"scope":79465,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79465],"name":"FAllo","nameLocation":"220:5:121","scope":79466,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":121}
\ No newline at end of file
+{"abi":[{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/FAllo.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/FAllo.sol":"FAllo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","id":79526,"exportedSymbols":{"FAllo":[79525],"IAllo":[2610],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:636:121","nodes":[{"id":79486,"nodeType":"PragmaDirective","src":"42:24:121","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79488,"nodeType":"ImportDirective","src":"68:66:121","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":79526,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":79487,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"76:5:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79490,"nodeType":"ImportDirective","src":"135:73:121","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":79526,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":79489,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"143:8:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79525,"nodeType":"ContractDefinition","src":"210:467:121","nodes":[{"id":79511,"nodeType":"FunctionDefinition","src":"232:301:121","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"241:28:121","parameters":{"id":79507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79492,"mutability":"mutable","name":"_profileId","nameLocation":"287:10:121","nodeType":"VariableDeclaration","scope":79511,"src":"279:18:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":79491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":79494,"mutability":"mutable","name":"_strategy","nameLocation":"315:9:121","nodeType":"VariableDeclaration","scope":79511,"src":"307:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79493,"name":"address","nodeType":"ElementaryTypeName","src":"307:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79496,"mutability":"mutable","name":"_initStrategyData","nameLocation":"347:17:121","nodeType":"VariableDeclaration","scope":79511,"src":"334:30:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79495,"name":"bytes","nodeType":"ElementaryTypeName","src":"334:5:121","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79498,"mutability":"mutable","name":"_token","nameLocation":"382:6:121","nodeType":"VariableDeclaration","scope":79511,"src":"374:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79497,"name":"address","nodeType":"ElementaryTypeName","src":"374:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79500,"mutability":"mutable","name":"_amount","nameLocation":"406:7:121","nodeType":"VariableDeclaration","scope":79511,"src":"398:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79499,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79503,"mutability":"mutable","name":"_metadata","nameLocation":"439:9:121","nodeType":"VariableDeclaration","scope":79511,"src":"423:25:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":79502,"nodeType":"UserDefinedTypeName","pathNode":{"id":79501,"name":"Metadata","nameLocations":["423:8:121"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"423:8:121"},"referencedDeclaration":3098,"src":"423:8:121","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":79506,"mutability":"mutable","name":"_managers","nameLocation":"475:9:121","nodeType":"VariableDeclaration","scope":79511,"src":"458:26:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79504,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79505,"nodeType":"ArrayTypeName","src":"458:9:121","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"269:221:121"},"returnParameters":{"id":79510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79509,"mutability":"mutable","name":"poolId","nameLocation":"525:6:121","nodeType":"VariableDeclaration","scope":79511,"src":"517:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79508,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"516:16:121"},"scope":79525,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79516,"nodeType":"FunctionDefinition","src":"539:55:121","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"548:11:121","parameters":{"id":79512,"nodeType":"ParameterList","parameters":[],"src":"559:2:121"},"returnParameters":{"id":79515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79514,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79516,"src":"585:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79513,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"584:9:121"},"scope":79525,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79524,"nodeType":"FunctionDefinition","src":"599:76:121","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"608:7:121","parameters":{"id":79519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79518,"mutability":"mutable","name":"_poolId","nameLocation":"624:7:121","nodeType":"VariableDeclaration","scope":79524,"src":"616:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79517,"name":"uint256","nodeType":"ElementaryTypeName","src":"616:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"615:17:121"},"returnParameters":{"id":79523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79524,"src":"656:17:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":79521,"nodeType":"UserDefinedTypeName","pathNode":{"id":79520,"name":"IAllo.Pool","nameLocations":["656:5:121","662:4:121"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"656:10:121"},"referencedDeclaration":2319,"src":"656:10:121","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"655:19:121"},"scope":79525,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79525],"name":"FAllo","nameLocation":"220:5:121","scope":79526,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":121}
\ No newline at end of file
diff --git a/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json b/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json
index 7a57a7432..c5c87de0d 100644
--- a/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json
+++ b/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json
@@ -1 +1 @@
-{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x6080604052346200033a5762000f9d803803806200001d816200033f565b9283398101906060818303126200033a5780516001600160401b03908181116200033a57836200004f91840162000365565b90602093848401518281116200033a576040916200006f91860162000365565b9301519260ff84168094036200033a57825190828211620003245760008054926001958685811c9516801562000319575b8986101462000305578190601f95868111620002b2575b5089908683116001146200024e57849262000242575b5050600019600383901b1c191690861b1781555b81519384116200022e5784548581811c9116801562000223575b888210146200020f57838111620001c7575b5086928411600114620001615783949596509262000155575b5050600019600383901b1c191690821b1790555b60ff196002541617600255604051610bc59081620003d88239f35b01519050388062000126565b9190601f1984169685845280842093905b888210620001af575050838596971062000195575b505050811b0190556200013a565b015160001960f88460031b161c1916905538808062000187565b80878596829496860151815501950193019062000172565b8582528782208480870160051c8201928a881062000205575b0160051c019086905b828110620001f95750506200010d565b838155018690620001e9565b92508192620001e0565b634e487b7160e01b82526022600452602482fd5b90607f1690620000fb565b634e487b7160e01b81526041600452602490fd5b015190503880620000cd565b8480528a85208994509190601f198416865b8d8282106200029b575050841162000281575b505050811b018155620000e1565b015160001960f88460031b161c1916905538808062000273565b8385015186558c9790950194938401930162000260565b9091508380528984208680850160051c8201928c8610620002fb575b918a91869594930160051c01915b828110620002ec575050620000b7565b8681558594508a9101620002dc565b92508192620002ce565b634e487b7160e01b83526022600452602483fd5b94607f1694620000a0565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200032457604052565b919080601f840112156200033a5782516001600160401b03811162000324576020906200039b601f8201601f191683016200033f565b928184528282870101116200033a5760005b818110620003c357508260009394955001015290565b8581018301518482018401528201620003ad56fe60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066735822122012fd584b2a1889095179bc971ea37e802f1865c76ace8e2c4fde9028999849d464736f6c63430008130033","sourceMap":"290:2060:107:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2060:107;;;;;;;;;;;;;;;;543:21;290:2060;;;543:21;290:2060;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;-1:-1:-1;;290:2060:107;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;-1:-1:-1;290:2060:107;;-1:-1:-1;290:2060:107;;;;;;;;;-1:-1:-1;;290:2060:107;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066735822122012fd584b2a1889095179bc971ea37e802f1865c76ace8e2c4fde9028999849d464736f6c63430008130033","sourceMap":"290:2060:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934:14;290:2060:107;11081:1934:14;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2261:81;;;;;;;;;;;;;21786:1164:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934;290:2060:107;11081:1934:14;;;;21786:1164;-1:-1:-1;;;;;;;;;;;21786:1164:14;;;290:2060:107;;21786:1164:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;5674:184:14;;;;;;;;;;290:2060:107;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;14252:18:14;;:::i;:::-;14323:2708;;;;;;;;;290:2060:107;11081:1934:14;290:2060:107;11081:1934:14;;;;14323:2708;;;;;;;;;;;;290:2060:107;14323:2708:14;;;;;;;;290:2060:107;14323:2708:14;;;;;;;;;;;;;;;;;290:2060:107;14323:2708:14;;;;;;290:2060:107;14323:2708:14;;;11081:1934;14323:2708;;;;;;;;;;;;;;;;290:2060:107;14323:2708:14;;;290:2060:107;;14323:2708:14;;290:2060:107;;;14323:2708:14;;;290:2060:107;14323:2708:14;290:2060:107;14323:2708:14;;;;;;;;;-1:-1:-1;;;14323:2708:14;;;;;;;;-1:-1:-1;;;;;;;;;;;14323:2708:14;;;290:2060:107;;14323:2708:14;;;;;;;;;;;;;;290:2060:107;;;;;;;;;;;;;:::i;:::-;2261:81;;;;;;;;23520:810:14;;;;;2261:81:107;;;23520:810:14;;;;;;;;11081:1934;;;23520:810;;;;290:2060:107;;;23520:810:14;;;;;;;;;;;;;;290:2060:107;;;23520:810:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;2261:81;;;;;9295:1143:14;;;;;;;290:2060:107;9295:1143:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9295:1143:14;;;290:2060:107;;;;;9295:1143:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2261:81;;;;;290:2060;8037:861:14;;;;;;;;;;;;;;;;;;290:2060:107;8037:861:14;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8037:861:14;;;;290:2060:107;;;;;8037:861:14;;;;;;;290:2060:107;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;:::i;:::-;;;2261:81;;;;;20311:887:14;;;;;;;290:2060:107;20311:887:14;;;;;;;;;;;;;;;;;;;;;;;;;;290:2060:107;11081:1934:14;;;;20311:887;-1:-1:-1;;;;;;;;;;;290:2060:107;20311:887:14;;290:2060:107;;20311:887:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;;769:7;290:2060;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;-1:-1:-1;;290:2060:107;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;-1:-1:-1;;290:2060:107;;;;;;;;-1:-1:-1;290:2060:107;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;;;:::i;:::-;13632:205:14;;;;;;;;;290:2060:107;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;;;:::i;:::-;5240:148:14;;;;;;;;;290:2060:107;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;:::i;:::-;;;;2261:81;;;;;18729:946:14;;;;;;;;;;;;;;;;;;;;290:2060:107;18729:946:14;;;;;;;;290:2060:107;18729:946:14;;;;;;-1:-1:-1;;;;;;;;;;;290:2060:107;18729:946:14;;290:2060:107;;18729:946:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2261:81;;;;290:2060;6847:884:14;;;;;;;;;;;;;290:2060:107;;;6847:884:14;;;;;;;;;290:2060:107;6847:884:14;;;;;;;;;-1:-1:-1;;;;;;;;;;;6847:884:14;;;;290:2060:107;;;;;6847:884:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;871:9;290:2060;;;;;;;;;;;;;;;;;;:::i;:::-;2261:81;;;;;;;;;;;;11081:1934:14;;;;;;;;;;;;;;;;;;;;;;;;;;;290:2060:107;11081:1934:14;;;;;;;;;;;;;;;;;;-1:-1:-1;11081:1934:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11081:1934:14;-1:-1:-1;;;;;;;;;;;11081:1934:14;;;290:2060:107;;;;;11081:1934:14;;;;;;;;;;;;;;;;;;;;;;290:2060:107;;;;;;;;;;;;;;;4968:68:14;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;6128:413:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6128:413:14;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;-1:-1:-1;;290:2060:107;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2060:107;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;290:2060:107;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;11081:1934:14;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;:::o;17096:1062:14:-;17222:87;;663:5:107;290:2060;;;;;;;;;;;;;;;;;17096:1062:14;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;-1:-1:-1;;290:2060:107;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;17508:644:14;290:2060:107;17222:87:14;290:2060:107;;;17431:24:14;;17508:644;;;;;;17222:87;17508:644;;;;;;;;;;;;;;17096:1062;:::o;290:2060:107:-;;;;663:5;290:2060;;;;;663:5;290:2060;;;;;663:5;290:2060;;;663:5;290:2060;;;663:5;290:2060;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;-1:-1:-1;;290:2060:107;;;;;;;;-1:-1:-1;290:2060:107;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/GV2ERC20.sol\":\"GV2ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/GV2ERC20.sol":"GV2ERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":71191,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":71193,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":71195,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/script/GV2ERC20.sol","id":71406,"exportedSymbols":{"ERC20":[4533],"GV2ERC20":[71405]},"nodeType":"SourceUnit","src":"42:2309:107","nodes":[{"id":71184,"nodeType":"PragmaDirective","src":"42:24:107","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":71186,"nodeType":"ImportDirective","src":"68:50:107","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":71406,"sourceUnit":4534,"symbolAliases":[{"foreign":{"id":71185,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"76:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71405,"nodeType":"ContractDefinition","src":"290:2060:107","nodes":[{"id":71191,"nodeType":"VariableDeclaration","src":"323:21:107","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"339:5:107","scope":71405,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71190,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":71193,"nodeType":"VariableDeclaration","src":"350:23:107","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"366:7:107","scope":71405,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71192,"name":"string","nodeType":"ElementaryTypeName","src":"350:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":71195,"nodeType":"VariableDeclaration","src":"379:24:107","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"394:9:107","scope":71405,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71194,"name":"uint8","nodeType":"ElementaryTypeName","src":"379:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":71217,"nodeType":"FunctionDefinition","src":"410:161:107","nodes":[],"body":{"id":71216,"nodeType":"Block","src":"483:88:107","nodes":[],"statements":[{"expression":{"id":71206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71204,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71191,"src":"493:5:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71205,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71197,"src":"501:5:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"493:13:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71207,"nodeType":"ExpressionStatement","src":"493:13:107"},{"expression":{"id":71210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71208,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71193,"src":"516:7:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71209,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71199,"src":"526:7:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"516:17:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71211,"nodeType":"ExpressionStatement","src":"516:17:107"},{"expression":{"id":71214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71212,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71195,"src":"543:9:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71213,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71201,"src":"555:9:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"543:21:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":71215,"nodeType":"ExpressionStatement","src":"543:21:107"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":71202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71197,"mutability":"mutable","name":"name_","nameLocation":"436:5:107","nodeType":"VariableDeclaration","scope":71217,"src":"422:19:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71196,"name":"string","nodeType":"ElementaryTypeName","src":"422:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71199,"mutability":"mutable","name":"symbol_","nameLocation":"457:7:107","nodeType":"VariableDeclaration","scope":71217,"src":"443:21:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71198,"name":"string","nodeType":"ElementaryTypeName","src":"443:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71201,"mutability":"mutable","name":"decimals_","nameLocation":"472:9:107","nodeType":"VariableDeclaration","scope":71217,"src":"466:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71200,"name":"uint8","nodeType":"ElementaryTypeName","src":"466:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"421:61:107"},"returnParameters":{"id":71203,"nodeType":"ParameterList","parameters":[],"src":"483:0:107"},"scope":71405,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":71226,"nodeType":"FunctionDefinition","src":"577:98:107","nodes":[],"body":{"id":71225,"nodeType":"Block","src":"646:29:107","nodes":[],"statements":[{"expression":{"id":71223,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71191,"src":"663:5:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":71222,"id":71224,"nodeType":"Return","src":"656:12:107"}]},"baseFunctions":[4209],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"586:4:107","overrides":{"id":71219,"nodeType":"OverrideSpecifier","overrides":[],"src":"613:8:107"},"parameters":{"id":71218,"nodeType":"ParameterList","parameters":[],"src":"590:2:107"},"returnParameters":{"id":71222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71226,"src":"631:13:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71220,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"630:15:107"},"scope":71405,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71235,"nodeType":"FunctionDefinition","src":"681:102:107","nodes":[],"body":{"id":71234,"nodeType":"Block","src":"752:31:107","nodes":[],"statements":[{"expression":{"id":71232,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71193,"src":"769:7:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":71231,"id":71233,"nodeType":"Return","src":"762:14:107"}]},"baseFunctions":[4215],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"690:6:107","overrides":{"id":71228,"nodeType":"OverrideSpecifier","overrides":[],"src":"719:8:107"},"parameters":{"id":71227,"nodeType":"ParameterList","parameters":[],"src":"696:2:107"},"returnParameters":{"id":71231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71235,"src":"737:13:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71229,"name":"string","nodeType":"ElementaryTypeName","src":"737:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"736:15:107"},"scope":71405,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71244,"nodeType":"FunctionDefinition","src":"789:98:107","nodes":[],"body":{"id":71243,"nodeType":"Block","src":"854:33:107","nodes":[],"statements":[{"expression":{"id":71241,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71195,"src":"871:9:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":71240,"id":71242,"nodeType":"Return","src":"864:16:107"}]},"baseFunctions":[4224],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"798:8:107","overrides":{"id":71237,"nodeType":"OverrideSpecifier","overrides":[],"src":"829:8:107"},"parameters":{"id":71236,"nodeType":"ParameterList","parameters":[],"src":"806:2:107"},"returnParameters":{"id":71240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71239,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71244,"src":"847:5:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71238,"name":"uint8","nodeType":"ElementaryTypeName","src":"847:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"846:7:107"},"scope":71405,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71259,"nodeType":"FunctionDefinition","src":"893:102:107","nodes":[],"body":{"id":71258,"nodeType":"Block","src":"949:46:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71253,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71246,"src":"977:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71252,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"965:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"965:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71255,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71248,"src":"982:5:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71251,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4434,"src":"959:5:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"959:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71257,"nodeType":"ExpressionStatement","src":"959:29:107"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"902:4:107","parameters":{"id":71249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71246,"mutability":"mutable","name":"to","nameLocation":"915:2:107","nodeType":"VariableDeclaration","scope":71259,"src":"907:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71245,"name":"address","nodeType":"ElementaryTypeName","src":"907:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71248,"mutability":"mutable","name":"value","nameLocation":"927:5:107","nodeType":"VariableDeclaration","scope":71259,"src":"919:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71247,"name":"uint256","nodeType":"ElementaryTypeName","src":"919:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"906:27:107"},"returnParameters":{"id":71250,"nodeType":"ParameterList","parameters":[],"src":"949:0:107"},"scope":71405,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71274,"nodeType":"FunctionDefinition","src":"1001:106:107","nodes":[],"body":{"id":71273,"nodeType":"Block","src":"1059:48:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71268,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71261,"src":"1087:4:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71267,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"1075:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1075:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71270,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71263,"src":"1094:5:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71266,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4462,"src":"1069:5:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1069:31:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71272,"nodeType":"ExpressionStatement","src":"1069:31:107"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1010:4:107","parameters":{"id":71264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71261,"mutability":"mutable","name":"from","nameLocation":"1023:4:107","nodeType":"VariableDeclaration","scope":71274,"src":"1015:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71260,"name":"address","nodeType":"ElementaryTypeName","src":"1015:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71263,"mutability":"mutable","name":"value","nameLocation":"1037:5:107","nodeType":"VariableDeclaration","scope":71274,"src":"1029:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71262,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1014:29:107"},"returnParameters":{"id":71265,"nodeType":"ParameterList","parameters":[],"src":"1059:0:107"},"scope":71405,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71294,"nodeType":"FunctionDefinition","src":"1113:151:107","nodes":[],"body":{"id":71293,"nodeType":"Block","src":"1194:70:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71285,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71276,"src":"1226:4:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71284,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"1214:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71288,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71278,"src":"1245:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71287,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"1233:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71290,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71280,"src":"1250:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71283,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4486,"src":"1204:9:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":71291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1204:53:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71292,"nodeType":"ExpressionStatement","src":"1204:53:107"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1122:14:107","parameters":{"id":71281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71276,"mutability":"mutable","name":"from","nameLocation":"1145:4:107","nodeType":"VariableDeclaration","scope":71294,"src":"1137:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71275,"name":"address","nodeType":"ElementaryTypeName","src":"1137:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71278,"mutability":"mutable","name":"to","nameLocation":"1159:2:107","nodeType":"VariableDeclaration","scope":71294,"src":"1151:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71277,"name":"address","nodeType":"ElementaryTypeName","src":"1151:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71280,"mutability":"mutable","name":"amount","nameLocation":"1171:6:107","nodeType":"VariableDeclaration","scope":71294,"src":"1163:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71279,"name":"uint256","nodeType":"ElementaryTypeName","src":"1163:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1136:42:107"},"returnParameters":{"id":71282,"nodeType":"ParameterList","parameters":[],"src":"1194:0:107"},"scope":71405,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71314,"nodeType":"FunctionDefinition","src":"1270:175:107","nodes":[],"body":{"id":71313,"nodeType":"Block","src":"1363:82:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71305,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71296,"src":"1401:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71304,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"1389:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1389:18:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71308,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71298,"src":"1421:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71307,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"1409:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71310,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71300,"src":"1431:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71303,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"1373:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":71311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:65:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71312,"nodeType":"ExpressionStatement","src":"1373:65:107"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1279:20:107","parameters":{"id":71301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71296,"mutability":"mutable","name":"owner","nameLocation":"1308:5:107","nodeType":"VariableDeclaration","scope":71314,"src":"1300:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71295,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71298,"mutability":"mutable","name":"spender","nameLocation":"1323:7:107","nodeType":"VariableDeclaration","scope":71314,"src":"1315:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71297,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71300,"mutability":"mutable","name":"amount","nameLocation":"1340:6:107","nodeType":"VariableDeclaration","scope":71314,"src":"1332:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71299,"name":"uint256","nodeType":"ElementaryTypeName","src":"1332:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1299:48:107"},"returnParameters":{"id":71302,"nodeType":"ParameterList","parameters":[],"src":"1363:0:107"},"scope":71405,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71333,"nodeType":"FunctionDefinition","src":"1451:148:107","nodes":[],"body":{"id":71332,"nodeType":"Block","src":"1536:63:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71327,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71316,"src":"1580:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71326,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"1568:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1568:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71329,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71318,"src":"1585:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71324,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1553:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$71405_$","typeString":"type(contract super GV2ERC20)"}},"id":71325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1559:8:107","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4324,"src":"1553:14:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":71330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1553:39:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71323,"id":71331,"nodeType":"Return","src":"1546:46:107"}]},"baseFunctions":[4324],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1460:8:107","overrides":{"id":71320,"nodeType":"OverrideSpecifier","overrides":[],"src":"1512:8:107"},"parameters":{"id":71319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71316,"mutability":"mutable","name":"to","nameLocation":"1477:2:107","nodeType":"VariableDeclaration","scope":71333,"src":"1469:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71315,"name":"address","nodeType":"ElementaryTypeName","src":"1469:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71318,"mutability":"mutable","name":"amount","nameLocation":"1489:6:107","nodeType":"VariableDeclaration","scope":71333,"src":"1481:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71317,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1468:28:107"},"returnParameters":{"id":71323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71333,"src":"1530:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71321,"name":"bool","nodeType":"ElementaryTypeName","src":"1530:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1529:6:107"},"scope":71405,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71357,"nodeType":"FunctionDefinition","src":"1605:189:107","nodes":[],"body":{"id":71356,"nodeType":"Block","src":"1708:86:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71348,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71335,"src":"1756:4:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71347,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"1744:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1744:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71351,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71337,"src":"1775:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71350,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"1763:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1763:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71353,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71339,"src":"1780:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71345,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1725:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$71405_$","typeString":"type(contract super GV2ERC20)"}},"id":71346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1731:12:107","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4352,"src":"1725:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":71354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1725:62:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71344,"id":71355,"nodeType":"Return","src":"1718:69:107"}]},"baseFunctions":[4352],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1614:12:107","overrides":{"id":71341,"nodeType":"OverrideSpecifier","overrides":[],"src":"1684:8:107"},"parameters":{"id":71340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71335,"mutability":"mutable","name":"from","nameLocation":"1635:4:107","nodeType":"VariableDeclaration","scope":71357,"src":"1627:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71334,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71337,"mutability":"mutable","name":"to","nameLocation":"1649:2:107","nodeType":"VariableDeclaration","scope":71357,"src":"1641:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71336,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71339,"mutability":"mutable","name":"amount","nameLocation":"1661:6:107","nodeType":"VariableDeclaration","scope":71357,"src":"1653:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71338,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1626:42:107"},"returnParameters":{"id":71344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71357,"src":"1702:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71342,"name":"bool","nodeType":"ElementaryTypeName","src":"1702:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1701:6:107"},"scope":71405,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71376,"nodeType":"FunctionDefinition","src":"1800:184:107","nodes":[],"body":{"id":71375,"nodeType":"Block","src":"1903:81:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71370,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71359,"src":"1956:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71369,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"1944:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1944:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71372,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71361,"src":"1966:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71367,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1920:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$71405_$","typeString":"type(contract super GV2ERC20)"}},"id":71368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1926:17:107","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1920:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":71373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71366,"id":71374,"nodeType":"Return","src":"1913:64:107"}]},"baseFunctions":[4282],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1809:17:107","overrides":{"id":71363,"nodeType":"OverrideSpecifier","overrides":[],"src":"1879:8:107"},"parameters":{"id":71362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71359,"mutability":"mutable","name":"spender","nameLocation":"1835:7:107","nodeType":"VariableDeclaration","scope":71376,"src":"1827:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71358,"name":"address","nodeType":"ElementaryTypeName","src":"1827:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71361,"mutability":"mutable","name":"difference","nameLocation":"1852:10:107","nodeType":"VariableDeclaration","scope":71376,"src":"1844:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71360,"name":"uint256","nodeType":"ElementaryTypeName","src":"1844:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1826:37:107"},"returnParameters":{"id":71366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71365,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71376,"src":"1897:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71364,"name":"bool","nodeType":"ElementaryTypeName","src":"1897:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1896:6:107"},"scope":71405,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71395,"nodeType":"FunctionDefinition","src":"1990:184:107","nodes":[],"body":{"id":71394,"nodeType":"Block","src":"2093:81:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71389,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71378,"src":"2146:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71388,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71404,"src":"2134:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71391,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71380,"src":"2156:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71386,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2110:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$71405_$","typeString":"type(contract super GV2ERC20)"}},"id":71387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:17:107","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4296,"src":"2110:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":71392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71385,"id":71393,"nodeType":"Return","src":"2103:64:107"}]},"baseFunctions":[4296],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1999:17:107","overrides":{"id":71382,"nodeType":"OverrideSpecifier","overrides":[],"src":"2069:8:107"},"parameters":{"id":71381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71378,"mutability":"mutable","name":"spender","nameLocation":"2025:7:107","nodeType":"VariableDeclaration","scope":71395,"src":"2017:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71377,"name":"address","nodeType":"ElementaryTypeName","src":"2017:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71380,"mutability":"mutable","name":"difference","nameLocation":"2042:10:107","nodeType":"VariableDeclaration","scope":71395,"src":"2034:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71379,"name":"uint256","nodeType":"ElementaryTypeName","src":"2034:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2016:37:107"},"returnParameters":{"id":71385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71395,"src":"2087:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71383,"name":"bool","nodeType":"ElementaryTypeName","src":"2087:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2086:6:107"},"scope":71405,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71404,"nodeType":"FunctionDefinition","src":"2180:168:107","nodes":[],"body":{"id":71403,"nodeType":"Block","src":"2251:97:107","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2286:56:107","statements":[{"nodeType":"YulAssignment","src":"2300:32:107","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2313:1:107"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2320:3:107","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2325:3:107"},"nodeType":"YulFunctionCall","src":"2325:5:107"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2316:3:107"},"nodeType":"YulFunctionCall","src":"2316:15:107"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2310:2:107"},"nodeType":"YulFunctionCall","src":"2310:22:107"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2300:6:107"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":71397,"isOffset":false,"isSlot":false,"src":"2313:1:107","valueSize":1},{"declaration":71400,"isOffset":false,"isSlot":false,"src":"2300:6:107","valueSize":1}],"flags":["memory-safe"],"id":71402,"nodeType":"InlineAssembly","src":"2261:81:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2189:11:107","parameters":{"id":71398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71397,"mutability":"mutable","name":"a","nameLocation":"2209:1:107","nodeType":"VariableDeclaration","scope":71404,"src":"2201:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71396,"name":"address","nodeType":"ElementaryTypeName","src":"2201:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2200:11:107"},"returnParameters":{"id":71401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71400,"mutability":"mutable","name":"result","nameLocation":"2243:6:107","nodeType":"VariableDeclaration","scope":71404,"src":"2235:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71399,"name":"address","nodeType":"ElementaryTypeName","src":"2235:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2234:16:107"},"scope":71405,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":71188,"name":"ERC20","nameLocations":["311:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":4533,"src":"311:5:107"},"id":71189,"nodeType":"InheritanceSpecifier","src":"311:5:107"}],"canonicalName":"GV2ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":71187,"nodeType":"StructuredDocumentation","src":"120:170:107","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[71405,4533],"name":"GV2ERC20","nameLocation":"299:8:107","scope":71406,"usedErrors":[4143,4146,4149,4152,4155,4158,4161]}],"license":"AGPL-3.0-only"},"id":107}
\ No newline at end of file
+{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x6080604052346200033a5762000f9d803803806200001d816200033f565b9283398101906060818303126200033a5780516001600160401b03908181116200033a57836200004f91840162000365565b90602093848401518281116200033a576040916200006f91860162000365565b9301519260ff84168094036200033a57825190828211620003245760008054926001958685811c9516801562000319575b8986101462000305578190601f95868111620002b2575b5089908683116001146200024e57849262000242575b5050600019600383901b1c191690861b1781555b81519384116200022e5784548581811c9116801562000223575b888210146200020f57838111620001c7575b5086928411600114620001615783949596509262000155575b5050600019600383901b1c191690821b1790555b60ff196002541617600255604051610bc59081620003d88239f35b01519050388062000126565b9190601f1984169685845280842093905b888210620001af575050838596971062000195575b505050811b0190556200013a565b015160001960f88460031b161c1916905538808062000187565b80878596829496860151815501950193019062000172565b8582528782208480870160051c8201928a881062000205575b0160051c019086905b828110620001f95750506200010d565b838155018690620001e9565b92508192620001e0565b634e487b7160e01b82526022600452602482fd5b90607f1690620000fb565b634e487b7160e01b81526041600452602490fd5b015190503880620000cd565b8480528a85208994509190601f198416865b8d8282106200029b575050841162000281575b505050811b018155620000e1565b015160001960f88460031b161c1916905538808062000273565b8385015186558c9790950194938401930162000260565b9091508380528984208680850160051c8201928c8610620002fb575b918a91869594930160051c01915b828110620002ec575050620000b7565b8681558594508a9101620002dc565b92508192620002ce565b634e487b7160e01b83526022600452602483fd5b94607f1694620000a0565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200032457604052565b919080601f840112156200033a5782516001600160401b03811162000324576020906200039b601f8201601f191683016200033f565b928184528282870101116200033a5760005b818110620003c357508260009394955001015290565b8581018301518482018401528201620003ad56fe60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212205db94fd3d052ac97f537ecd9201c7ac9ffd90484d27820572ab0c660299d844664736f6c63430008130033","sourceMap":"290:2060:107:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2060:107;;;;;;;;;;;;;;;;543:21;290:2060;;;543:21;290:2060;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;-1:-1:-1;;290:2060:107;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;-1:-1:-1;290:2060:107;;-1:-1:-1;290:2060:107;;;;;;;;;-1:-1:-1;;290:2060:107;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212205db94fd3d052ac97f537ecd9201c7ac9ffd90484d27820572ab0c660299d844664736f6c63430008130033","sourceMap":"290:2060:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934:14;290:2060:107;11081:1934:14;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2261:81;;;;;;;;;;;;;21786:1164:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934;290:2060:107;11081:1934:14;;;;21786:1164;-1:-1:-1;;;;;;;;;;;21786:1164:14;;;290:2060:107;;21786:1164:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;5674:184:14;;;;;;;;;;290:2060:107;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;14252:18:14;;:::i;:::-;14323:2708;;;;;;;;;290:2060:107;11081:1934:14;290:2060:107;11081:1934:14;;;;14323:2708;;;;;;;;;;;;290:2060:107;14323:2708:14;;;;;;;;290:2060:107;14323:2708:14;;;;;;;;;;;;;;;;;290:2060:107;14323:2708:14;;;;;;290:2060:107;14323:2708:14;;;11081:1934;14323:2708;;;;;;;;;;;;;;;;290:2060:107;14323:2708:14;;;290:2060:107;;14323:2708:14;;290:2060:107;;;14323:2708:14;;;290:2060:107;14323:2708:14;290:2060:107;14323:2708:14;;;;;;;;;-1:-1:-1;;;14323:2708:14;;;;;;;;-1:-1:-1;;;;;;;;;;;14323:2708:14;;;290:2060:107;;14323:2708:14;;;;;;;;;;;;;;290:2060:107;;;;;;;;;;;;;:::i;:::-;2261:81;;;;;;;;23520:810:14;;;;;2261:81:107;;;23520:810:14;;;;;;;;11081:1934;;;23520:810;;;;290:2060:107;;;23520:810:14;;;;;;;;;;;;;;290:2060:107;;;23520:810:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;2261:81;;;;;9295:1143:14;;;;;;;290:2060:107;9295:1143:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9295:1143:14;;;290:2060:107;;;;;9295:1143:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2261:81;;;;;290:2060;8037:861:14;;;;;;;;;;;;;;;;;;290:2060:107;8037:861:14;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8037:861:14;;;;290:2060:107;;;;;8037:861:14;;;;;;;290:2060:107;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;:::i;:::-;;;2261:81;;;;;20311:887:14;;;;;;;290:2060:107;20311:887:14;;;;;;;;;;;;;;;;;;;;;;;;;;290:2060:107;11081:1934:14;;;;20311:887;-1:-1:-1;;;;;;;;;;;290:2060:107;20311:887:14;;290:2060:107;;20311:887:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;;769:7;290:2060;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;-1:-1:-1;;290:2060:107;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;-1:-1:-1;;290:2060:107;;;;;;;;-1:-1:-1;290:2060:107;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;;;:::i;:::-;13632:205:14;;;;;;;;;290:2060:107;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;;;:::i;:::-;5240:148:14;;;;;;;;;290:2060:107;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;;;;:::i;:::-;;;;2261:81;;;;;18729:946:14;;;;;;;;;;;;;;;;;;;;290:2060:107;18729:946:14;;;;;;;;290:2060:107;18729:946:14;;;;;;-1:-1:-1;;;;;;;;;;;290:2060:107;18729:946:14;;290:2060:107;;18729:946:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2261:81;;;;290:2060;6847:884:14;;;;;;;;;;;;;290:2060:107;;;6847:884:14;;;;;;;;;290:2060:107;6847:884:14;;;;;;;;;-1:-1:-1;;;;;;;;;;;6847:884:14;;;;290:2060:107;;;;;6847:884:14;;;;;;290:2060:107;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;871:9;290:2060;;;;;;;;;;;;;;;;;;:::i;:::-;2261:81;;;;;;;;;;;;11081:1934:14;;;;;;;;;;;;;;;;;;;;;;;;;;;290:2060:107;11081:1934:14;;;;;;;;;;;;;;;;;;-1:-1:-1;11081:1934:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11081:1934:14;-1:-1:-1;;;;;;;;;;;11081:1934:14;;;290:2060:107;;;;;11081:1934:14;;;;;;;;;;;;;;;;;;;;;;290:2060:107;;;;;;;;;;;;;;;4968:68:14;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;6128:413:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6128:413:14;;;;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;-1:-1:-1;;290:2060:107;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2060:107;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;290:2060:107;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;11081:1934:14;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;:::o;17096:1062:14:-;17222:87;;663:5:107;290:2060;;;;;;;;;;;;;;;;;17096:1062:14;290:2060:107;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:107;;;;;-1:-1:-1;;290:2060:107;;;;-1:-1:-1;;;;;290:2060:107;;;;;;;;17508:644:14;290:2060:107;17222:87:14;290:2060:107;;;17431:24:14;;17508:644;;;;;;17222:87;17508:644;;;;;;;;;;;;;;17096:1062;:::o;290:2060:107:-;;;;663:5;290:2060;;;;;663:5;290:2060;;;;;663:5;290:2060;;;663:5;290:2060;;;663:5;290:2060;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:107;;;-1:-1:-1;;290:2060:107;;;;;;;;-1:-1:-1;290:2060:107;;;;;;-1:-1:-1;;;290:2060:107;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/GV2ERC20.sol\":\"GV2ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/GV2ERC20.sol":"GV2ERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":71251,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":71253,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":71255,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/script/GV2ERC20.sol","id":71466,"exportedSymbols":{"ERC20":[4533],"GV2ERC20":[71465]},"nodeType":"SourceUnit","src":"42:2309:107","nodes":[{"id":71244,"nodeType":"PragmaDirective","src":"42:24:107","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":71246,"nodeType":"ImportDirective","src":"68:50:107","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":71466,"sourceUnit":4534,"symbolAliases":[{"foreign":{"id":71245,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"76:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71465,"nodeType":"ContractDefinition","src":"290:2060:107","nodes":[{"id":71251,"nodeType":"VariableDeclaration","src":"323:21:107","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"339:5:107","scope":71465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71250,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":71253,"nodeType":"VariableDeclaration","src":"350:23:107","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"366:7:107","scope":71465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71252,"name":"string","nodeType":"ElementaryTypeName","src":"350:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":71255,"nodeType":"VariableDeclaration","src":"379:24:107","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"394:9:107","scope":71465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71254,"name":"uint8","nodeType":"ElementaryTypeName","src":"379:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":71277,"nodeType":"FunctionDefinition","src":"410:161:107","nodes":[],"body":{"id":71276,"nodeType":"Block","src":"483:88:107","nodes":[],"statements":[{"expression":{"id":71266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71264,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71251,"src":"493:5:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71265,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71257,"src":"501:5:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"493:13:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71267,"nodeType":"ExpressionStatement","src":"493:13:107"},{"expression":{"id":71270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71268,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71253,"src":"516:7:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71269,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71259,"src":"526:7:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"516:17:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71271,"nodeType":"ExpressionStatement","src":"516:17:107"},{"expression":{"id":71274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71272,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"543:9:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71273,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71261,"src":"555:9:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"543:21:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":71275,"nodeType":"ExpressionStatement","src":"543:21:107"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":71262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71257,"mutability":"mutable","name":"name_","nameLocation":"436:5:107","nodeType":"VariableDeclaration","scope":71277,"src":"422:19:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71256,"name":"string","nodeType":"ElementaryTypeName","src":"422:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71259,"mutability":"mutable","name":"symbol_","nameLocation":"457:7:107","nodeType":"VariableDeclaration","scope":71277,"src":"443:21:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71258,"name":"string","nodeType":"ElementaryTypeName","src":"443:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71261,"mutability":"mutable","name":"decimals_","nameLocation":"472:9:107","nodeType":"VariableDeclaration","scope":71277,"src":"466:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71260,"name":"uint8","nodeType":"ElementaryTypeName","src":"466:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"421:61:107"},"returnParameters":{"id":71263,"nodeType":"ParameterList","parameters":[],"src":"483:0:107"},"scope":71465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":71286,"nodeType":"FunctionDefinition","src":"577:98:107","nodes":[],"body":{"id":71285,"nodeType":"Block","src":"646:29:107","nodes":[],"statements":[{"expression":{"id":71283,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71251,"src":"663:5:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":71282,"id":71284,"nodeType":"Return","src":"656:12:107"}]},"baseFunctions":[4209],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"586:4:107","overrides":{"id":71279,"nodeType":"OverrideSpecifier","overrides":[],"src":"613:8:107"},"parameters":{"id":71278,"nodeType":"ParameterList","parameters":[],"src":"590:2:107"},"returnParameters":{"id":71282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71286,"src":"631:13:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71280,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"630:15:107"},"scope":71465,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71295,"nodeType":"FunctionDefinition","src":"681:102:107","nodes":[],"body":{"id":71294,"nodeType":"Block","src":"752:31:107","nodes":[],"statements":[{"expression":{"id":71292,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71253,"src":"769:7:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":71291,"id":71293,"nodeType":"Return","src":"762:14:107"}]},"baseFunctions":[4215],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"690:6:107","overrides":{"id":71288,"nodeType":"OverrideSpecifier","overrides":[],"src":"719:8:107"},"parameters":{"id":71287,"nodeType":"ParameterList","parameters":[],"src":"696:2:107"},"returnParameters":{"id":71291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71295,"src":"737:13:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71289,"name":"string","nodeType":"ElementaryTypeName","src":"737:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"736:15:107"},"scope":71465,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71304,"nodeType":"FunctionDefinition","src":"789:98:107","nodes":[],"body":{"id":71303,"nodeType":"Block","src":"854:33:107","nodes":[],"statements":[{"expression":{"id":71301,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"871:9:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":71300,"id":71302,"nodeType":"Return","src":"864:16:107"}]},"baseFunctions":[4224],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"798:8:107","overrides":{"id":71297,"nodeType":"OverrideSpecifier","overrides":[],"src":"829:8:107"},"parameters":{"id":71296,"nodeType":"ParameterList","parameters":[],"src":"806:2:107"},"returnParameters":{"id":71300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71304,"src":"847:5:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71298,"name":"uint8","nodeType":"ElementaryTypeName","src":"847:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"846:7:107"},"scope":71465,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71319,"nodeType":"FunctionDefinition","src":"893:102:107","nodes":[],"body":{"id":71318,"nodeType":"Block","src":"949:46:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71313,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71306,"src":"977:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71312,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"965:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"965:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71315,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71308,"src":"982:5:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71311,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4434,"src":"959:5:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"959:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71317,"nodeType":"ExpressionStatement","src":"959:29:107"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"902:4:107","parameters":{"id":71309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71306,"mutability":"mutable","name":"to","nameLocation":"915:2:107","nodeType":"VariableDeclaration","scope":71319,"src":"907:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71305,"name":"address","nodeType":"ElementaryTypeName","src":"907:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71308,"mutability":"mutable","name":"value","nameLocation":"927:5:107","nodeType":"VariableDeclaration","scope":71319,"src":"919:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71307,"name":"uint256","nodeType":"ElementaryTypeName","src":"919:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"906:27:107"},"returnParameters":{"id":71310,"nodeType":"ParameterList","parameters":[],"src":"949:0:107"},"scope":71465,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71334,"nodeType":"FunctionDefinition","src":"1001:106:107","nodes":[],"body":{"id":71333,"nodeType":"Block","src":"1059:48:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71328,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71321,"src":"1087:4:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71327,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"1075:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1075:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71330,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71323,"src":"1094:5:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71326,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4462,"src":"1069:5:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1069:31:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71332,"nodeType":"ExpressionStatement","src":"1069:31:107"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1010:4:107","parameters":{"id":71324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71321,"mutability":"mutable","name":"from","nameLocation":"1023:4:107","nodeType":"VariableDeclaration","scope":71334,"src":"1015:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71320,"name":"address","nodeType":"ElementaryTypeName","src":"1015:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71323,"mutability":"mutable","name":"value","nameLocation":"1037:5:107","nodeType":"VariableDeclaration","scope":71334,"src":"1029:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71322,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1014:29:107"},"returnParameters":{"id":71325,"nodeType":"ParameterList","parameters":[],"src":"1059:0:107"},"scope":71465,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71354,"nodeType":"FunctionDefinition","src":"1113:151:107","nodes":[],"body":{"id":71353,"nodeType":"Block","src":"1194:70:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71345,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71336,"src":"1226:4:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71344,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"1214:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71348,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71338,"src":"1245:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71347,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"1233:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71350,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71340,"src":"1250:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71343,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4486,"src":"1204:9:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":71351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1204:53:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71352,"nodeType":"ExpressionStatement","src":"1204:53:107"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1122:14:107","parameters":{"id":71341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71336,"mutability":"mutable","name":"from","nameLocation":"1145:4:107","nodeType":"VariableDeclaration","scope":71354,"src":"1137:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71335,"name":"address","nodeType":"ElementaryTypeName","src":"1137:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71338,"mutability":"mutable","name":"to","nameLocation":"1159:2:107","nodeType":"VariableDeclaration","scope":71354,"src":"1151:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71337,"name":"address","nodeType":"ElementaryTypeName","src":"1151:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71340,"mutability":"mutable","name":"amount","nameLocation":"1171:6:107","nodeType":"VariableDeclaration","scope":71354,"src":"1163:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71339,"name":"uint256","nodeType":"ElementaryTypeName","src":"1163:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1136:42:107"},"returnParameters":{"id":71342,"nodeType":"ParameterList","parameters":[],"src":"1194:0:107"},"scope":71465,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71374,"nodeType":"FunctionDefinition","src":"1270:175:107","nodes":[],"body":{"id":71373,"nodeType":"Block","src":"1363:82:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71365,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"1401:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71364,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"1389:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1389:18:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71368,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71358,"src":"1421:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71367,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"1409:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71370,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71360,"src":"1431:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71363,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"1373:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":71371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:65:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71372,"nodeType":"ExpressionStatement","src":"1373:65:107"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1279:20:107","parameters":{"id":71361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71356,"mutability":"mutable","name":"owner","nameLocation":"1308:5:107","nodeType":"VariableDeclaration","scope":71374,"src":"1300:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71355,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71358,"mutability":"mutable","name":"spender","nameLocation":"1323:7:107","nodeType":"VariableDeclaration","scope":71374,"src":"1315:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71357,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71360,"mutability":"mutable","name":"amount","nameLocation":"1340:6:107","nodeType":"VariableDeclaration","scope":71374,"src":"1332:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71359,"name":"uint256","nodeType":"ElementaryTypeName","src":"1332:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1299:48:107"},"returnParameters":{"id":71362,"nodeType":"ParameterList","parameters":[],"src":"1363:0:107"},"scope":71465,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71393,"nodeType":"FunctionDefinition","src":"1451:148:107","nodes":[],"body":{"id":71392,"nodeType":"Block","src":"1536:63:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71387,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71376,"src":"1580:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71386,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"1568:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1568:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71389,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71378,"src":"1585:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71384,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1553:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$71465_$","typeString":"type(contract super GV2ERC20)"}},"id":71385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1559:8:107","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4324,"src":"1553:14:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":71390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1553:39:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71383,"id":71391,"nodeType":"Return","src":"1546:46:107"}]},"baseFunctions":[4324],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1460:8:107","overrides":{"id":71380,"nodeType":"OverrideSpecifier","overrides":[],"src":"1512:8:107"},"parameters":{"id":71379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71376,"mutability":"mutable","name":"to","nameLocation":"1477:2:107","nodeType":"VariableDeclaration","scope":71393,"src":"1469:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71375,"name":"address","nodeType":"ElementaryTypeName","src":"1469:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71378,"mutability":"mutable","name":"amount","nameLocation":"1489:6:107","nodeType":"VariableDeclaration","scope":71393,"src":"1481:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71377,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1468:28:107"},"returnParameters":{"id":71383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71393,"src":"1530:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71381,"name":"bool","nodeType":"ElementaryTypeName","src":"1530:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1529:6:107"},"scope":71465,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71417,"nodeType":"FunctionDefinition","src":"1605:189:107","nodes":[],"body":{"id":71416,"nodeType":"Block","src":"1708:86:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71408,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71395,"src":"1756:4:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71407,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"1744:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1744:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71411,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71397,"src":"1775:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71410,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"1763:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1763:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71413,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71399,"src":"1780:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71405,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1725:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$71465_$","typeString":"type(contract super GV2ERC20)"}},"id":71406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1731:12:107","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4352,"src":"1725:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":71414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1725:62:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71404,"id":71415,"nodeType":"Return","src":"1718:69:107"}]},"baseFunctions":[4352],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1614:12:107","overrides":{"id":71401,"nodeType":"OverrideSpecifier","overrides":[],"src":"1684:8:107"},"parameters":{"id":71400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71395,"mutability":"mutable","name":"from","nameLocation":"1635:4:107","nodeType":"VariableDeclaration","scope":71417,"src":"1627:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71394,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71397,"mutability":"mutable","name":"to","nameLocation":"1649:2:107","nodeType":"VariableDeclaration","scope":71417,"src":"1641:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71396,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71399,"mutability":"mutable","name":"amount","nameLocation":"1661:6:107","nodeType":"VariableDeclaration","scope":71417,"src":"1653:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71398,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1626:42:107"},"returnParameters":{"id":71404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71403,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71417,"src":"1702:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71402,"name":"bool","nodeType":"ElementaryTypeName","src":"1702:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1701:6:107"},"scope":71465,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71436,"nodeType":"FunctionDefinition","src":"1800:184:107","nodes":[],"body":{"id":71435,"nodeType":"Block","src":"1903:81:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71430,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71419,"src":"1956:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71429,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"1944:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1944:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71432,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71421,"src":"1966:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71427,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1920:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$71465_$","typeString":"type(contract super GV2ERC20)"}},"id":71428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1926:17:107","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1920:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":71433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71426,"id":71434,"nodeType":"Return","src":"1913:64:107"}]},"baseFunctions":[4282],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1809:17:107","overrides":{"id":71423,"nodeType":"OverrideSpecifier","overrides":[],"src":"1879:8:107"},"parameters":{"id":71422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71419,"mutability":"mutable","name":"spender","nameLocation":"1835:7:107","nodeType":"VariableDeclaration","scope":71436,"src":"1827:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71418,"name":"address","nodeType":"ElementaryTypeName","src":"1827:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71421,"mutability":"mutable","name":"difference","nameLocation":"1852:10:107","nodeType":"VariableDeclaration","scope":71436,"src":"1844:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71420,"name":"uint256","nodeType":"ElementaryTypeName","src":"1844:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1826:37:107"},"returnParameters":{"id":71426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71436,"src":"1897:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71424,"name":"bool","nodeType":"ElementaryTypeName","src":"1897:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1896:6:107"},"scope":71465,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71455,"nodeType":"FunctionDefinition","src":"1990:184:107","nodes":[],"body":{"id":71454,"nodeType":"Block","src":"2093:81:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":71449,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71438,"src":"2146:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71448,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71464,"src":"2134:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":71450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71451,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71440,"src":"2156:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71446,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2110:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$71465_$","typeString":"type(contract super GV2ERC20)"}},"id":71447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:17:107","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4296,"src":"2110:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":71452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71445,"id":71453,"nodeType":"Return","src":"2103:64:107"}]},"baseFunctions":[4296],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1999:17:107","overrides":{"id":71442,"nodeType":"OverrideSpecifier","overrides":[],"src":"2069:8:107"},"parameters":{"id":71441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71438,"mutability":"mutable","name":"spender","nameLocation":"2025:7:107","nodeType":"VariableDeclaration","scope":71455,"src":"2017:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71437,"name":"address","nodeType":"ElementaryTypeName","src":"2017:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71440,"mutability":"mutable","name":"difference","nameLocation":"2042:10:107","nodeType":"VariableDeclaration","scope":71455,"src":"2034:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71439,"name":"uint256","nodeType":"ElementaryTypeName","src":"2034:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2016:37:107"},"returnParameters":{"id":71445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71444,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71455,"src":"2087:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71443,"name":"bool","nodeType":"ElementaryTypeName","src":"2087:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2086:6:107"},"scope":71465,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71464,"nodeType":"FunctionDefinition","src":"2180:168:107","nodes":[],"body":{"id":71463,"nodeType":"Block","src":"2251:97:107","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2286:56:107","statements":[{"nodeType":"YulAssignment","src":"2300:32:107","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2313:1:107"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2320:3:107","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2325:3:107"},"nodeType":"YulFunctionCall","src":"2325:5:107"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2316:3:107"},"nodeType":"YulFunctionCall","src":"2316:15:107"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2310:2:107"},"nodeType":"YulFunctionCall","src":"2310:22:107"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2300:6:107"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":71457,"isOffset":false,"isSlot":false,"src":"2313:1:107","valueSize":1},{"declaration":71460,"isOffset":false,"isSlot":false,"src":"2300:6:107","valueSize":1}],"flags":["memory-safe"],"id":71462,"nodeType":"InlineAssembly","src":"2261:81:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2189:11:107","parameters":{"id":71458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71457,"mutability":"mutable","name":"a","nameLocation":"2209:1:107","nodeType":"VariableDeclaration","scope":71464,"src":"2201:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71456,"name":"address","nodeType":"ElementaryTypeName","src":"2201:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2200:11:107"},"returnParameters":{"id":71461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71460,"mutability":"mutable","name":"result","nameLocation":"2243:6:107","nodeType":"VariableDeclaration","scope":71464,"src":"2235:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71459,"name":"address","nodeType":"ElementaryTypeName","src":"2235:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2234:16:107"},"scope":71465,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":71248,"name":"ERC20","nameLocations":["311:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":4533,"src":"311:5:107"},"id":71249,"nodeType":"InheritanceSpecifier","src":"311:5:107"}],"canonicalName":"GV2ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":71247,"nodeType":"StructuredDocumentation","src":"120:170:107","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[71465,4533],"name":"GV2ERC20","nameLocation":"299:8:107","scope":71466,"usedErrors":[4143,4146,4149,4152,4155,4158,4161]}],"license":"AGPL-3.0-only"},"id":107}
\ No newline at end of file
diff --git a/pkg/contracts/out/IAllo.sol/IAllo.json b/pkg/contracts/out/IAllo.sol/IAllo.json
index 433981788..0cbb1344b 100644
--- a/pkg/contracts/out/IAllo.sol/IAllo.json
+++ b/pkg/contracts/out/IAllo.sol/IAllo.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to add\",\"_poolId\":\"The ID of the pool to add the manager to\"}},\"addToCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to add\"}},\"allocate(uint256,bytes)\":{\"details\":\"Each strategy will handle the allocation of funds differently.\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy.\",\"_poolId\":\"The ID of the pool to allocate funds from\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"Each strategy will handle the allocation of funds differently\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolIds\":\"The pool ID's to register the recipients for\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"Each strategy will handle the distribution of funds differently\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolId\":\"The ID of the pool to distribute from\",\"_recipientIds\":\"The recipient ids to distribute to\"}},\"fundPool(uint256,uint256)\":{\"details\":\"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.\",\"params\":{\"_amount\":\"The amount to fund the pool with\",\"_poolId\":\"The ID of the pool to fund\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"baseFee The current base fee\"}},\"getFeeDenominator()\":{\"details\":\"1e18 represents 100%\",\"returns\":{\"_0\":\"feeDenominator The current fee denominator\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"percentFee The current percentage for the fee\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"pool The 'Pool' struct for the ID of the pool passed in\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"registry The current registry address\"}},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"strategy The address of the strategy for the ID of the pool passed in\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"treasury The current treasury address\"}},\"initialize(address,address,address,uint256,uint256)\":{\"params\":{\"_baseFee\":\"Base fee amount\",\"_owner\":\"Address of the owner\",\"_percentFee\":\"Percentage for the fee\",\"_registry\":\"Address of the registry contract\",\"_treasury\":\"Address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy to check\"},\"returns\":{\"_0\":\"'true' if the '_strategy' is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool manager, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_recipient\":\"The address to send the recovered funds to\",\"_token\":\"The token to recover\"}},\"registerRecipient(uint256,bytes)\":{\"params\":{\"_poolId\":\"The ID of the pool to register the recipient for\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to remove\"}},\"removePoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to remove\",\"_poolId\":\"The ID of the pool to remove the manager from\"}},\"updateBaseFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_percentFee\":\"The new percentage for the fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_metadata\":\"The new metadata to set\",\"_poolId\":\"The ID of the pool to update\"}},\"updateRegistry(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"title\":\"Allo Interface\",\"version\":1},\"userdoc\":{\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"addPoolManager(uint256,address)\":{\"notice\":\"Adds a pool manager to the pool.\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Adds a strategy to the cloneable strategies.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocates funds to a recipient.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocates funds to multiple recipients.\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Registers a batch of recipients.\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distributes funds to recipients and emits {Distributed} event if successful\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Funds a pool.\"},\"getBaseFee()\":{\"notice\":\"Returns the current base fee\"},\"getFeeDenominator()\":{\"notice\":\"Returns the current fee denominator\"},\"getPercentFee()\":{\"notice\":\"Returns the current percent fee\"},\"getPool(uint256)\":{\"notice\":\"Returns the 'Pool' struct for a given 'poolId'\"},\"getRegistry()\":{\"notice\":\"Returns the current registry address\"},\"getStrategy(uint256)\":{\"notice\":\"Returns the address of the strategy for a given 'poolId'\"},\"getTreasury()\":{\"notice\":\"Returns the current treasury address\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initialize the Allo contract\"},\"isCloneableStrategy(address)\":{\"notice\":\"Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if an address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if an address is a pool manager.\"},\"recoverFunds(address,address)\":{\"notice\":\"Recovers funds from a pool.\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Removes a strategy from the cloneable strategies.\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Removes a pool manager from the pool.\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the percentage for the fee.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Updates a pools metadata.\"},\"updateRegistry(address)\":{\"notice\":\"Update the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"Interface for the Allo contract. It exposes all functions needed to use the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":\"IAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to add","_poolId":"The ID of the pool to add the manager to"}},"addToCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to add"}},"allocate(uint256,bytes)":{"details":"Each strategy will handle the allocation of funds differently.","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy.","_poolId":"The ID of the pool to allocate funds from"}},"batchAllocate(uint256[],bytes[])":{"details":"Each strategy will handle the allocation of funds differently"},"batchRegisterRecipient(uint256[],bytes[])":{"params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolIds":"The pool ID's to register the recipients for"}},"distribute(uint256,address[],bytes)":{"details":"Each strategy will handle the distribution of funds differently","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolId":"The ID of the pool to distribute from","_recipientIds":"The recipient ids to distribute to"}},"fundPool(uint256,uint256)":{"details":"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.","params":{"_amount":"The amount to fund the pool with","_poolId":"The ID of the pool to fund"}},"getBaseFee()":{"returns":{"_0":"baseFee The current base fee"}},"getFeeDenominator()":{"details":"1e18 represents 100%","returns":{"_0":"feeDenominator The current fee denominator"}},"getPercentFee()":{"returns":{"_0":"percentFee The current percentage for the fee"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"pool The 'Pool' struct for the ID of the pool passed in"}},"getRegistry()":{"returns":{"_0":"registry The current registry address"}},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"strategy The address of the strategy for the ID of the pool passed in"}},"getTreasury()":{"returns":{"_0":"treasury The current treasury address"}},"initialize(address,address,address,uint256,uint256)":{"params":{"_baseFee":"Base fee amount","_owner":"Address of the owner","_percentFee":"Percentage for the fee","_registry":"Address of the registry contract","_treasury":"Address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy to check"},"returns":{"_0":"'true' if the '_strategy' is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool manager, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_recipient":"The address to send the recovered funds to","_token":"The token to recover"}},"registerRecipient(uint256,bytes)":{"params":{"_poolId":"The ID of the pool to register the recipient for"}},"removeFromCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to remove"}},"removePoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to remove","_poolId":"The ID of the pool to remove the manager from"}},"updateBaseFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_percentFee":"The new percentage for the fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool admin.","params":{"_metadata":"The new metadata to set","_poolId":"The ID of the pool to update"}},"updateRegistry(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addPoolManager(uint256,address)":{"notice":"Adds a pool manager to the pool."},"addToCloneableStrategies(address)":{"notice":"Adds a strategy to the cloneable strategies."},"allocate(uint256,bytes)":{"notice":"Allocates funds to a recipient."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocates funds to multiple recipients."},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Registers a batch of recipients."},"distribute(uint256,address[],bytes)":{"notice":"Distributes funds to recipients and emits {Distributed} event if successful"},"fundPool(uint256,uint256)":{"notice":"Funds a pool."},"getBaseFee()":{"notice":"Returns the current base fee"},"getFeeDenominator()":{"notice":"Returns the current fee denominator"},"getPercentFee()":{"notice":"Returns the current percent fee"},"getPool(uint256)":{"notice":"Returns the 'Pool' struct for a given 'poolId'"},"getRegistry()":{"notice":"Returns the current registry address"},"getStrategy(uint256)":{"notice":"Returns the address of the strategy for a given 'poolId'"},"getTreasury()":{"notice":"Returns the current treasury address"},"initialize(address,address,address,uint256,uint256)":{"notice":"Initialize the Allo contract"},"isCloneableStrategy(address)":{"notice":"Checks if a strategy is cloneable (is in the cloneableStrategies mapping)."},"isPoolAdmin(uint256,address)":{"notice":"Checks if an address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if an address is a pool manager."},"recoverFunds(address,address)":{"notice":"Recovers funds from a pool."},"registerRecipient(uint256,bytes)":{"notice":"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy."},"removeFromCloneableStrategies(address)":{"notice":"Removes a strategy from the cloneable strategies."},"removePoolManager(uint256,address)":{"notice":"Removes a pool manager from the pool."},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the percentage for the fee."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Updates a pools metadata."},"updateRegistry(address)":{"notice":"Update the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":"IAllo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","id":2611,"exportedSymbols":{"IAllo":[2610],"IRegistry":[2802],"IStrategy":[2969],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:15030:3","nodes":[{"id":2297,"nodeType":"PragmaDirective","src":"42:24:3","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2299,"nodeType":"ImportDirective","src":"82:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./IRegistry.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":2298,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"90:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2301,"nodeType":"ImportDirective","src":"125:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"./IStrategy.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":2300,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"133:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2303,"nodeType":"ImportDirective","src":"190:51:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2302,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"198:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2610,"nodeType":"ContractDefinition","src":"4531:10540:3","nodes":[{"id":2319,"nodeType":"StructDefinition","src":"4718:180:3","nodes":[],"canonicalName":"IAllo.Pool","members":[{"constant":false,"id":2306,"mutability":"mutable","name":"profileId","nameLocation":"4748:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4740:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4740:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"strategy","nameLocation":"4777:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4767:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2308,"nodeType":"UserDefinedTypeName","pathNode":{"id":2307,"name":"IStrategy","nameLocations":["4767:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"4767:9:3"},"referencedDeclaration":2969,"src":"4767:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2311,"mutability":"mutable","name":"token","nameLocation":"4803:5:3","nodeType":"VariableDeclaration","scope":2319,"src":"4795:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2310,"name":"address","nodeType":"ElementaryTypeName","src":"4795:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2314,"mutability":"mutable","name":"metadata","nameLocation":"4827:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4818:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2313,"nodeType":"UserDefinedTypeName","pathNode":{"id":2312,"name":"Metadata","nameLocations":["4818:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4818:8:3"},"referencedDeclaration":3098,"src":"4818:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2316,"mutability":"mutable","name":"managerRole","nameLocation":"4853:11:3","nodeType":"VariableDeclaration","scope":2319,"src":"4845:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4845:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2318,"mutability":"mutable","name":"adminRole","nameLocation":"4882:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4874:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4874:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Pool","nameLocation":"4725:4:3","scope":2610,"visibility":"public"},{"id":2336,"nodeType":"EventDefinition","src":"5405:193:3","nodes":[],"anonymous":false,"documentation":{"id":2320,"nodeType":"StructuredDocumentation","src":"4998:402:3","text":"@notice Event emitted when a new pool is created\n @param poolId ID of the pool created\n @param profileId ID of the profile the pool is associated with\n @param strategy Address of the strategy contract\n @param token Address of the token pool was funded with when created\n @param amount Amount pool was funded with when created\n @param metadata Pool metadata"},"eventSelector":"69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1","name":"PoolCreated","nameLocation":"5411:11:3","parameters":{"id":2335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2322,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5448:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5432:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2321,"name":"uint256","nodeType":"ElementaryTypeName","src":"5432:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2324,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5480:9:3","nodeType":"VariableDeclaration","scope":2336,"src":"5464:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5464:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2327,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"5509:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5499:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2326,"nodeType":"UserDefinedTypeName","pathNode":{"id":2325,"name":"IStrategy","nameLocations":["5499:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"5499:9:3"},"referencedDeclaration":2969,"src":"5499:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2329,"indexed":false,"mutability":"mutable","name":"token","nameLocation":"5535:5:3","nodeType":"VariableDeclaration","scope":2336,"src":"5527:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"5527:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2331,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5558:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5550:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2334,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5583:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5574:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2333,"nodeType":"UserDefinedTypeName","pathNode":{"id":2332,"name":"Metadata","nameLocations":["5574:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5574:8:3"},"referencedDeclaration":3098,"src":"5574:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5422:175:3"}},{"id":2344,"nodeType":"EventDefinition","src":"5761:69:3","nodes":[],"anonymous":false,"documentation":{"id":2337,"nodeType":"StructuredDocumentation","src":"5604:152:3","text":"@notice Emitted when a pools metadata is updated\n @param poolId ID of the pool updated\n @param metadata Pool metadata that was updated"},"eventSelector":"14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0","name":"PoolMetadataUpdated","nameLocation":"5767:19:3","parameters":{"id":2343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5803:6:3","nodeType":"VariableDeclaration","scope":2344,"src":"5787:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"5787:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2342,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5820:8:3","nodeType":"VariableDeclaration","scope":2344,"src":"5811:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2341,"nodeType":"UserDefinedTypeName","pathNode":{"id":2340,"name":"Metadata","nameLocations":["5811:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5811:8:3"},"referencedDeclaration":3098,"src":"5811:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5786:43:3"}},{"id":2353,"nodeType":"EventDefinition","src":"6032:70:3","nodes":[],"anonymous":false,"documentation":{"id":2345,"nodeType":"StructuredDocumentation","src":"5836:191:3","text":"@notice Emitted when a pool is funded\n @param poolId ID of the pool funded\n @param amount Amount funded to the pool\n @param fee Amount of the fee paid to the treasury"},"eventSelector":"bf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851","name":"PoolFunded","nameLocation":"6038:10:3","parameters":{"id":2352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6065:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6049:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2346,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2349,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6081:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6073:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"6073:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2351,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"6097:3:3","nodeType":"VariableDeclaration","scope":2353,"src":"6089:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6048:53:3"}},{"id":2360,"nodeType":"EventDefinition","src":"6271:58:3","nodes":[],"anonymous":false,"documentation":{"id":2354,"nodeType":"StructuredDocumentation","src":"6108:158:3","text":"@notice Emitted when the base fee is paid\n @param poolId ID of the pool the base fee was paid for\n @param amount Amount of the base fee paid"},"eventSelector":"02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72","name":"BaseFeePaid","nameLocation":"6277:11:3","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2356,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6305:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6289:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint256","nodeType":"ElementaryTypeName","src":"6289:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2358,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6321:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6313:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2357,"name":"uint256","nodeType":"ElementaryTypeName","src":"6313:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6288:40:3"}},{"id":2365,"nodeType":"EventDefinition","src":"6448:40:3","nodes":[],"anonymous":false,"documentation":{"id":2361,"nodeType":"StructuredDocumentation","src":"6335:108:3","text":"@notice Emitted when the treasury address is updated\n @param treasury Address of the new treasury"},"eventSelector":"7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1","name":"TreasuryUpdated","nameLocation":"6454:15:3","parameters":{"id":2364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2363,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"6478:8:3","nodeType":"VariableDeclaration","scope":2365,"src":"6470:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2362,"name":"address","nodeType":"ElementaryTypeName","src":"6470:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6469:18:3"}},{"id":2370,"nodeType":"EventDefinition","src":"6603:44:3","nodes":[],"anonymous":false,"documentation":{"id":2366,"nodeType":"StructuredDocumentation","src":"6494:104:3","text":"@notice Emitted when the percent fee is updated\n @param percentFee New percentage for the fee"},"eventSelector":"9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065","name":"PercentFeeUpdated","nameLocation":"6609:17:3","parameters":{"id":2369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2368,"indexed":false,"mutability":"mutable","name":"percentFee","nameLocation":"6635:10:3","nodeType":"VariableDeclaration","scope":2370,"src":"6627:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6626:20:3"}},{"id":2375,"nodeType":"EventDefinition","src":"6749:38:3","nodes":[],"anonymous":false,"documentation":{"id":2371,"nodeType":"StructuredDocumentation","src":"6653:91:3","text":"@notice Emitted when the base fee is updated\n @param baseFee New base fee amount"},"eventSelector":"803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3","name":"BaseFeeUpdated","nameLocation":"6755:14:3","parameters":{"id":2374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2373,"indexed":false,"mutability":"mutable","name":"baseFee","nameLocation":"6778:7:3","nodeType":"VariableDeclaration","scope":2375,"src":"6770:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6769:17:3"}},{"id":2380,"nodeType":"EventDefinition","src":"6906:40:3","nodes":[],"anonymous":false,"documentation":{"id":2376,"nodeType":"StructuredDocumentation","src":"6793:108:3","text":"@notice Emitted when the registry address is updated\n @param registry Address of the new registry"},"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6912:15:3","parameters":{"id":2379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2378,"indexed":false,"mutability":"mutable","name":"registry","nameLocation":"6936:8:3","nodeType":"VariableDeclaration","scope":2380,"src":"6928:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2377,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6927:18:3"}},{"id":2385,"nodeType":"EventDefinition","src":"7099:41:3","nodes":[],"anonymous":false,"documentation":{"id":2381,"nodeType":"StructuredDocumentation","src":"6952:142:3","text":"@notice Emitted when a strategy is approved and added to the cloneable strategies\n @param strategy Address of the strategy approved"},"eventSelector":"960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1","name":"StrategyApproved","nameLocation":"7105:16:3","parameters":{"id":2384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2383,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7130:8:3","nodeType":"VariableDeclaration","scope":2385,"src":"7122:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2382,"name":"address","nodeType":"ElementaryTypeName","src":"7122:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7121:18:3"}},{"id":2390,"nodeType":"EventDefinition","src":"7283:40:3","nodes":[],"anonymous":false,"documentation":{"id":2386,"nodeType":"StructuredDocumentation","src":"7146:132:3","text":"@notice Emitted when a strategy is removed from the cloneable strategies\n @param strategy Address of the strategy removed"},"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"7289:15:3","parameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7313:8:3","nodeType":"VariableDeclaration","scope":2390,"src":"7305:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2387,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7304:18:3"}},{"id":2404,"nodeType":"FunctionDefinition","src":"7750:176:3","nodes":[],"documentation":{"id":2391,"nodeType":"StructuredDocumentation","src":"7465:280:3","text":"@notice Initialize the Allo contract\n @param _owner Address of the owner\n @param _registry Address of the registry contract\n @param _treasury Address of the treasury\n @param _percentFee Percentage for the fee\n @param _baseFee Base fee amount"},"functionSelector":"a6b63eb8","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7759:10:3","parameters":{"id":2402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2393,"mutability":"mutable","name":"_owner","nameLocation":"7787:6:3","nodeType":"VariableDeclaration","scope":2404,"src":"7779:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2392,"name":"address","nodeType":"ElementaryTypeName","src":"7779:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2395,"mutability":"mutable","name":"_registry","nameLocation":"7811:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7803:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2394,"name":"address","nodeType":"ElementaryTypeName","src":"7803:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2397,"mutability":"mutable","name":"_treasury","nameLocation":"7846:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7830:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2396,"name":"address","nodeType":"ElementaryTypeName","src":"7830:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":2399,"mutability":"mutable","name":"_percentFee","nameLocation":"7873:11:3","nodeType":"VariableDeclaration","scope":2404,"src":"7865:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2398,"name":"uint256","nodeType":"ElementaryTypeName","src":"7865:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2401,"mutability":"mutable","name":"_baseFee","nameLocation":"7902:8:3","nodeType":"VariableDeclaration","scope":2404,"src":"7894:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2400,"name":"uint256","nodeType":"ElementaryTypeName","src":"7894:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7769:147:3"},"returnParameters":{"id":2403,"nodeType":"ParameterList","parameters":[],"src":"7925:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2413,"nodeType":"FunctionDefinition","src":"8123:81:3","nodes":[],"documentation":{"id":2405,"nodeType":"StructuredDocumentation","src":"7932:186:3","text":"@notice Updates a pools metadata.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to update\n @param _metadata The new metadata to set"},"functionSelector":"5f9ca138","implemented":false,"kind":"function","modifiers":[],"name":"updatePoolMetadata","nameLocation":"8132:18:3","parameters":{"id":2411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2407,"mutability":"mutable","name":"_poolId","nameLocation":"8159:7:3","nodeType":"VariableDeclaration","scope":2413,"src":"8151:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2406,"name":"uint256","nodeType":"ElementaryTypeName","src":"8151:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2410,"mutability":"mutable","name":"_metadata","nameLocation":"8184:9:3","nodeType":"VariableDeclaration","scope":2413,"src":"8168:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2409,"nodeType":"UserDefinedTypeName","pathNode":{"id":2408,"name":"Metadata","nameLocations":["8168:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8168:8:3"},"referencedDeclaration":3098,"src":"8168:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"8150:44:3"},"returnParameters":{"id":2412,"nodeType":"ParameterList","parameters":[],"src":"8203:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2419,"nodeType":"FunctionDefinition","src":"8364:52:3","nodes":[],"documentation":{"id":2414,"nodeType":"StructuredDocumentation","src":"8210:149:3","text":"@notice Update the registry address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":false,"kind":"function","modifiers":[],"name":"updateRegistry","nameLocation":"8373:14:3","parameters":{"id":2417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2416,"mutability":"mutable","name":"_registry","nameLocation":"8396:9:3","nodeType":"VariableDeclaration","scope":2419,"src":"8388:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2415,"name":"address","nodeType":"ElementaryTypeName","src":"8388:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8387:19:3"},"returnParameters":{"id":2418,"nodeType":"ParameterList","parameters":[],"src":"8415:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2425,"nodeType":"FunctionDefinition","src":"8577:60:3","nodes":[],"documentation":{"id":2420,"nodeType":"StructuredDocumentation","src":"8422:150:3","text":"@notice Updates the treasury address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":false,"kind":"function","modifiers":[],"name":"updateTreasury","nameLocation":"8586:14:3","parameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"_treasury","nameLocation":"8617:9:3","nodeType":"VariableDeclaration","scope":2425,"src":"8601:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2421,"name":"address","nodeType":"ElementaryTypeName","src":"8601:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8600:27:3"},"returnParameters":{"id":2424,"nodeType":"ParameterList","parameters":[],"src":"8636:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2431,"nodeType":"FunctionDefinition","src":"8812:56:3","nodes":[],"documentation":{"id":2426,"nodeType":"StructuredDocumentation","src":"8643:164:3","text":"@notice Updates the percentage for the fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _percentFee The new percentage for the fee"},"functionSelector":"f54fc4a0","implemented":false,"kind":"function","modifiers":[],"name":"updatePercentFee","nameLocation":"8821:16:3","parameters":{"id":2429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"_percentFee","nameLocation":"8846:11:3","nodeType":"VariableDeclaration","scope":2431,"src":"8838:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2427,"name":"uint256","nodeType":"ElementaryTypeName","src":"8838:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8837:21:3"},"returnParameters":{"id":2430,"nodeType":"ParameterList","parameters":[],"src":"8867:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2437,"nodeType":"FunctionDefinition","src":"9012:50:3","nodes":[],"documentation":{"id":2432,"nodeType":"StructuredDocumentation","src":"8874:133:3","text":"@notice Updates the base fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":false,"kind":"function","modifiers":[],"name":"updateBaseFee","nameLocation":"9021:13:3","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"_baseFee","nameLocation":"9043:8:3","nodeType":"VariableDeclaration","scope":2437,"src":"9035:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9035:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9034:18:3"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"9061:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2443,"nodeType":"FunctionDefinition","src":"9248:62:3","nodes":[],"documentation":{"id":2438,"nodeType":"StructuredDocumentation","src":"9068:175:3","text":"@notice Adds a strategy to the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to add"},"functionSelector":"41bba0b4","implemented":false,"kind":"function","modifiers":[],"name":"addToCloneableStrategies","nameLocation":"9257:24:3","parameters":{"id":2441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2440,"mutability":"mutable","name":"_strategy","nameLocation":"9290:9:3","nodeType":"VariableDeclaration","scope":2443,"src":"9282:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2439,"name":"address","nodeType":"ElementaryTypeName","src":"9282:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9281:19:3"},"returnParameters":{"id":2442,"nodeType":"ParameterList","parameters":[],"src":"9309:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2449,"nodeType":"FunctionDefinition","src":"9504:67:3","nodes":[],"documentation":{"id":2444,"nodeType":"StructuredDocumentation","src":"9316:183:3","text":"@notice Removes a strategy from the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to remove"},"functionSelector":"031e2fa1","implemented":false,"kind":"function","modifiers":[],"name":"removeFromCloneableStrategies","nameLocation":"9513:29:3","parameters":{"id":2447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2446,"mutability":"mutable","name":"_strategy","nameLocation":"9551:9:3","nodeType":"VariableDeclaration","scope":2449,"src":"9543:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2445,"name":"address","nodeType":"ElementaryTypeName","src":"9543:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9542:19:3"},"returnParameters":{"id":2448,"nodeType":"ParameterList","parameters":[],"src":"9570:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2457,"nodeType":"FunctionDefinition","src":"9796:68:3","nodes":[],"documentation":{"id":2450,"nodeType":"StructuredDocumentation","src":"9577:214:3","text":"@notice Adds a pool manager to the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to add the manager to\n @param _manager The address of the manager to add"},"functionSelector":"2cf682b0","implemented":false,"kind":"function","modifiers":[],"name":"addPoolManager","nameLocation":"9805:14:3","parameters":{"id":2455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"_poolId","nameLocation":"9828:7:3","nodeType":"VariableDeclaration","scope":2457,"src":"9820:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2451,"name":"uint256","nodeType":"ElementaryTypeName","src":"9820:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2454,"mutability":"mutable","name":"_manager","nameLocation":"9845:8:3","nodeType":"VariableDeclaration","scope":2457,"src":"9837:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2453,"name":"address","nodeType":"ElementaryTypeName","src":"9837:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9819:35:3"},"returnParameters":{"id":2456,"nodeType":"ParameterList","parameters":[],"src":"9863:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2465,"nodeType":"FunctionDefinition","src":"10102:71:3","nodes":[],"documentation":{"id":2458,"nodeType":"StructuredDocumentation","src":"9870:227:3","text":"@notice Removes a pool manager from the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to remove the manager from\n @param _manager The address of the manager to remove"},"functionSelector":"7f5a70bd","implemented":false,"kind":"function","modifiers":[],"name":"removePoolManager","nameLocation":"10111:17:3","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"_poolId","nameLocation":"10137:7:3","nodeType":"VariableDeclaration","scope":2465,"src":"10129:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2459,"name":"uint256","nodeType":"ElementaryTypeName","src":"10129:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"_manager","nameLocation":"10154:8:3","nodeType":"VariableDeclaration","scope":2465,"src":"10146:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2461,"name":"address","nodeType":"ElementaryTypeName","src":"10146:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10128:35:3"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"10172:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2473,"nodeType":"FunctionDefinition","src":"10383:67:3","nodes":[],"documentation":{"id":2466,"nodeType":"StructuredDocumentation","src":"10179:199:3","text":"@notice Recovers funds from a pool.\n @dev 'msg.sender' must be a pool admin.\n @param _token The token to recover\n @param _recipient The address to send the recovered funds to"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"10392:12:3","parameters":{"id":2471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2468,"mutability":"mutable","name":"_token","nameLocation":"10413:6:3","nodeType":"VariableDeclaration","scope":2473,"src":"10405:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2467,"name":"address","nodeType":"ElementaryTypeName","src":"10405:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2470,"mutability":"mutable","name":"_recipient","nameLocation":"10429:10:3","nodeType":"VariableDeclaration","scope":2473,"src":"10421:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2469,"name":"address","nodeType":"ElementaryTypeName","src":"10421:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10404:36:3"},"returnParameters":{"id":2472,"nodeType":"ParameterList","parameters":[],"src":"10449:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2483,"nodeType":"FunctionDefinition","src":"10658:99:3","nodes":[],"documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"10456:197:3","text":"@notice Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\n @param _poolId The ID of the pool to register the recipient for"},"functionSelector":"075c0e9c","implemented":false,"kind":"function","modifiers":[],"name":"registerRecipient","nameLocation":"10667:17:3","parameters":{"id":2479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2476,"mutability":"mutable","name":"_poolId","nameLocation":"10693:7:3","nodeType":"VariableDeclaration","scope":2483,"src":"10685:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2475,"name":"uint256","nodeType":"ElementaryTypeName","src":"10685:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2478,"mutability":"mutable","name":"_data","nameLocation":"10715:5:3","nodeType":"VariableDeclaration","scope":2483,"src":"10702:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2477,"name":"bytes","nodeType":"ElementaryTypeName","src":"10702:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10684:37:3"},"returnParameters":{"id":2482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2483,"src":"10748:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2480,"name":"address","nodeType":"ElementaryTypeName","src":"10748:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10747:9:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2496,"nodeType":"FunctionDefinition","src":"10983:133:3","nodes":[],"documentation":{"id":2484,"nodeType":"StructuredDocumentation","src":"10763:215:3","text":"@notice Registers a batch of recipients.\n @param _poolIds The pool ID's to register the recipients for\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"1a20bd88","implemented":false,"kind":"function","modifiers":[],"name":"batchRegisterRecipient","nameLocation":"10992:22:3","parameters":{"id":2491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2487,"mutability":"mutable","name":"_poolIds","nameLocation":"11032:8:3","nodeType":"VariableDeclaration","scope":2496,"src":"11015:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2485,"name":"uint256","nodeType":"ElementaryTypeName","src":"11015:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2486,"nodeType":"ArrayTypeName","src":"11015:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2490,"mutability":"mutable","name":"_data","nameLocation":"11057:5:3","nodeType":"VariableDeclaration","scope":2496,"src":"11042:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2488,"name":"bytes","nodeType":"ElementaryTypeName","src":"11042:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2489,"nodeType":"ArrayTypeName","src":"11042:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11014:49:3"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2496,"src":"11098:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2492,"name":"address","nodeType":"ElementaryTypeName","src":"11098:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2493,"nodeType":"ArrayTypeName","src":"11098:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11097:18:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2504,"nodeType":"FunctionDefinition","src":"11427:69:3","nodes":[],"documentation":{"id":2497,"nodeType":"StructuredDocumentation","src":"11122:300:3","text":"@notice Funds a pool.\n @dev 'msg.value' must be greater than 0 if the token is the native token\n or '_amount' must be greater than 0 if the token is not the native token.\n @param _poolId The ID of the pool to fund\n @param _amount The amount to fund the pool with"},"functionSelector":"5acd6fac","implemented":false,"kind":"function","modifiers":[],"name":"fundPool","nameLocation":"11436:8:3","parameters":{"id":2502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2499,"mutability":"mutable","name":"_poolId","nameLocation":"11453:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11445:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2498,"name":"uint256","nodeType":"ElementaryTypeName","src":"11445:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2501,"mutability":"mutable","name":"_amount","nameLocation":"11470:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11462:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2500,"name":"uint256","nodeType":"ElementaryTypeName","src":"11462:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11444:34:3"},"returnParameters":{"id":2503,"nodeType":"ParameterList","parameters":[],"src":"11495:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2512,"nodeType":"FunctionDefinition","src":"11794:72:3","nodes":[],"documentation":{"id":2505,"nodeType":"StructuredDocumentation","src":"11502:287:3","text":"@notice Allocates funds to a recipient.\n @dev Each strategy will handle the allocation of funds differently.\n @param _poolId The ID of the pool to allocate funds from\n @param _data The data to pass to the strategy and may be handled differently by each strategy."},"functionSelector":"2ec38188","implemented":false,"kind":"function","modifiers":[],"name":"allocate","nameLocation":"11803:8:3","parameters":{"id":2510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"_poolId","nameLocation":"11820:7:3","nodeType":"VariableDeclaration","scope":2512,"src":"11812:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2506,"name":"uint256","nodeType":"ElementaryTypeName","src":"11812:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"_data","nameLocation":"11842:5:3","nodeType":"VariableDeclaration","scope":2512,"src":"11829:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"11829:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:37:3"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[],"src":"11865:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2522,"nodeType":"FunctionDefinition","src":"12003:84:3","nodes":[],"documentation":{"id":2513,"nodeType":"StructuredDocumentation","src":"11872:126:3","text":"@notice Allocates funds to multiple recipients.\n @dev Each strategy will handle the allocation of funds differently"},"functionSelector":"c6dff1cf","implemented":false,"kind":"function","modifiers":[],"name":"batchAllocate","nameLocation":"12012:13:3","parameters":{"id":2520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"_poolIds","nameLocation":"12045:8:3","nodeType":"VariableDeclaration","scope":2522,"src":"12026:27:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12026:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2515,"nodeType":"ArrayTypeName","src":"12026:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2519,"mutability":"mutable","name":"_datas","nameLocation":"12070:6:3","nodeType":"VariableDeclaration","scope":2522,"src":"12055:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2517,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2518,"nodeType":"ArrayTypeName","src":"12055:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"12025:52:3"},"returnParameters":{"id":2521,"nodeType":"ParameterList","parameters":[],"src":"12086:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2533,"nodeType":"FunctionDefinition","src":"12489:98:3","nodes":[],"documentation":{"id":2523,"nodeType":"StructuredDocumentation","src":"12093:391:3","text":"@notice Distributes funds to recipients and emits {Distributed} event if successful\n @dev Each strategy will handle the distribution of funds differently\n @param _poolId The ID of the pool to distribute from\n @param _recipientIds The recipient ids to distribute to\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"3a5fbd92","implemented":false,"kind":"function","modifiers":[],"name":"distribute","nameLocation":"12498:10:3","parameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2525,"mutability":"mutable","name":"_poolId","nameLocation":"12517:7:3","nodeType":"VariableDeclaration","scope":2533,"src":"12509:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2524,"name":"uint256","nodeType":"ElementaryTypeName","src":"12509:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2528,"mutability":"mutable","name":"_recipientIds","nameLocation":"12543:13:3","nodeType":"VariableDeclaration","scope":2533,"src":"12526:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"12526:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2527,"nodeType":"ArrayTypeName","src":"12526:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"_data","nameLocation":"12571:5:3","nodeType":"VariableDeclaration","scope":2533,"src":"12558:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2529,"name":"bytes","nodeType":"ElementaryTypeName","src":"12558:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12508:69:3"},"returnParameters":{"id":2532,"nodeType":"ParameterList","parameters":[],"src":"12586:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2543,"nodeType":"FunctionDefinition","src":"12922:85:3","nodes":[],"documentation":{"id":2534,"nodeType":"StructuredDocumentation","src":"12696:221:3","text":"@notice Checks if an address is a pool admin.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":false,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"12931:11:3","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"_poolId","nameLocation":"12951:7:3","nodeType":"VariableDeclaration","scope":2543,"src":"12943:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint256","nodeType":"ElementaryTypeName","src":"12943:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"_address","nameLocation":"12968:8:3","nodeType":"VariableDeclaration","scope":2543,"src":"12960:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2537,"name":"address","nodeType":"ElementaryTypeName","src":"12960:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12942:35:3"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2543,"src":"13001:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2540,"name":"bool","nodeType":"ElementaryTypeName","src":"13001:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13000:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2553,"nodeType":"FunctionDefinition","src":"13243:87:3","nodes":[],"documentation":{"id":2544,"nodeType":"StructuredDocumentation","src":"13013:225:3","text":"@notice Checks if an address is a pool manager.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":false,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"13252:13:3","parameters":{"id":2549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2546,"mutability":"mutable","name":"_poolId","nameLocation":"13274:7:3","nodeType":"VariableDeclaration","scope":2553,"src":"13266:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2545,"name":"uint256","nodeType":"ElementaryTypeName","src":"13266:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2548,"mutability":"mutable","name":"_address","nameLocation":"13291:8:3","nodeType":"VariableDeclaration","scope":2553,"src":"13283:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2547,"name":"address","nodeType":"ElementaryTypeName","src":"13283:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13265:35:3"},"returnParameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2553,"src":"13324:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2550,"name":"bool","nodeType":"ElementaryTypeName","src":"13324:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13323:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2561,"nodeType":"FunctionDefinition","src":"13563:77:3","nodes":[],"documentation":{"id":2554,"nodeType":"StructuredDocumentation","src":"13336:222:3","text":"@notice Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\n @param _strategy The address of the strategy to check\n @return 'true' if the '_strategy' is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":false,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"13572:19:3","parameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"_strategy","nameLocation":"13600:9:3","nodeType":"VariableDeclaration","scope":2561,"src":"13592:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2555,"name":"address","nodeType":"ElementaryTypeName","src":"13592:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13591:19:3"},"returnParameters":{"id":2560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2561,"src":"13634:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2558,"name":"bool","nodeType":"ElementaryTypeName","src":"13634:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13633:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2569,"nodeType":"FunctionDefinition","src":"13856:70:3","nodes":[],"documentation":{"id":2562,"nodeType":"StructuredDocumentation","src":"13646:205:3","text":"@notice Returns the address of the strategy for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return strategy The address of the strategy for the ID of the pool passed in"},"functionSelector":"cfc0cc34","implemented":false,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"13865:11:3","parameters":{"id":2565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"_poolId","nameLocation":"13885:7:3","nodeType":"VariableDeclaration","scope":2569,"src":"13877:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2563,"name":"uint256","nodeType":"ElementaryTypeName","src":"13877:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13876:17:3"},"returnParameters":{"id":2568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2569,"src":"13917:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2566,"name":"address","nodeType":"ElementaryTypeName","src":"13917:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13916:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2575,"nodeType":"FunctionDefinition","src":"14042:57:3","nodes":[],"documentation":{"id":2570,"nodeType":"StructuredDocumentation","src":"13932:105:3","text":"@notice Returns the current percent fee\n @return percentFee The current percentage for the fee"},"functionSelector":"4edbaadc","implemented":false,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"14051:13:3","parameters":{"id":2571,"nodeType":"ParameterList","parameters":[],"src":"14064:2:3"},"returnParameters":{"id":2574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2575,"src":"14090:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint256","nodeType":"ElementaryTypeName","src":"14090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14089:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2581,"nodeType":"FunctionDefinition","src":"14195:54:3","nodes":[],"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"14105:85:3","text":"@notice Returns the current base fee\n @return baseFee The current base fee"},"functionSelector":"15e812ad","implemented":false,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"14204:10:3","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[],"src":"14214:2:3"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2581,"src":"14240:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"14240:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14239:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2587,"nodeType":"FunctionDefinition","src":"14362:63:3","nodes":[],"documentation":{"id":2582,"nodeType":"StructuredDocumentation","src":"14255:102:3","text":"@notice Returns the current treasury address\n @return treasury The current treasury address"},"functionSelector":"3b19e84a","implemented":false,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"14371:11:3","parameters":{"id":2583,"nodeType":"ParameterList","parameters":[],"src":"14382:2:3"},"returnParameters":{"id":2586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2587,"src":"14408:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"14408:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"14407:17:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2594,"nodeType":"FunctionDefinition","src":"14538:57:3","nodes":[],"documentation":{"id":2588,"nodeType":"StructuredDocumentation","src":"14431:102:3","text":"@notice Returns the current registry address\n @return registry The current registry address"},"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"14547:11:3","parameters":{"id":2589,"nodeType":"ParameterList","parameters":[],"src":"14558:2:3"},"returnParameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2594,"src":"14584:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":2591,"nodeType":"UserDefinedTypeName","pathNode":{"id":2590,"name":"IRegistry","nameLocations":["14584:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"14584:9:3"},"referencedDeclaration":2802,"src":"14584:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"14583:11:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2603,"nodeType":"FunctionDefinition","src":"14787:70:3","nodes":[],"documentation":{"id":2595,"nodeType":"StructuredDocumentation","src":"14601:181:3","text":"@notice Returns the 'Pool' struct for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return pool The 'Pool' struct for the ID of the pool passed in"},"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"14796:7:3","parameters":{"id":2598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2597,"mutability":"mutable","name":"_poolId","nameLocation":"14812:7:3","nodeType":"VariableDeclaration","scope":2603,"src":"14804:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2596,"name":"uint256","nodeType":"ElementaryTypeName","src":"14804:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14803:17:3"},"returnParameters":{"id":2602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2603,"src":"14844:11:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":2600,"nodeType":"UserDefinedTypeName","pathNode":{"id":2599,"name":"Pool","nameLocations":["14844:4:3"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14844:4:3"},"referencedDeclaration":2319,"src":"14844:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"14843:13:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2609,"nodeType":"FunctionDefinition","src":"15008:61:3","nodes":[],"documentation":{"id":2604,"nodeType":"StructuredDocumentation","src":"14863:140:3","text":"@notice Returns the current fee denominator\n @dev 1e18 represents 100%\n @return feeDenominator The current fee denominator"},"functionSelector":"f4e1fc41","implemented":false,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"15017:17:3","parameters":{"id":2605,"nodeType":"ParameterList","parameters":[],"src":"15034:2:3"},"returnParameters":{"id":2608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2609,"src":"15060:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2606,"name":"uint256","nodeType":"ElementaryTypeName","src":"15060:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15059:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IAllo","contractDependencies":[],"contractKind":"interface","documentation":{"id":2304,"nodeType":"StructuredDocumentation","src":"4234:297:3","text":"@title Allo Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Allo contract. It exposes all functions needed to use the Allo protocol."},"fullyImplemented":false,"linearizedBaseContracts":[2610],"name":"IAllo","nameLocation":"4541:5:3","scope":2611,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":3}
\ No newline at end of file
+{"abi":[{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to add\",\"_poolId\":\"The ID of the pool to add the manager to\"}},\"addToCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to add\"}},\"allocate(uint256,bytes)\":{\"details\":\"Each strategy will handle the allocation of funds differently.\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy.\",\"_poolId\":\"The ID of the pool to allocate funds from\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"Each strategy will handle the allocation of funds differently\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolIds\":\"The pool ID's to register the recipients for\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"Each strategy will handle the distribution of funds differently\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolId\":\"The ID of the pool to distribute from\",\"_recipientIds\":\"The recipient ids to distribute to\"}},\"fundPool(uint256,uint256)\":{\"details\":\"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.\",\"params\":{\"_amount\":\"The amount to fund the pool with\",\"_poolId\":\"The ID of the pool to fund\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"baseFee The current base fee\"}},\"getFeeDenominator()\":{\"details\":\"1e18 represents 100%\",\"returns\":{\"_0\":\"feeDenominator The current fee denominator\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"percentFee The current percentage for the fee\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"pool The 'Pool' struct for the ID of the pool passed in\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"registry The current registry address\"}},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"strategy The address of the strategy for the ID of the pool passed in\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"treasury The current treasury address\"}},\"initialize(address,address,address,uint256,uint256)\":{\"params\":{\"_baseFee\":\"Base fee amount\",\"_owner\":\"Address of the owner\",\"_percentFee\":\"Percentage for the fee\",\"_registry\":\"Address of the registry contract\",\"_treasury\":\"Address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy to check\"},\"returns\":{\"_0\":\"'true' if the '_strategy' is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool manager, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_recipient\":\"The address to send the recovered funds to\",\"_token\":\"The token to recover\"}},\"registerRecipient(uint256,bytes)\":{\"params\":{\"_poolId\":\"The ID of the pool to register the recipient for\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to remove\"}},\"removePoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to remove\",\"_poolId\":\"The ID of the pool to remove the manager from\"}},\"updateBaseFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_percentFee\":\"The new percentage for the fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_metadata\":\"The new metadata to set\",\"_poolId\":\"The ID of the pool to update\"}},\"updateRegistry(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"title\":\"Allo Interface\",\"version\":1},\"userdoc\":{\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"addPoolManager(uint256,address)\":{\"notice\":\"Adds a pool manager to the pool.\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Adds a strategy to the cloneable strategies.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocates funds to a recipient.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocates funds to multiple recipients.\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Registers a batch of recipients.\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distributes funds to recipients and emits {Distributed} event if successful\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Funds a pool.\"},\"getBaseFee()\":{\"notice\":\"Returns the current base fee\"},\"getFeeDenominator()\":{\"notice\":\"Returns the current fee denominator\"},\"getPercentFee()\":{\"notice\":\"Returns the current percent fee\"},\"getPool(uint256)\":{\"notice\":\"Returns the 'Pool' struct for a given 'poolId'\"},\"getRegistry()\":{\"notice\":\"Returns the current registry address\"},\"getStrategy(uint256)\":{\"notice\":\"Returns the address of the strategy for a given 'poolId'\"},\"getTreasury()\":{\"notice\":\"Returns the current treasury address\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initialize the Allo contract\"},\"isCloneableStrategy(address)\":{\"notice\":\"Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if an address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if an address is a pool manager.\"},\"recoverFunds(address,address)\":{\"notice\":\"Recovers funds from a pool.\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Removes a strategy from the cloneable strategies.\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Removes a pool manager from the pool.\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the percentage for the fee.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Updates a pools metadata.\"},\"updateRegistry(address)\":{\"notice\":\"Update the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"Interface for the Allo contract. It exposes all functions needed to use the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":\"IAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to add","_poolId":"The ID of the pool to add the manager to"}},"addToCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to add"}},"allocate(uint256,bytes)":{"details":"Each strategy will handle the allocation of funds differently.","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy.","_poolId":"The ID of the pool to allocate funds from"}},"batchAllocate(uint256[],bytes[])":{"details":"Each strategy will handle the allocation of funds differently"},"batchRegisterRecipient(uint256[],bytes[])":{"params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolIds":"The pool ID's to register the recipients for"}},"distribute(uint256,address[],bytes)":{"details":"Each strategy will handle the distribution of funds differently","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolId":"The ID of the pool to distribute from","_recipientIds":"The recipient ids to distribute to"}},"fundPool(uint256,uint256)":{"details":"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.","params":{"_amount":"The amount to fund the pool with","_poolId":"The ID of the pool to fund"}},"getBaseFee()":{"returns":{"_0":"baseFee The current base fee"}},"getFeeDenominator()":{"details":"1e18 represents 100%","returns":{"_0":"feeDenominator The current fee denominator"}},"getPercentFee()":{"returns":{"_0":"percentFee The current percentage for the fee"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"pool The 'Pool' struct for the ID of the pool passed in"}},"getRegistry()":{"returns":{"_0":"registry The current registry address"}},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"strategy The address of the strategy for the ID of the pool passed in"}},"getTreasury()":{"returns":{"_0":"treasury The current treasury address"}},"initialize(address,address,address,uint256,uint256)":{"params":{"_baseFee":"Base fee amount","_owner":"Address of the owner","_percentFee":"Percentage for the fee","_registry":"Address of the registry contract","_treasury":"Address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy to check"},"returns":{"_0":"'true' if the '_strategy' is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool manager, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_recipient":"The address to send the recovered funds to","_token":"The token to recover"}},"registerRecipient(uint256,bytes)":{"params":{"_poolId":"The ID of the pool to register the recipient for"}},"removeFromCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to remove"}},"removePoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to remove","_poolId":"The ID of the pool to remove the manager from"}},"updateBaseFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_percentFee":"The new percentage for the fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool admin.","params":{"_metadata":"The new metadata to set","_poolId":"The ID of the pool to update"}},"updateRegistry(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addPoolManager(uint256,address)":{"notice":"Adds a pool manager to the pool."},"addToCloneableStrategies(address)":{"notice":"Adds a strategy to the cloneable strategies."},"allocate(uint256,bytes)":{"notice":"Allocates funds to a recipient."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocates funds to multiple recipients."},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Registers a batch of recipients."},"distribute(uint256,address[],bytes)":{"notice":"Distributes funds to recipients and emits {Distributed} event if successful"},"fundPool(uint256,uint256)":{"notice":"Funds a pool."},"getBaseFee()":{"notice":"Returns the current base fee"},"getFeeDenominator()":{"notice":"Returns the current fee denominator"},"getPercentFee()":{"notice":"Returns the current percent fee"},"getPool(uint256)":{"notice":"Returns the 'Pool' struct for a given 'poolId'"},"getRegistry()":{"notice":"Returns the current registry address"},"getStrategy(uint256)":{"notice":"Returns the address of the strategy for a given 'poolId'"},"getTreasury()":{"notice":"Returns the current treasury address"},"initialize(address,address,address,uint256,uint256)":{"notice":"Initialize the Allo contract"},"isCloneableStrategy(address)":{"notice":"Checks if a strategy is cloneable (is in the cloneableStrategies mapping)."},"isPoolAdmin(uint256,address)":{"notice":"Checks if an address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if an address is a pool manager."},"recoverFunds(address,address)":{"notice":"Recovers funds from a pool."},"registerRecipient(uint256,bytes)":{"notice":"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy."},"removeFromCloneableStrategies(address)":{"notice":"Removes a strategy from the cloneable strategies."},"removePoolManager(uint256,address)":{"notice":"Removes a pool manager from the pool."},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the percentage for the fee."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Updates a pools metadata."},"updateRegistry(address)":{"notice":"Update the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":"IAllo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","id":2611,"exportedSymbols":{"IAllo":[2610],"IRegistry":[2802],"IStrategy":[2969],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:15030:3","nodes":[{"id":2297,"nodeType":"PragmaDirective","src":"42:24:3","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2299,"nodeType":"ImportDirective","src":"82:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./IRegistry.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":2298,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"90:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2301,"nodeType":"ImportDirective","src":"125:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"./IStrategy.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":2300,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"133:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2303,"nodeType":"ImportDirective","src":"190:51:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2302,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"198:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2610,"nodeType":"ContractDefinition","src":"4531:10540:3","nodes":[{"id":2319,"nodeType":"StructDefinition","src":"4718:180:3","nodes":[],"canonicalName":"IAllo.Pool","members":[{"constant":false,"id":2306,"mutability":"mutable","name":"profileId","nameLocation":"4748:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4740:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4740:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"strategy","nameLocation":"4777:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4767:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2308,"nodeType":"UserDefinedTypeName","pathNode":{"id":2307,"name":"IStrategy","nameLocations":["4767:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"4767:9:3"},"referencedDeclaration":2969,"src":"4767:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2311,"mutability":"mutable","name":"token","nameLocation":"4803:5:3","nodeType":"VariableDeclaration","scope":2319,"src":"4795:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2310,"name":"address","nodeType":"ElementaryTypeName","src":"4795:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2314,"mutability":"mutable","name":"metadata","nameLocation":"4827:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4818:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2313,"nodeType":"UserDefinedTypeName","pathNode":{"id":2312,"name":"Metadata","nameLocations":["4818:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4818:8:3"},"referencedDeclaration":3098,"src":"4818:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2316,"mutability":"mutable","name":"managerRole","nameLocation":"4853:11:3","nodeType":"VariableDeclaration","scope":2319,"src":"4845:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4845:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2318,"mutability":"mutable","name":"adminRole","nameLocation":"4882:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4874:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4874:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Pool","nameLocation":"4725:4:3","scope":2610,"visibility":"public"},{"id":2336,"nodeType":"EventDefinition","src":"5405:193:3","nodes":[],"anonymous":false,"documentation":{"id":2320,"nodeType":"StructuredDocumentation","src":"4998:402:3","text":"@notice Event emitted when a new pool is created\n @param poolId ID of the pool created\n @param profileId ID of the profile the pool is associated with\n @param strategy Address of the strategy contract\n @param token Address of the token pool was funded with when created\n @param amount Amount pool was funded with when created\n @param metadata Pool metadata"},"eventSelector":"69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1","name":"PoolCreated","nameLocation":"5411:11:3","parameters":{"id":2335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2322,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5448:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5432:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2321,"name":"uint256","nodeType":"ElementaryTypeName","src":"5432:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2324,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5480:9:3","nodeType":"VariableDeclaration","scope":2336,"src":"5464:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5464:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2327,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"5509:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5499:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2326,"nodeType":"UserDefinedTypeName","pathNode":{"id":2325,"name":"IStrategy","nameLocations":["5499:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"5499:9:3"},"referencedDeclaration":2969,"src":"5499:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2329,"indexed":false,"mutability":"mutable","name":"token","nameLocation":"5535:5:3","nodeType":"VariableDeclaration","scope":2336,"src":"5527:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"5527:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2331,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5558:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5550:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2334,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5583:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5574:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2333,"nodeType":"UserDefinedTypeName","pathNode":{"id":2332,"name":"Metadata","nameLocations":["5574:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5574:8:3"},"referencedDeclaration":3098,"src":"5574:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5422:175:3"}},{"id":2344,"nodeType":"EventDefinition","src":"5761:69:3","nodes":[],"anonymous":false,"documentation":{"id":2337,"nodeType":"StructuredDocumentation","src":"5604:152:3","text":"@notice Emitted when a pools metadata is updated\n @param poolId ID of the pool updated\n @param metadata Pool metadata that was updated"},"eventSelector":"14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0","name":"PoolMetadataUpdated","nameLocation":"5767:19:3","parameters":{"id":2343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5803:6:3","nodeType":"VariableDeclaration","scope":2344,"src":"5787:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"5787:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2342,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5820:8:3","nodeType":"VariableDeclaration","scope":2344,"src":"5811:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2341,"nodeType":"UserDefinedTypeName","pathNode":{"id":2340,"name":"Metadata","nameLocations":["5811:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5811:8:3"},"referencedDeclaration":3098,"src":"5811:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5786:43:3"}},{"id":2353,"nodeType":"EventDefinition","src":"6032:70:3","nodes":[],"anonymous":false,"documentation":{"id":2345,"nodeType":"StructuredDocumentation","src":"5836:191:3","text":"@notice Emitted when a pool is funded\n @param poolId ID of the pool funded\n @param amount Amount funded to the pool\n @param fee Amount of the fee paid to the treasury"},"eventSelector":"bf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851","name":"PoolFunded","nameLocation":"6038:10:3","parameters":{"id":2352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6065:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6049:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2346,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2349,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6081:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6073:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"6073:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2351,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"6097:3:3","nodeType":"VariableDeclaration","scope":2353,"src":"6089:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6048:53:3"}},{"id":2360,"nodeType":"EventDefinition","src":"6271:58:3","nodes":[],"anonymous":false,"documentation":{"id":2354,"nodeType":"StructuredDocumentation","src":"6108:158:3","text":"@notice Emitted when the base fee is paid\n @param poolId ID of the pool the base fee was paid for\n @param amount Amount of the base fee paid"},"eventSelector":"02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72","name":"BaseFeePaid","nameLocation":"6277:11:3","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2356,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6305:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6289:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint256","nodeType":"ElementaryTypeName","src":"6289:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2358,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6321:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6313:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2357,"name":"uint256","nodeType":"ElementaryTypeName","src":"6313:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6288:40:3"}},{"id":2365,"nodeType":"EventDefinition","src":"6448:40:3","nodes":[],"anonymous":false,"documentation":{"id":2361,"nodeType":"StructuredDocumentation","src":"6335:108:3","text":"@notice Emitted when the treasury address is updated\n @param treasury Address of the new treasury"},"eventSelector":"7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1","name":"TreasuryUpdated","nameLocation":"6454:15:3","parameters":{"id":2364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2363,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"6478:8:3","nodeType":"VariableDeclaration","scope":2365,"src":"6470:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2362,"name":"address","nodeType":"ElementaryTypeName","src":"6470:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6469:18:3"}},{"id":2370,"nodeType":"EventDefinition","src":"6603:44:3","nodes":[],"anonymous":false,"documentation":{"id":2366,"nodeType":"StructuredDocumentation","src":"6494:104:3","text":"@notice Emitted when the percent fee is updated\n @param percentFee New percentage for the fee"},"eventSelector":"9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065","name":"PercentFeeUpdated","nameLocation":"6609:17:3","parameters":{"id":2369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2368,"indexed":false,"mutability":"mutable","name":"percentFee","nameLocation":"6635:10:3","nodeType":"VariableDeclaration","scope":2370,"src":"6627:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6626:20:3"}},{"id":2375,"nodeType":"EventDefinition","src":"6749:38:3","nodes":[],"anonymous":false,"documentation":{"id":2371,"nodeType":"StructuredDocumentation","src":"6653:91:3","text":"@notice Emitted when the base fee is updated\n @param baseFee New base fee amount"},"eventSelector":"803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3","name":"BaseFeeUpdated","nameLocation":"6755:14:3","parameters":{"id":2374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2373,"indexed":false,"mutability":"mutable","name":"baseFee","nameLocation":"6778:7:3","nodeType":"VariableDeclaration","scope":2375,"src":"6770:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6769:17:3"}},{"id":2380,"nodeType":"EventDefinition","src":"6906:40:3","nodes":[],"anonymous":false,"documentation":{"id":2376,"nodeType":"StructuredDocumentation","src":"6793:108:3","text":"@notice Emitted when the registry address is updated\n @param registry Address of the new registry"},"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6912:15:3","parameters":{"id":2379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2378,"indexed":false,"mutability":"mutable","name":"registry","nameLocation":"6936:8:3","nodeType":"VariableDeclaration","scope":2380,"src":"6928:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2377,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6927:18:3"}},{"id":2385,"nodeType":"EventDefinition","src":"7099:41:3","nodes":[],"anonymous":false,"documentation":{"id":2381,"nodeType":"StructuredDocumentation","src":"6952:142:3","text":"@notice Emitted when a strategy is approved and added to the cloneable strategies\n @param strategy Address of the strategy approved"},"eventSelector":"960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1","name":"StrategyApproved","nameLocation":"7105:16:3","parameters":{"id":2384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2383,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7130:8:3","nodeType":"VariableDeclaration","scope":2385,"src":"7122:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2382,"name":"address","nodeType":"ElementaryTypeName","src":"7122:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7121:18:3"}},{"id":2390,"nodeType":"EventDefinition","src":"7283:40:3","nodes":[],"anonymous":false,"documentation":{"id":2386,"nodeType":"StructuredDocumentation","src":"7146:132:3","text":"@notice Emitted when a strategy is removed from the cloneable strategies\n @param strategy Address of the strategy removed"},"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"7289:15:3","parameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7313:8:3","nodeType":"VariableDeclaration","scope":2390,"src":"7305:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2387,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7304:18:3"}},{"id":2404,"nodeType":"FunctionDefinition","src":"7750:176:3","nodes":[],"documentation":{"id":2391,"nodeType":"StructuredDocumentation","src":"7465:280:3","text":"@notice Initialize the Allo contract\n @param _owner Address of the owner\n @param _registry Address of the registry contract\n @param _treasury Address of the treasury\n @param _percentFee Percentage for the fee\n @param _baseFee Base fee amount"},"functionSelector":"a6b63eb8","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7759:10:3","parameters":{"id":2402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2393,"mutability":"mutable","name":"_owner","nameLocation":"7787:6:3","nodeType":"VariableDeclaration","scope":2404,"src":"7779:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2392,"name":"address","nodeType":"ElementaryTypeName","src":"7779:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2395,"mutability":"mutable","name":"_registry","nameLocation":"7811:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7803:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2394,"name":"address","nodeType":"ElementaryTypeName","src":"7803:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2397,"mutability":"mutable","name":"_treasury","nameLocation":"7846:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7830:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2396,"name":"address","nodeType":"ElementaryTypeName","src":"7830:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":2399,"mutability":"mutable","name":"_percentFee","nameLocation":"7873:11:3","nodeType":"VariableDeclaration","scope":2404,"src":"7865:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2398,"name":"uint256","nodeType":"ElementaryTypeName","src":"7865:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2401,"mutability":"mutable","name":"_baseFee","nameLocation":"7902:8:3","nodeType":"VariableDeclaration","scope":2404,"src":"7894:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2400,"name":"uint256","nodeType":"ElementaryTypeName","src":"7894:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7769:147:3"},"returnParameters":{"id":2403,"nodeType":"ParameterList","parameters":[],"src":"7925:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2413,"nodeType":"FunctionDefinition","src":"8123:81:3","nodes":[],"documentation":{"id":2405,"nodeType":"StructuredDocumentation","src":"7932:186:3","text":"@notice Updates a pools metadata.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to update\n @param _metadata The new metadata to set"},"functionSelector":"5f9ca138","implemented":false,"kind":"function","modifiers":[],"name":"updatePoolMetadata","nameLocation":"8132:18:3","parameters":{"id":2411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2407,"mutability":"mutable","name":"_poolId","nameLocation":"8159:7:3","nodeType":"VariableDeclaration","scope":2413,"src":"8151:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2406,"name":"uint256","nodeType":"ElementaryTypeName","src":"8151:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2410,"mutability":"mutable","name":"_metadata","nameLocation":"8184:9:3","nodeType":"VariableDeclaration","scope":2413,"src":"8168:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2409,"nodeType":"UserDefinedTypeName","pathNode":{"id":2408,"name":"Metadata","nameLocations":["8168:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8168:8:3"},"referencedDeclaration":3098,"src":"8168:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"8150:44:3"},"returnParameters":{"id":2412,"nodeType":"ParameterList","parameters":[],"src":"8203:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2419,"nodeType":"FunctionDefinition","src":"8364:52:3","nodes":[],"documentation":{"id":2414,"nodeType":"StructuredDocumentation","src":"8210:149:3","text":"@notice Update the registry address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":false,"kind":"function","modifiers":[],"name":"updateRegistry","nameLocation":"8373:14:3","parameters":{"id":2417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2416,"mutability":"mutable","name":"_registry","nameLocation":"8396:9:3","nodeType":"VariableDeclaration","scope":2419,"src":"8388:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2415,"name":"address","nodeType":"ElementaryTypeName","src":"8388:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8387:19:3"},"returnParameters":{"id":2418,"nodeType":"ParameterList","parameters":[],"src":"8415:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2425,"nodeType":"FunctionDefinition","src":"8577:60:3","nodes":[],"documentation":{"id":2420,"nodeType":"StructuredDocumentation","src":"8422:150:3","text":"@notice Updates the treasury address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":false,"kind":"function","modifiers":[],"name":"updateTreasury","nameLocation":"8586:14:3","parameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"_treasury","nameLocation":"8617:9:3","nodeType":"VariableDeclaration","scope":2425,"src":"8601:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2421,"name":"address","nodeType":"ElementaryTypeName","src":"8601:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8600:27:3"},"returnParameters":{"id":2424,"nodeType":"ParameterList","parameters":[],"src":"8636:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2431,"nodeType":"FunctionDefinition","src":"8812:56:3","nodes":[],"documentation":{"id":2426,"nodeType":"StructuredDocumentation","src":"8643:164:3","text":"@notice Updates the percentage for the fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _percentFee The new percentage for the fee"},"functionSelector":"f54fc4a0","implemented":false,"kind":"function","modifiers":[],"name":"updatePercentFee","nameLocation":"8821:16:3","parameters":{"id":2429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"_percentFee","nameLocation":"8846:11:3","nodeType":"VariableDeclaration","scope":2431,"src":"8838:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2427,"name":"uint256","nodeType":"ElementaryTypeName","src":"8838:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8837:21:3"},"returnParameters":{"id":2430,"nodeType":"ParameterList","parameters":[],"src":"8867:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2437,"nodeType":"FunctionDefinition","src":"9012:50:3","nodes":[],"documentation":{"id":2432,"nodeType":"StructuredDocumentation","src":"8874:133:3","text":"@notice Updates the base fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":false,"kind":"function","modifiers":[],"name":"updateBaseFee","nameLocation":"9021:13:3","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"_baseFee","nameLocation":"9043:8:3","nodeType":"VariableDeclaration","scope":2437,"src":"9035:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9035:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9034:18:3"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"9061:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2443,"nodeType":"FunctionDefinition","src":"9248:62:3","nodes":[],"documentation":{"id":2438,"nodeType":"StructuredDocumentation","src":"9068:175:3","text":"@notice Adds a strategy to the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to add"},"functionSelector":"41bba0b4","implemented":false,"kind":"function","modifiers":[],"name":"addToCloneableStrategies","nameLocation":"9257:24:3","parameters":{"id":2441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2440,"mutability":"mutable","name":"_strategy","nameLocation":"9290:9:3","nodeType":"VariableDeclaration","scope":2443,"src":"9282:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2439,"name":"address","nodeType":"ElementaryTypeName","src":"9282:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9281:19:3"},"returnParameters":{"id":2442,"nodeType":"ParameterList","parameters":[],"src":"9309:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2449,"nodeType":"FunctionDefinition","src":"9504:67:3","nodes":[],"documentation":{"id":2444,"nodeType":"StructuredDocumentation","src":"9316:183:3","text":"@notice Removes a strategy from the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to remove"},"functionSelector":"031e2fa1","implemented":false,"kind":"function","modifiers":[],"name":"removeFromCloneableStrategies","nameLocation":"9513:29:3","parameters":{"id":2447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2446,"mutability":"mutable","name":"_strategy","nameLocation":"9551:9:3","nodeType":"VariableDeclaration","scope":2449,"src":"9543:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2445,"name":"address","nodeType":"ElementaryTypeName","src":"9543:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9542:19:3"},"returnParameters":{"id":2448,"nodeType":"ParameterList","parameters":[],"src":"9570:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2457,"nodeType":"FunctionDefinition","src":"9796:68:3","nodes":[],"documentation":{"id":2450,"nodeType":"StructuredDocumentation","src":"9577:214:3","text":"@notice Adds a pool manager to the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to add the manager to\n @param _manager The address of the manager to add"},"functionSelector":"2cf682b0","implemented":false,"kind":"function","modifiers":[],"name":"addPoolManager","nameLocation":"9805:14:3","parameters":{"id":2455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"_poolId","nameLocation":"9828:7:3","nodeType":"VariableDeclaration","scope":2457,"src":"9820:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2451,"name":"uint256","nodeType":"ElementaryTypeName","src":"9820:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2454,"mutability":"mutable","name":"_manager","nameLocation":"9845:8:3","nodeType":"VariableDeclaration","scope":2457,"src":"9837:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2453,"name":"address","nodeType":"ElementaryTypeName","src":"9837:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9819:35:3"},"returnParameters":{"id":2456,"nodeType":"ParameterList","parameters":[],"src":"9863:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2465,"nodeType":"FunctionDefinition","src":"10102:71:3","nodes":[],"documentation":{"id":2458,"nodeType":"StructuredDocumentation","src":"9870:227:3","text":"@notice Removes a pool manager from the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to remove the manager from\n @param _manager The address of the manager to remove"},"functionSelector":"7f5a70bd","implemented":false,"kind":"function","modifiers":[],"name":"removePoolManager","nameLocation":"10111:17:3","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"_poolId","nameLocation":"10137:7:3","nodeType":"VariableDeclaration","scope":2465,"src":"10129:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2459,"name":"uint256","nodeType":"ElementaryTypeName","src":"10129:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"_manager","nameLocation":"10154:8:3","nodeType":"VariableDeclaration","scope":2465,"src":"10146:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2461,"name":"address","nodeType":"ElementaryTypeName","src":"10146:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10128:35:3"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"10172:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2473,"nodeType":"FunctionDefinition","src":"10383:67:3","nodes":[],"documentation":{"id":2466,"nodeType":"StructuredDocumentation","src":"10179:199:3","text":"@notice Recovers funds from a pool.\n @dev 'msg.sender' must be a pool admin.\n @param _token The token to recover\n @param _recipient The address to send the recovered funds to"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"10392:12:3","parameters":{"id":2471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2468,"mutability":"mutable","name":"_token","nameLocation":"10413:6:3","nodeType":"VariableDeclaration","scope":2473,"src":"10405:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2467,"name":"address","nodeType":"ElementaryTypeName","src":"10405:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2470,"mutability":"mutable","name":"_recipient","nameLocation":"10429:10:3","nodeType":"VariableDeclaration","scope":2473,"src":"10421:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2469,"name":"address","nodeType":"ElementaryTypeName","src":"10421:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10404:36:3"},"returnParameters":{"id":2472,"nodeType":"ParameterList","parameters":[],"src":"10449:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2483,"nodeType":"FunctionDefinition","src":"10658:99:3","nodes":[],"documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"10456:197:3","text":"@notice Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\n @param _poolId The ID of the pool to register the recipient for"},"functionSelector":"075c0e9c","implemented":false,"kind":"function","modifiers":[],"name":"registerRecipient","nameLocation":"10667:17:3","parameters":{"id":2479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2476,"mutability":"mutable","name":"_poolId","nameLocation":"10693:7:3","nodeType":"VariableDeclaration","scope":2483,"src":"10685:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2475,"name":"uint256","nodeType":"ElementaryTypeName","src":"10685:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2478,"mutability":"mutable","name":"_data","nameLocation":"10715:5:3","nodeType":"VariableDeclaration","scope":2483,"src":"10702:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2477,"name":"bytes","nodeType":"ElementaryTypeName","src":"10702:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10684:37:3"},"returnParameters":{"id":2482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2483,"src":"10748:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2480,"name":"address","nodeType":"ElementaryTypeName","src":"10748:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10747:9:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2496,"nodeType":"FunctionDefinition","src":"10983:133:3","nodes":[],"documentation":{"id":2484,"nodeType":"StructuredDocumentation","src":"10763:215:3","text":"@notice Registers a batch of recipients.\n @param _poolIds The pool ID's to register the recipients for\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"1a20bd88","implemented":false,"kind":"function","modifiers":[],"name":"batchRegisterRecipient","nameLocation":"10992:22:3","parameters":{"id":2491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2487,"mutability":"mutable","name":"_poolIds","nameLocation":"11032:8:3","nodeType":"VariableDeclaration","scope":2496,"src":"11015:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2485,"name":"uint256","nodeType":"ElementaryTypeName","src":"11015:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2486,"nodeType":"ArrayTypeName","src":"11015:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2490,"mutability":"mutable","name":"_data","nameLocation":"11057:5:3","nodeType":"VariableDeclaration","scope":2496,"src":"11042:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2488,"name":"bytes","nodeType":"ElementaryTypeName","src":"11042:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2489,"nodeType":"ArrayTypeName","src":"11042:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11014:49:3"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2496,"src":"11098:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2492,"name":"address","nodeType":"ElementaryTypeName","src":"11098:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2493,"nodeType":"ArrayTypeName","src":"11098:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11097:18:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2504,"nodeType":"FunctionDefinition","src":"11427:69:3","nodes":[],"documentation":{"id":2497,"nodeType":"StructuredDocumentation","src":"11122:300:3","text":"@notice Funds a pool.\n @dev 'msg.value' must be greater than 0 if the token is the native token\n or '_amount' must be greater than 0 if the token is not the native token.\n @param _poolId The ID of the pool to fund\n @param _amount The amount to fund the pool with"},"functionSelector":"5acd6fac","implemented":false,"kind":"function","modifiers":[],"name":"fundPool","nameLocation":"11436:8:3","parameters":{"id":2502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2499,"mutability":"mutable","name":"_poolId","nameLocation":"11453:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11445:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2498,"name":"uint256","nodeType":"ElementaryTypeName","src":"11445:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2501,"mutability":"mutable","name":"_amount","nameLocation":"11470:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11462:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2500,"name":"uint256","nodeType":"ElementaryTypeName","src":"11462:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11444:34:3"},"returnParameters":{"id":2503,"nodeType":"ParameterList","parameters":[],"src":"11495:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2512,"nodeType":"FunctionDefinition","src":"11794:72:3","nodes":[],"documentation":{"id":2505,"nodeType":"StructuredDocumentation","src":"11502:287:3","text":"@notice Allocates funds to a recipient.\n @dev Each strategy will handle the allocation of funds differently.\n @param _poolId The ID of the pool to allocate funds from\n @param _data The data to pass to the strategy and may be handled differently by each strategy."},"functionSelector":"2ec38188","implemented":false,"kind":"function","modifiers":[],"name":"allocate","nameLocation":"11803:8:3","parameters":{"id":2510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"_poolId","nameLocation":"11820:7:3","nodeType":"VariableDeclaration","scope":2512,"src":"11812:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2506,"name":"uint256","nodeType":"ElementaryTypeName","src":"11812:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"_data","nameLocation":"11842:5:3","nodeType":"VariableDeclaration","scope":2512,"src":"11829:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"11829:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:37:3"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[],"src":"11865:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2522,"nodeType":"FunctionDefinition","src":"12003:84:3","nodes":[],"documentation":{"id":2513,"nodeType":"StructuredDocumentation","src":"11872:126:3","text":"@notice Allocates funds to multiple recipients.\n @dev Each strategy will handle the allocation of funds differently"},"functionSelector":"c6dff1cf","implemented":false,"kind":"function","modifiers":[],"name":"batchAllocate","nameLocation":"12012:13:3","parameters":{"id":2520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"_poolIds","nameLocation":"12045:8:3","nodeType":"VariableDeclaration","scope":2522,"src":"12026:27:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12026:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2515,"nodeType":"ArrayTypeName","src":"12026:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2519,"mutability":"mutable","name":"_datas","nameLocation":"12070:6:3","nodeType":"VariableDeclaration","scope":2522,"src":"12055:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2517,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2518,"nodeType":"ArrayTypeName","src":"12055:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"12025:52:3"},"returnParameters":{"id":2521,"nodeType":"ParameterList","parameters":[],"src":"12086:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2533,"nodeType":"FunctionDefinition","src":"12489:98:3","nodes":[],"documentation":{"id":2523,"nodeType":"StructuredDocumentation","src":"12093:391:3","text":"@notice Distributes funds to recipients and emits {Distributed} event if successful\n @dev Each strategy will handle the distribution of funds differently\n @param _poolId The ID of the pool to distribute from\n @param _recipientIds The recipient ids to distribute to\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"3a5fbd92","implemented":false,"kind":"function","modifiers":[],"name":"distribute","nameLocation":"12498:10:3","parameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2525,"mutability":"mutable","name":"_poolId","nameLocation":"12517:7:3","nodeType":"VariableDeclaration","scope":2533,"src":"12509:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2524,"name":"uint256","nodeType":"ElementaryTypeName","src":"12509:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2528,"mutability":"mutable","name":"_recipientIds","nameLocation":"12543:13:3","nodeType":"VariableDeclaration","scope":2533,"src":"12526:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"12526:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2527,"nodeType":"ArrayTypeName","src":"12526:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"_data","nameLocation":"12571:5:3","nodeType":"VariableDeclaration","scope":2533,"src":"12558:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2529,"name":"bytes","nodeType":"ElementaryTypeName","src":"12558:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12508:69:3"},"returnParameters":{"id":2532,"nodeType":"ParameterList","parameters":[],"src":"12586:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2543,"nodeType":"FunctionDefinition","src":"12922:85:3","nodes":[],"documentation":{"id":2534,"nodeType":"StructuredDocumentation","src":"12696:221:3","text":"@notice Checks if an address is a pool admin.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":false,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"12931:11:3","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"_poolId","nameLocation":"12951:7:3","nodeType":"VariableDeclaration","scope":2543,"src":"12943:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint256","nodeType":"ElementaryTypeName","src":"12943:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"_address","nameLocation":"12968:8:3","nodeType":"VariableDeclaration","scope":2543,"src":"12960:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2537,"name":"address","nodeType":"ElementaryTypeName","src":"12960:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12942:35:3"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2543,"src":"13001:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2540,"name":"bool","nodeType":"ElementaryTypeName","src":"13001:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13000:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2553,"nodeType":"FunctionDefinition","src":"13243:87:3","nodes":[],"documentation":{"id":2544,"nodeType":"StructuredDocumentation","src":"13013:225:3","text":"@notice Checks if an address is a pool manager.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":false,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"13252:13:3","parameters":{"id":2549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2546,"mutability":"mutable","name":"_poolId","nameLocation":"13274:7:3","nodeType":"VariableDeclaration","scope":2553,"src":"13266:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2545,"name":"uint256","nodeType":"ElementaryTypeName","src":"13266:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2548,"mutability":"mutable","name":"_address","nameLocation":"13291:8:3","nodeType":"VariableDeclaration","scope":2553,"src":"13283:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2547,"name":"address","nodeType":"ElementaryTypeName","src":"13283:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13265:35:3"},"returnParameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2553,"src":"13324:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2550,"name":"bool","nodeType":"ElementaryTypeName","src":"13324:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13323:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2561,"nodeType":"FunctionDefinition","src":"13563:77:3","nodes":[],"documentation":{"id":2554,"nodeType":"StructuredDocumentation","src":"13336:222:3","text":"@notice Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\n @param _strategy The address of the strategy to check\n @return 'true' if the '_strategy' is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":false,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"13572:19:3","parameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"_strategy","nameLocation":"13600:9:3","nodeType":"VariableDeclaration","scope":2561,"src":"13592:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2555,"name":"address","nodeType":"ElementaryTypeName","src":"13592:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13591:19:3"},"returnParameters":{"id":2560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2561,"src":"13634:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2558,"name":"bool","nodeType":"ElementaryTypeName","src":"13634:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13633:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2569,"nodeType":"FunctionDefinition","src":"13856:70:3","nodes":[],"documentation":{"id":2562,"nodeType":"StructuredDocumentation","src":"13646:205:3","text":"@notice Returns the address of the strategy for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return strategy The address of the strategy for the ID of the pool passed in"},"functionSelector":"cfc0cc34","implemented":false,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"13865:11:3","parameters":{"id":2565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"_poolId","nameLocation":"13885:7:3","nodeType":"VariableDeclaration","scope":2569,"src":"13877:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2563,"name":"uint256","nodeType":"ElementaryTypeName","src":"13877:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13876:17:3"},"returnParameters":{"id":2568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2569,"src":"13917:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2566,"name":"address","nodeType":"ElementaryTypeName","src":"13917:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13916:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2575,"nodeType":"FunctionDefinition","src":"14042:57:3","nodes":[],"documentation":{"id":2570,"nodeType":"StructuredDocumentation","src":"13932:105:3","text":"@notice Returns the current percent fee\n @return percentFee The current percentage for the fee"},"functionSelector":"4edbaadc","implemented":false,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"14051:13:3","parameters":{"id":2571,"nodeType":"ParameterList","parameters":[],"src":"14064:2:3"},"returnParameters":{"id":2574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2575,"src":"14090:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint256","nodeType":"ElementaryTypeName","src":"14090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14089:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2581,"nodeType":"FunctionDefinition","src":"14195:54:3","nodes":[],"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"14105:85:3","text":"@notice Returns the current base fee\n @return baseFee The current base fee"},"functionSelector":"15e812ad","implemented":false,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"14204:10:3","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[],"src":"14214:2:3"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2581,"src":"14240:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"14240:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14239:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2587,"nodeType":"FunctionDefinition","src":"14362:63:3","nodes":[],"documentation":{"id":2582,"nodeType":"StructuredDocumentation","src":"14255:102:3","text":"@notice Returns the current treasury address\n @return treasury The current treasury address"},"functionSelector":"3b19e84a","implemented":false,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"14371:11:3","parameters":{"id":2583,"nodeType":"ParameterList","parameters":[],"src":"14382:2:3"},"returnParameters":{"id":2586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2587,"src":"14408:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"14408:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"14407:17:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2594,"nodeType":"FunctionDefinition","src":"14538:57:3","nodes":[],"documentation":{"id":2588,"nodeType":"StructuredDocumentation","src":"14431:102:3","text":"@notice Returns the current registry address\n @return registry The current registry address"},"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"14547:11:3","parameters":{"id":2589,"nodeType":"ParameterList","parameters":[],"src":"14558:2:3"},"returnParameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2594,"src":"14584:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":2591,"nodeType":"UserDefinedTypeName","pathNode":{"id":2590,"name":"IRegistry","nameLocations":["14584:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"14584:9:3"},"referencedDeclaration":2802,"src":"14584:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"14583:11:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2603,"nodeType":"FunctionDefinition","src":"14787:70:3","nodes":[],"documentation":{"id":2595,"nodeType":"StructuredDocumentation","src":"14601:181:3","text":"@notice Returns the 'Pool' struct for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return pool The 'Pool' struct for the ID of the pool passed in"},"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"14796:7:3","parameters":{"id":2598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2597,"mutability":"mutable","name":"_poolId","nameLocation":"14812:7:3","nodeType":"VariableDeclaration","scope":2603,"src":"14804:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2596,"name":"uint256","nodeType":"ElementaryTypeName","src":"14804:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14803:17:3"},"returnParameters":{"id":2602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2603,"src":"14844:11:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":2600,"nodeType":"UserDefinedTypeName","pathNode":{"id":2599,"name":"Pool","nameLocations":["14844:4:3"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14844:4:3"},"referencedDeclaration":2319,"src":"14844:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"14843:13:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2609,"nodeType":"FunctionDefinition","src":"15008:61:3","nodes":[],"documentation":{"id":2604,"nodeType":"StructuredDocumentation","src":"14863:140:3","text":"@notice Returns the current fee denominator\n @dev 1e18 represents 100%\n @return feeDenominator The current fee denominator"},"functionSelector":"f4e1fc41","implemented":false,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"15017:17:3","parameters":{"id":2605,"nodeType":"ParameterList","parameters":[],"src":"15034:2:3"},"returnParameters":{"id":2608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2609,"src":"15060:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2606,"name":"uint256","nodeType":"ElementaryTypeName","src":"15060:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15059:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IAllo","contractDependencies":[],"contractKind":"interface","documentation":{"id":2304,"nodeType":"StructuredDocumentation","src":"4234:297:3","text":"@title Allo Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Allo contract. It exposes all functions needed to use the Allo protocol."},"fullyImplemented":false,"linearizedBaseContracts":[2610],"name":"IAllo","nameLocation":"4541:5:3","scope":2611,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":3}
\ No newline at end of file
diff --git a/pkg/contracts/out/IArbitrator.sol/IArbitrator.json b/pkg/contracts/out/IArbitrator.sol/IArbitrator.json
index 0f8c93752..0edf022d2 100644
--- a/pkg/contracts/out/IArbitrator.sol/IArbitrator.json
+++ b/pkg/contracts/out/IArbitrator.sol/IArbitrator.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"},{"name":"_feeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","registerSafe(address)":"88d5b732"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feeAmount\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"cost\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"cost\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}}},\"title\":\"Arbitrator Arbitrator interface that implements the new arbitration standard. Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most. When developing arbitrator contracts we need to: - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes). - Define the functions for cost display (arbitrationCost). - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling).\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/IArbitrator.sol\":\"IArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"},{"internalType":"uint256","name":"_feeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"cost":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"cost":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/IArbitrator.sol":"IArbitrator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","id":79607,"exportedSymbols":{"IArbitrable":[79502],"IArbitrator":[79606],"IERC20":[56609]},"nodeType":"SourceUnit","src":"33:5673:123","nodes":[{"id":79504,"nodeType":"PragmaDirective","src":"33:24:123","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79505,"nodeType":"ImportDirective","src":"59:56:123","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":79607,"sourceUnit":56610,"symbolAliases":[],"unitAlias":""},{"id":79506,"nodeType":"ImportDirective","src":"116:27:123","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./IArbitrable.sol","nameLocation":"-1:-1:-1","scope":79607,"sourceUnit":79503,"symbolAliases":[],"unitAlias":""},{"id":79606,"nodeType":"ContractDefinition","src":"761:4944:123","nodes":[{"id":79515,"nodeType":"EventDefinition","src":"994:83:123","nodes":[],"anonymous":false,"documentation":{"id":79508,"nodeType":"StructuredDocumentation","src":"789:200:123","text":"@dev To be emitted when a dispute is created.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _arbitrable The contract which created the dispute."},"eventSelector":"141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995","name":"DisputeCreation","nameLocation":"1000:15:123","parameters":{"id":79514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79510,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1032:10:123","nodeType":"VariableDeclaration","scope":79515,"src":"1016:26:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79509,"name":"uint256","nodeType":"ElementaryTypeName","src":"1016:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79513,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1064:11:123","nodeType":"VariableDeclaration","scope":79515,"src":"1044:31:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"},"typeName":{"id":79512,"nodeType":"UserDefinedTypeName","pathNode":{"id":79511,"name":"IArbitrable","nameLocations":["1044:11:123"],"nodeType":"IdentifierPath","referencedDeclaration":79502,"src":"1044:11:123"},"referencedDeclaration":79502,"src":"1044:11:123","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"}},"visibility":"internal"}],"src":"1015:61:123"}},{"id":79525,"nodeType":"EventDefinition","src":"1332:91:123","nodes":[],"anonymous":false,"documentation":{"id":79516,"nodeType":"StructuredDocumentation","src":"1083:244:123","text":"@dev To be raised when a ruling is given.\n @param _arbitrable The arbitrable receiving the ruling.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _ruling The ruling which was given."},"eventSelector":"394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276","name":"Ruling","nameLocation":"1338:6:123","parameters":{"id":79524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79519,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1365:11:123","nodeType":"VariableDeclaration","scope":79525,"src":"1345:31:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"},"typeName":{"id":79518,"nodeType":"UserDefinedTypeName","pathNode":{"id":79517,"name":"IArbitrable","nameLocations":["1345:11:123"],"nodeType":"IdentifierPath","referencedDeclaration":79502,"src":"1345:11:123"},"referencedDeclaration":79502,"src":"1345:11:123","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":79521,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1394:10:123","nodeType":"VariableDeclaration","scope":79525,"src":"1378:26:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79520,"name":"uint256","nodeType":"ElementaryTypeName","src":"1378:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79523,"indexed":false,"mutability":"mutable","name":"_ruling","nameLocation":"1414:7:123","nodeType":"VariableDeclaration","scope":79525,"src":"1406:15:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79522,"name":"uint256","nodeType":"ElementaryTypeName","src":"1406:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1344:78:123"}},{"id":79533,"nodeType":"EventDefinition","src":"1623:70:123","nodes":[],"anonymous":false,"documentation":{"id":79526,"nodeType":"StructuredDocumentation","src":"1429:189:123","text":"@dev To be emitted when an ERC20 token is added or removed as a method to pay fees.\n @param _token The ERC20 token.\n @param _accepted Whether the token is accepted or not."},"eventSelector":"541615e167511d757a7067a700eb54431b256bb458dfdce0ac58bf2ed0aefd44","name":"AcceptedFeeToken","nameLocation":"1629:16:123","parameters":{"id":79532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79529,"indexed":true,"mutability":"mutable","name":"_token","nameLocation":"1661:6:123","nodeType":"VariableDeclaration","scope":79533,"src":"1646:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79528,"nodeType":"UserDefinedTypeName","pathNode":{"id":79527,"name":"IERC20","nameLocations":["1646:6:123"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1646:6:123"},"referencedDeclaration":56609,"src":"1646:6:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":79531,"indexed":true,"mutability":"mutable","name":"_accepted","nameLocation":"1682:9:123","nodeType":"VariableDeclaration","scope":79533,"src":"1669:22:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79530,"name":"bool","nodeType":"ElementaryTypeName","src":"1669:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1645:47:123"}},{"id":79543,"nodeType":"EventDefinition","src":"1955:88:123","nodes":[],"anonymous":false,"documentation":{"id":79534,"nodeType":"StructuredDocumentation","src":"1699:251:123","text":"@dev To be emitted when the fee for a particular ERC20 token is updated.\n @param _feeToken The ERC20 token.\n @param _rateInEth The new rate of the fee token in ETH.\n @param _rateDecimals The new decimals of the fee token rate."},"eventSelector":"e6996b7f03e9bd02228b99d3d946932e3197f505f60542c4cfbc919441d8a4e6","name":"NewCurrencyRate","nameLocation":"1961:15:123","parameters":{"id":79542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79537,"indexed":true,"mutability":"mutable","name":"_feeToken","nameLocation":"1992:9:123","nodeType":"VariableDeclaration","scope":79543,"src":"1977:24:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79536,"nodeType":"UserDefinedTypeName","pathNode":{"id":79535,"name":"IERC20","nameLocations":["1977:6:123"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1977:6:123"},"referencedDeclaration":56609,"src":"1977:6:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":79539,"indexed":false,"mutability":"mutable","name":"_rateInEth","nameLocation":"2010:10:123","nodeType":"VariableDeclaration","scope":79543,"src":"2003:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":79538,"name":"uint64","nodeType":"ElementaryTypeName","src":"2003:6:123","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":79541,"indexed":false,"mutability":"mutable","name":"_rateDecimals","nameLocation":"2028:13:123","nodeType":"VariableDeclaration","scope":79543,"src":"2022:19:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":79540,"name":"uint8","nodeType":"ElementaryTypeName","src":"2022:5:123","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1976:66:123"}},{"id":79553,"nodeType":"FunctionDefinition","src":"2659:145:123","nodes":[],"documentation":{"id":79544,"nodeType":"StructuredDocumentation","src":"2049:605:123","text":"@dev Create a dispute and pay for the fees in the native currency, typically ETH.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return disputeID The identifier of the dispute created."},"functionSelector":"c13517e1","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2668:13:123","parameters":{"id":79549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79546,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"2690:16:123","nodeType":"VariableDeclaration","scope":79553,"src":"2682:24:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79545,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79548,"mutability":"mutable","name":"_extraData","nameLocation":"2723:10:123","nodeType":"VariableDeclaration","scope":79553,"src":"2708:25:123","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79547,"name":"bytes","nodeType":"ElementaryTypeName","src":"2708:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2681:53:123"},"returnParameters":{"id":79552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79551,"mutability":"mutable","name":"disputeID","nameLocation":"2793:9:123","nodeType":"VariableDeclaration","scope":79553,"src":"2785:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79550,"name":"uint256","nodeType":"ElementaryTypeName","src":"2785:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2784:19:123"},"scope":79606,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79568,"nodeType":"FunctionDefinition","src":"3538:167:123","nodes":[],"documentation":{"id":79554,"nodeType":"StructuredDocumentation","src":"2810:723:123","text":"@dev Create a dispute and pay for the fees in a supported ERC20 token.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @param _feeAmount Amount of the ERC20 token used to pay fees.\n @return disputeID The identifier of the dispute created."},"functionSelector":"f6506db4","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3547:13:123","parameters":{"id":79564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79556,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"3569:16:123","nodeType":"VariableDeclaration","scope":79568,"src":"3561:24:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79555,"name":"uint256","nodeType":"ElementaryTypeName","src":"3561:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79558,"mutability":"mutable","name":"_extraData","nameLocation":"3602:10:123","nodeType":"VariableDeclaration","scope":79568,"src":"3587:25:123","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79557,"name":"bytes","nodeType":"ElementaryTypeName","src":"3587:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79561,"mutability":"mutable","name":"_feeToken","nameLocation":"3621:9:123","nodeType":"VariableDeclaration","scope":79568,"src":"3614:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79560,"nodeType":"UserDefinedTypeName","pathNode":{"id":79559,"name":"IERC20","nameLocations":["3614:6:123"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3614:6:123"},"referencedDeclaration":56609,"src":"3614:6:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":79563,"mutability":"mutable","name":"_feeAmount","nameLocation":"3640:10:123","nodeType":"VariableDeclaration","scope":79568,"src":"3632:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79562,"name":"uint256","nodeType":"ElementaryTypeName","src":"3632:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3560:91:123"},"returnParameters":{"id":79567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79566,"mutability":"mutable","name":"disputeID","nameLocation":"3694:9:123","nodeType":"VariableDeclaration","scope":79568,"src":"3686:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79565,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3685:19:123"},"scope":79606,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79576,"nodeType":"FunctionDefinition","src":"4254:89:123","nodes":[],"documentation":{"id":79569,"nodeType":"StructuredDocumentation","src":"3711:538:123","text":"@dev Compute the cost of arbitration denominated in the native currency, typically ETH.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return cost The arbitration cost in ETH."},"functionSelector":"f7434ea9","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4263:15:123","parameters":{"id":79572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79571,"mutability":"mutable","name":"_extraData","nameLocation":"4294:10:123","nodeType":"VariableDeclaration","scope":79576,"src":"4279:25:123","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79570,"name":"bytes","nodeType":"ElementaryTypeName","src":"4279:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4278:27:123"},"returnParameters":{"id":79575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79574,"mutability":"mutable","name":"cost","nameLocation":"4337:4:123","nodeType":"VariableDeclaration","scope":79576,"src":"4329:12:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79573,"name":"uint256","nodeType":"ElementaryTypeName","src":"4329:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4328:14:123"},"scope":79606,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79587,"nodeType":"FunctionDefinition","src":"4936:107:123","nodes":[],"documentation":{"id":79577,"nodeType":"StructuredDocumentation","src":"4349:582:123","text":"@dev Compute the cost of arbitration denominated in `_feeToken`.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @return cost The arbitration cost in `_feeToken`."},"functionSelector":"d98493f6","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4945:15:123","parameters":{"id":79583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79579,"mutability":"mutable","name":"_extraData","nameLocation":"4976:10:123","nodeType":"VariableDeclaration","scope":79587,"src":"4961:25:123","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79578,"name":"bytes","nodeType":"ElementaryTypeName","src":"4961:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79582,"mutability":"mutable","name":"_feeToken","nameLocation":"4995:9:123","nodeType":"VariableDeclaration","scope":79587,"src":"4988:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79581,"nodeType":"UserDefinedTypeName","pathNode":{"id":79580,"name":"IERC20","nameLocations":["4988:6:123"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"4988:6:123"},"referencedDeclaration":56609,"src":"4988:6:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"4960:45:123"},"returnParameters":{"id":79586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79585,"mutability":"mutable","name":"cost","nameLocation":"5037:4:123","nodeType":"VariableDeclaration","scope":79587,"src":"5029:12:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79584,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:14:123"},"scope":79606,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79599,"nodeType":"FunctionDefinition","src":"5337:110:123","nodes":[],"documentation":{"id":79588,"nodeType":"StructuredDocumentation","src":"5049:283:123","text":"@dev Gets the current ruling of a specified dispute.\n @param _disputeID The ID of the dispute.\n @return ruling The current ruling.\n @return tied Whether it's a tie or not.\n @return overridden Whether the ruling was overridden by appeal funding or not."},"functionSelector":"1c3db16d","implemented":false,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5346:13:123","parameters":{"id":79591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79590,"mutability":"mutable","name":"_disputeID","nameLocation":"5368:10:123","nodeType":"VariableDeclaration","scope":79599,"src":"5360:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79589,"name":"uint256","nodeType":"ElementaryTypeName","src":"5360:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5359:20:123"},"returnParameters":{"id":79598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79593,"mutability":"mutable","name":"ruling","nameLocation":"5411:6:123","nodeType":"VariableDeclaration","scope":79599,"src":"5403:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79592,"name":"uint256","nodeType":"ElementaryTypeName","src":"5403:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79595,"mutability":"mutable","name":"tied","nameLocation":"5424:4:123","nodeType":"VariableDeclaration","scope":79599,"src":"5419:9:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79594,"name":"bool","nodeType":"ElementaryTypeName","src":"5419:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":79597,"mutability":"mutable","name":"overridden","nameLocation":"5435:10:123","nodeType":"VariableDeclaration","scope":79599,"src":"5430:15:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79596,"name":"bool","nodeType":"ElementaryTypeName","src":"5430:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5402:44:123"},"scope":79606,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79605,"nodeType":"FunctionDefinition","src":"5657:46:123","nodes":[],"documentation":{"id":79600,"nodeType":"StructuredDocumentation","src":"5479:173:123","text":"@dev Authorize the safe to execute a ruling on the source contract.<\n @param _safe that acts as the Tribunal safe that can rule disputes from the source Strategy."},"functionSelector":"88d5b732","implemented":false,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"5666:12:123","parameters":{"id":79603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79602,"mutability":"mutable","name":"_safe","nameLocation":"5687:5:123","nodeType":"VariableDeclaration","scope":79605,"src":"5679:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79601,"name":"address","nodeType":"ElementaryTypeName","src":"5679:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5678:15:123"},"returnParameters":{"id":79604,"nodeType":"ParameterList","parameters":[],"src":"5702:0:123"},"scope":79606,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IArbitrator","contractDependencies":[],"contractKind":"interface","documentation":{"id":79507,"nodeType":"StructuredDocumentation","src":"145:616:123","text":"@title Arbitrator\n Arbitrator interface that implements the new arbitration standard.\n Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most.\n When developing arbitrator contracts we need to:\n - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes).\n - Define the functions for cost display (arbitrationCost).\n - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling)."},"fullyImplemented":false,"linearizedBaseContracts":[79606],"name":"IArbitrator","nameLocation":"771:11:123","scope":79607,"usedErrors":[]}],"license":"MIT"},"id":123}
\ No newline at end of file
+{"abi":[{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"},{"name":"_feeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","registerSafe(address)":"88d5b732"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feeAmount\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"cost\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"cost\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}}},\"title\":\"Arbitrator Arbitrator interface that implements the new arbitration standard. Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most. When developing arbitrator contracts we need to: - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes). - Define the functions for cost display (arbitrationCost). - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling).\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/IArbitrator.sol\":\"IArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"},{"internalType":"uint256","name":"_feeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"cost":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"cost":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/IArbitrator.sol":"IArbitrator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","id":79667,"exportedSymbols":{"IArbitrable":[79562],"IArbitrator":[79666],"IERC20":[56609]},"nodeType":"SourceUnit","src":"33:5673:123","nodes":[{"id":79564,"nodeType":"PragmaDirective","src":"33:24:123","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79565,"nodeType":"ImportDirective","src":"59:56:123","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":79667,"sourceUnit":56610,"symbolAliases":[],"unitAlias":""},{"id":79566,"nodeType":"ImportDirective","src":"116:27:123","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./IArbitrable.sol","nameLocation":"-1:-1:-1","scope":79667,"sourceUnit":79563,"symbolAliases":[],"unitAlias":""},{"id":79666,"nodeType":"ContractDefinition","src":"761:4944:123","nodes":[{"id":79575,"nodeType":"EventDefinition","src":"994:83:123","nodes":[],"anonymous":false,"documentation":{"id":79568,"nodeType":"StructuredDocumentation","src":"789:200:123","text":"@dev To be emitted when a dispute is created.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _arbitrable The contract which created the dispute."},"eventSelector":"141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995","name":"DisputeCreation","nameLocation":"1000:15:123","parameters":{"id":79574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79570,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1032:10:123","nodeType":"VariableDeclaration","scope":79575,"src":"1016:26:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79569,"name":"uint256","nodeType":"ElementaryTypeName","src":"1016:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79573,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1064:11:123","nodeType":"VariableDeclaration","scope":79575,"src":"1044:31:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"},"typeName":{"id":79572,"nodeType":"UserDefinedTypeName","pathNode":{"id":79571,"name":"IArbitrable","nameLocations":["1044:11:123"],"nodeType":"IdentifierPath","referencedDeclaration":79562,"src":"1044:11:123"},"referencedDeclaration":79562,"src":"1044:11:123","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"}},"visibility":"internal"}],"src":"1015:61:123"}},{"id":79585,"nodeType":"EventDefinition","src":"1332:91:123","nodes":[],"anonymous":false,"documentation":{"id":79576,"nodeType":"StructuredDocumentation","src":"1083:244:123","text":"@dev To be raised when a ruling is given.\n @param _arbitrable The arbitrable receiving the ruling.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _ruling The ruling which was given."},"eventSelector":"394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276","name":"Ruling","nameLocation":"1338:6:123","parameters":{"id":79584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79579,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1365:11:123","nodeType":"VariableDeclaration","scope":79585,"src":"1345:31:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"},"typeName":{"id":79578,"nodeType":"UserDefinedTypeName","pathNode":{"id":79577,"name":"IArbitrable","nameLocations":["1345:11:123"],"nodeType":"IdentifierPath","referencedDeclaration":79562,"src":"1345:11:123"},"referencedDeclaration":79562,"src":"1345:11:123","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":79581,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1394:10:123","nodeType":"VariableDeclaration","scope":79585,"src":"1378:26:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79580,"name":"uint256","nodeType":"ElementaryTypeName","src":"1378:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79583,"indexed":false,"mutability":"mutable","name":"_ruling","nameLocation":"1414:7:123","nodeType":"VariableDeclaration","scope":79585,"src":"1406:15:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79582,"name":"uint256","nodeType":"ElementaryTypeName","src":"1406:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1344:78:123"}},{"id":79593,"nodeType":"EventDefinition","src":"1623:70:123","nodes":[],"anonymous":false,"documentation":{"id":79586,"nodeType":"StructuredDocumentation","src":"1429:189:123","text":"@dev To be emitted when an ERC20 token is added or removed as a method to pay fees.\n @param _token The ERC20 token.\n @param _accepted Whether the token is accepted or not."},"eventSelector":"541615e167511d757a7067a700eb54431b256bb458dfdce0ac58bf2ed0aefd44","name":"AcceptedFeeToken","nameLocation":"1629:16:123","parameters":{"id":79592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79589,"indexed":true,"mutability":"mutable","name":"_token","nameLocation":"1661:6:123","nodeType":"VariableDeclaration","scope":79593,"src":"1646:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79588,"nodeType":"UserDefinedTypeName","pathNode":{"id":79587,"name":"IERC20","nameLocations":["1646:6:123"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1646:6:123"},"referencedDeclaration":56609,"src":"1646:6:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":79591,"indexed":true,"mutability":"mutable","name":"_accepted","nameLocation":"1682:9:123","nodeType":"VariableDeclaration","scope":79593,"src":"1669:22:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79590,"name":"bool","nodeType":"ElementaryTypeName","src":"1669:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1645:47:123"}},{"id":79603,"nodeType":"EventDefinition","src":"1955:88:123","nodes":[],"anonymous":false,"documentation":{"id":79594,"nodeType":"StructuredDocumentation","src":"1699:251:123","text":"@dev To be emitted when the fee for a particular ERC20 token is updated.\n @param _feeToken The ERC20 token.\n @param _rateInEth The new rate of the fee token in ETH.\n @param _rateDecimals The new decimals of the fee token rate."},"eventSelector":"e6996b7f03e9bd02228b99d3d946932e3197f505f60542c4cfbc919441d8a4e6","name":"NewCurrencyRate","nameLocation":"1961:15:123","parameters":{"id":79602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79597,"indexed":true,"mutability":"mutable","name":"_feeToken","nameLocation":"1992:9:123","nodeType":"VariableDeclaration","scope":79603,"src":"1977:24:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79596,"nodeType":"UserDefinedTypeName","pathNode":{"id":79595,"name":"IERC20","nameLocations":["1977:6:123"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1977:6:123"},"referencedDeclaration":56609,"src":"1977:6:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":79599,"indexed":false,"mutability":"mutable","name":"_rateInEth","nameLocation":"2010:10:123","nodeType":"VariableDeclaration","scope":79603,"src":"2003:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":79598,"name":"uint64","nodeType":"ElementaryTypeName","src":"2003:6:123","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":79601,"indexed":false,"mutability":"mutable","name":"_rateDecimals","nameLocation":"2028:13:123","nodeType":"VariableDeclaration","scope":79603,"src":"2022:19:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":79600,"name":"uint8","nodeType":"ElementaryTypeName","src":"2022:5:123","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1976:66:123"}},{"id":79613,"nodeType":"FunctionDefinition","src":"2659:145:123","nodes":[],"documentation":{"id":79604,"nodeType":"StructuredDocumentation","src":"2049:605:123","text":"@dev Create a dispute and pay for the fees in the native currency, typically ETH.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return disputeID The identifier of the dispute created."},"functionSelector":"c13517e1","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2668:13:123","parameters":{"id":79609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79606,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"2690:16:123","nodeType":"VariableDeclaration","scope":79613,"src":"2682:24:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79605,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79608,"mutability":"mutable","name":"_extraData","nameLocation":"2723:10:123","nodeType":"VariableDeclaration","scope":79613,"src":"2708:25:123","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79607,"name":"bytes","nodeType":"ElementaryTypeName","src":"2708:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2681:53:123"},"returnParameters":{"id":79612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79611,"mutability":"mutable","name":"disputeID","nameLocation":"2793:9:123","nodeType":"VariableDeclaration","scope":79613,"src":"2785:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79610,"name":"uint256","nodeType":"ElementaryTypeName","src":"2785:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2784:19:123"},"scope":79666,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79628,"nodeType":"FunctionDefinition","src":"3538:167:123","nodes":[],"documentation":{"id":79614,"nodeType":"StructuredDocumentation","src":"2810:723:123","text":"@dev Create a dispute and pay for the fees in a supported ERC20 token.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @param _feeAmount Amount of the ERC20 token used to pay fees.\n @return disputeID The identifier of the dispute created."},"functionSelector":"f6506db4","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3547:13:123","parameters":{"id":79624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79616,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"3569:16:123","nodeType":"VariableDeclaration","scope":79628,"src":"3561:24:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79615,"name":"uint256","nodeType":"ElementaryTypeName","src":"3561:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79618,"mutability":"mutable","name":"_extraData","nameLocation":"3602:10:123","nodeType":"VariableDeclaration","scope":79628,"src":"3587:25:123","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79617,"name":"bytes","nodeType":"ElementaryTypeName","src":"3587:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79621,"mutability":"mutable","name":"_feeToken","nameLocation":"3621:9:123","nodeType":"VariableDeclaration","scope":79628,"src":"3614:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79620,"nodeType":"UserDefinedTypeName","pathNode":{"id":79619,"name":"IERC20","nameLocations":["3614:6:123"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3614:6:123"},"referencedDeclaration":56609,"src":"3614:6:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":79623,"mutability":"mutable","name":"_feeAmount","nameLocation":"3640:10:123","nodeType":"VariableDeclaration","scope":79628,"src":"3632:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79622,"name":"uint256","nodeType":"ElementaryTypeName","src":"3632:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3560:91:123"},"returnParameters":{"id":79627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79626,"mutability":"mutable","name":"disputeID","nameLocation":"3694:9:123","nodeType":"VariableDeclaration","scope":79628,"src":"3686:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79625,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3685:19:123"},"scope":79666,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79636,"nodeType":"FunctionDefinition","src":"4254:89:123","nodes":[],"documentation":{"id":79629,"nodeType":"StructuredDocumentation","src":"3711:538:123","text":"@dev Compute the cost of arbitration denominated in the native currency, typically ETH.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return cost The arbitration cost in ETH."},"functionSelector":"f7434ea9","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4263:15:123","parameters":{"id":79632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79631,"mutability":"mutable","name":"_extraData","nameLocation":"4294:10:123","nodeType":"VariableDeclaration","scope":79636,"src":"4279:25:123","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79630,"name":"bytes","nodeType":"ElementaryTypeName","src":"4279:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4278:27:123"},"returnParameters":{"id":79635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79634,"mutability":"mutable","name":"cost","nameLocation":"4337:4:123","nodeType":"VariableDeclaration","scope":79636,"src":"4329:12:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79633,"name":"uint256","nodeType":"ElementaryTypeName","src":"4329:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4328:14:123"},"scope":79666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79647,"nodeType":"FunctionDefinition","src":"4936:107:123","nodes":[],"documentation":{"id":79637,"nodeType":"StructuredDocumentation","src":"4349:582:123","text":"@dev Compute the cost of arbitration denominated in `_feeToken`.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @return cost The arbitration cost in `_feeToken`."},"functionSelector":"d98493f6","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4945:15:123","parameters":{"id":79643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79639,"mutability":"mutable","name":"_extraData","nameLocation":"4976:10:123","nodeType":"VariableDeclaration","scope":79647,"src":"4961:25:123","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79638,"name":"bytes","nodeType":"ElementaryTypeName","src":"4961:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79642,"mutability":"mutable","name":"_feeToken","nameLocation":"4995:9:123","nodeType":"VariableDeclaration","scope":79647,"src":"4988:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79641,"nodeType":"UserDefinedTypeName","pathNode":{"id":79640,"name":"IERC20","nameLocations":["4988:6:123"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"4988:6:123"},"referencedDeclaration":56609,"src":"4988:6:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"4960:45:123"},"returnParameters":{"id":79646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79645,"mutability":"mutable","name":"cost","nameLocation":"5037:4:123","nodeType":"VariableDeclaration","scope":79647,"src":"5029:12:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79644,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:14:123"},"scope":79666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79659,"nodeType":"FunctionDefinition","src":"5337:110:123","nodes":[],"documentation":{"id":79648,"nodeType":"StructuredDocumentation","src":"5049:283:123","text":"@dev Gets the current ruling of a specified dispute.\n @param _disputeID The ID of the dispute.\n @return ruling The current ruling.\n @return tied Whether it's a tie or not.\n @return overridden Whether the ruling was overridden by appeal funding or not."},"functionSelector":"1c3db16d","implemented":false,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5346:13:123","parameters":{"id":79651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79650,"mutability":"mutable","name":"_disputeID","nameLocation":"5368:10:123","nodeType":"VariableDeclaration","scope":79659,"src":"5360:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79649,"name":"uint256","nodeType":"ElementaryTypeName","src":"5360:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5359:20:123"},"returnParameters":{"id":79658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79653,"mutability":"mutable","name":"ruling","nameLocation":"5411:6:123","nodeType":"VariableDeclaration","scope":79659,"src":"5403:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79652,"name":"uint256","nodeType":"ElementaryTypeName","src":"5403:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79655,"mutability":"mutable","name":"tied","nameLocation":"5424:4:123","nodeType":"VariableDeclaration","scope":79659,"src":"5419:9:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79654,"name":"bool","nodeType":"ElementaryTypeName","src":"5419:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":79657,"mutability":"mutable","name":"overridden","nameLocation":"5435:10:123","nodeType":"VariableDeclaration","scope":79659,"src":"5430:15:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79656,"name":"bool","nodeType":"ElementaryTypeName","src":"5430:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5402:44:123"},"scope":79666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79665,"nodeType":"FunctionDefinition","src":"5657:46:123","nodes":[],"documentation":{"id":79660,"nodeType":"StructuredDocumentation","src":"5479:173:123","text":"@dev Authorize the safe to execute a ruling on the source contract.<\n @param _safe that acts as the Tribunal safe that can rule disputes from the source Strategy."},"functionSelector":"88d5b732","implemented":false,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"5666:12:123","parameters":{"id":79663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79662,"mutability":"mutable","name":"_safe","nameLocation":"5687:5:123","nodeType":"VariableDeclaration","scope":79665,"src":"5679:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79661,"name":"address","nodeType":"ElementaryTypeName","src":"5679:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5678:15:123"},"returnParameters":{"id":79664,"nodeType":"ParameterList","parameters":[],"src":"5702:0:123"},"scope":79666,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IArbitrator","contractDependencies":[],"contractKind":"interface","documentation":{"id":79567,"nodeType":"StructuredDocumentation","src":"145:616:123","text":"@title Arbitrator\n Arbitrator interface that implements the new arbitration standard.\n Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most.\n When developing arbitrator contracts we need to:\n - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes).\n - Define the functions for cost display (arbitrationCost).\n - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling)."},"fullyImplemented":false,"linearizedBaseContracts":[79666],"name":"IArbitrator","nameLocation":"771:11:123","scope":79667,"usedErrors":[]}],"license":"MIT"},"id":123}
\ No newline at end of file
diff --git a/pkg/contracts/out/IERC20.sol/IERC20.json b/pkg/contracts/out/IERC20.sol/IERC20.json
index 6c4ef0b8a..9893fb906 100644
--- a/pkg/contracts/out/IERC20.sol/IERC20.json
+++ b/pkg/contracts/out/IERC20.sol/IERC20.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":37824,"exportedSymbols":{"IERC20":[37823]},"nodeType":"SourceUnit","src":"32:2035:39","nodes":[{"id":37729,"nodeType":"PragmaDirective","src":"32:24:39","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":37823,"nodeType":"ContractDefinition","src":"195:1871:39","nodes":[{"id":37739,"nodeType":"EventDefinition","src":"314:72:39","nodes":[],"anonymous":false,"documentation":{"id":37731,"nodeType":"StructuredDocumentation","src":"218:91:39","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:39","parameters":{"id":37738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37733,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:39","nodeType":"VariableDeclaration","scope":37739,"src":"329:20:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37732,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37735,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:39","nodeType":"VariableDeclaration","scope":37739,"src":"351:18:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37734,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37737,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:39","nodeType":"VariableDeclaration","scope":37739,"src":"371:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37736,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:39"}},{"id":37748,"nodeType":"EventDefinition","src":"514:78:39","nodes":[],"anonymous":false,"documentation":{"id":37740,"nodeType":"StructuredDocumentation","src":"392:117:39","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:39","parameters":{"id":37747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37742,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:39","nodeType":"VariableDeclaration","scope":37748,"src":"529:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37741,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37744,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:39","nodeType":"VariableDeclaration","scope":37748,"src":"552:23:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37743,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37746,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:39","nodeType":"VariableDeclaration","scope":37748,"src":"577:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37745,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:39"}},{"id":37754,"nodeType":"FunctionDefinition","src":"657:55:39","nodes":[],"documentation":{"id":37749,"nodeType":"StructuredDocumentation","src":"598:54:39","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:39","parameters":{"id":37750,"nodeType":"ParameterList","parameters":[],"src":"677:2:39"},"returnParameters":{"id":37753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37754,"src":"703:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37751,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37762,"nodeType":"FunctionDefinition","src":"783:68:39","nodes":[],"documentation":{"id":37755,"nodeType":"StructuredDocumentation","src":"718:60:39","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:39","parameters":{"id":37758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37757,"mutability":"mutable","name":"account","nameLocation":"810:7:39","nodeType":"VariableDeclaration","scope":37762,"src":"802:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37756,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:39"},"returnParameters":{"id":37761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37760,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37762,"src":"842:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37759,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37772,"nodeType":"FunctionDefinition","src":"930:70:39","nodes":[],"documentation":{"id":37763,"nodeType":"StructuredDocumentation","src":"857:68:39","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:39","parameters":{"id":37768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37765,"mutability":"mutable","name":"to","nameLocation":"956:2:39","nodeType":"VariableDeclaration","scope":37772,"src":"948:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37764,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37767,"mutability":"mutable","name":"amount","nameLocation":"968:6:39","nodeType":"VariableDeclaration","scope":37772,"src":"960:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37766,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:39"},"returnParameters":{"id":37771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37772,"src":"994:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37769,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:39"},"scope":37823,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37782,"nodeType":"FunctionDefinition","src":"1125:83:39","nodes":[],"documentation":{"id":37773,"nodeType":"StructuredDocumentation","src":"1006:114:39","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:39","parameters":{"id":37778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37775,"mutability":"mutable","name":"owner","nameLocation":"1152:5:39","nodeType":"VariableDeclaration","scope":37782,"src":"1144:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37774,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37777,"mutability":"mutable","name":"spender","nameLocation":"1167:7:39","nodeType":"VariableDeclaration","scope":37782,"src":"1159:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37776,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:39"},"returnParameters":{"id":37781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37782,"src":"1199:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37779,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37792,"nodeType":"FunctionDefinition","src":"1412:74:39","nodes":[],"documentation":{"id":37783,"nodeType":"StructuredDocumentation","src":"1214:193:39","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:39","parameters":{"id":37788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37785,"mutability":"mutable","name":"spender","nameLocation":"1437:7:39","nodeType":"VariableDeclaration","scope":37792,"src":"1429:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37784,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37787,"mutability":"mutable","name":"amount","nameLocation":"1454:6:39","nodeType":"VariableDeclaration","scope":37792,"src":"1446:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37786,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:39"},"returnParameters":{"id":37791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37792,"src":"1480:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37789,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:39"},"scope":37823,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37804,"nodeType":"FunctionDefinition","src":"1644:88:39","nodes":[],"documentation":{"id":37793,"nodeType":"StructuredDocumentation","src":"1492:147:39","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:39","parameters":{"id":37800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37795,"mutability":"mutable","name":"from","nameLocation":"1674:4:39","nodeType":"VariableDeclaration","scope":37804,"src":"1666:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37794,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37797,"mutability":"mutable","name":"to","nameLocation":"1688:2:39","nodeType":"VariableDeclaration","scope":37804,"src":"1680:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37796,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37799,"mutability":"mutable","name":"amount","nameLocation":"1700:6:39","nodeType":"VariableDeclaration","scope":37804,"src":"1692:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37798,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:39"},"returnParameters":{"id":37803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37802,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37804,"src":"1726:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37801,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:39"},"scope":37823,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37810,"nodeType":"FunctionDefinition","src":"1785:54:39","nodes":[],"documentation":{"id":37805,"nodeType":"StructuredDocumentation","src":"1738:42:39","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:39","parameters":{"id":37806,"nodeType":"ParameterList","parameters":[],"src":"1798:2:39"},"returnParameters":{"id":37809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37808,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37810,"src":"1824:13:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37807,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37816,"nodeType":"FunctionDefinition","src":"1894:56:39","nodes":[],"documentation":{"id":37811,"nodeType":"StructuredDocumentation","src":"1845:44:39","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:39","parameters":{"id":37812,"nodeType":"ParameterList","parameters":[],"src":"1909:2:39"},"returnParameters":{"id":37815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37814,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37816,"src":"1935:13:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37813,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37822,"nodeType":"FunctionDefinition","src":"2014:50:39","nodes":[],"documentation":{"id":37817,"nodeType":"StructuredDocumentation","src":"1956:53:39","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:39","parameters":{"id":37818,"nodeType":"ParameterList","parameters":[],"src":"2031:2:39"},"returnParameters":{"id":37821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37820,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37822,"src":"2057:5:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37819,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:39","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":37730,"nodeType":"StructuredDocumentation","src":"58:137:39","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[37823],"name":"IERC20","nameLocation":"205:6:39","scope":37824,"usedErrors":[]}],"license":"MIT"},"id":39}
\ No newline at end of file
+{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":37824,"exportedSymbols":{"IERC20":[37823]},"nodeType":"SourceUnit","src":"32:2035:39","nodes":[{"id":37729,"nodeType":"PragmaDirective","src":"32:24:39","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":37823,"nodeType":"ContractDefinition","src":"195:1871:39","nodes":[{"id":37739,"nodeType":"EventDefinition","src":"314:72:39","nodes":[],"anonymous":false,"documentation":{"id":37731,"nodeType":"StructuredDocumentation","src":"218:91:39","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:39","parameters":{"id":37738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37733,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:39","nodeType":"VariableDeclaration","scope":37739,"src":"329:20:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37732,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37735,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:39","nodeType":"VariableDeclaration","scope":37739,"src":"351:18:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37734,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37737,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:39","nodeType":"VariableDeclaration","scope":37739,"src":"371:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37736,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:39"}},{"id":37748,"nodeType":"EventDefinition","src":"514:78:39","nodes":[],"anonymous":false,"documentation":{"id":37740,"nodeType":"StructuredDocumentation","src":"392:117:39","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:39","parameters":{"id":37747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37742,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:39","nodeType":"VariableDeclaration","scope":37748,"src":"529:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37741,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37744,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:39","nodeType":"VariableDeclaration","scope":37748,"src":"552:23:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37743,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37746,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:39","nodeType":"VariableDeclaration","scope":37748,"src":"577:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37745,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:39"}},{"id":37754,"nodeType":"FunctionDefinition","src":"657:55:39","nodes":[],"documentation":{"id":37749,"nodeType":"StructuredDocumentation","src":"598:54:39","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:39","parameters":{"id":37750,"nodeType":"ParameterList","parameters":[],"src":"677:2:39"},"returnParameters":{"id":37753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37754,"src":"703:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37751,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37762,"nodeType":"FunctionDefinition","src":"783:68:39","nodes":[],"documentation":{"id":37755,"nodeType":"StructuredDocumentation","src":"718:60:39","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:39","parameters":{"id":37758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37757,"mutability":"mutable","name":"account","nameLocation":"810:7:39","nodeType":"VariableDeclaration","scope":37762,"src":"802:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37756,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:39"},"returnParameters":{"id":37761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37760,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37762,"src":"842:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37759,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37772,"nodeType":"FunctionDefinition","src":"930:70:39","nodes":[],"documentation":{"id":37763,"nodeType":"StructuredDocumentation","src":"857:68:39","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:39","parameters":{"id":37768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37765,"mutability":"mutable","name":"to","nameLocation":"956:2:39","nodeType":"VariableDeclaration","scope":37772,"src":"948:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37764,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37767,"mutability":"mutable","name":"amount","nameLocation":"968:6:39","nodeType":"VariableDeclaration","scope":37772,"src":"960:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37766,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:39"},"returnParameters":{"id":37771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37772,"src":"994:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37769,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:39"},"scope":37823,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37782,"nodeType":"FunctionDefinition","src":"1125:83:39","nodes":[],"documentation":{"id":37773,"nodeType":"StructuredDocumentation","src":"1006:114:39","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:39","parameters":{"id":37778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37775,"mutability":"mutable","name":"owner","nameLocation":"1152:5:39","nodeType":"VariableDeclaration","scope":37782,"src":"1144:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37774,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37777,"mutability":"mutable","name":"spender","nameLocation":"1167:7:39","nodeType":"VariableDeclaration","scope":37782,"src":"1159:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37776,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:39"},"returnParameters":{"id":37781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37782,"src":"1199:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37779,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37792,"nodeType":"FunctionDefinition","src":"1412:74:39","nodes":[],"documentation":{"id":37783,"nodeType":"StructuredDocumentation","src":"1214:193:39","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:39","parameters":{"id":37788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37785,"mutability":"mutable","name":"spender","nameLocation":"1437:7:39","nodeType":"VariableDeclaration","scope":37792,"src":"1429:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37784,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37787,"mutability":"mutable","name":"amount","nameLocation":"1454:6:39","nodeType":"VariableDeclaration","scope":37792,"src":"1446:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37786,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:39"},"returnParameters":{"id":37791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37792,"src":"1480:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37789,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:39"},"scope":37823,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37804,"nodeType":"FunctionDefinition","src":"1644:88:39","nodes":[],"documentation":{"id":37793,"nodeType":"StructuredDocumentation","src":"1492:147:39","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:39","parameters":{"id":37800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37795,"mutability":"mutable","name":"from","nameLocation":"1674:4:39","nodeType":"VariableDeclaration","scope":37804,"src":"1666:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37794,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37797,"mutability":"mutable","name":"to","nameLocation":"1688:2:39","nodeType":"VariableDeclaration","scope":37804,"src":"1680:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37796,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37799,"mutability":"mutable","name":"amount","nameLocation":"1700:6:39","nodeType":"VariableDeclaration","scope":37804,"src":"1692:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37798,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:39"},"returnParameters":{"id":37803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37802,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37804,"src":"1726:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37801,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:39"},"scope":37823,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37810,"nodeType":"FunctionDefinition","src":"1785:54:39","nodes":[],"documentation":{"id":37805,"nodeType":"StructuredDocumentation","src":"1738:42:39","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:39","parameters":{"id":37806,"nodeType":"ParameterList","parameters":[],"src":"1798:2:39"},"returnParameters":{"id":37809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37808,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37810,"src":"1824:13:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37807,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37816,"nodeType":"FunctionDefinition","src":"1894:56:39","nodes":[],"documentation":{"id":37811,"nodeType":"StructuredDocumentation","src":"1845:44:39","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:39","parameters":{"id":37812,"nodeType":"ParameterList","parameters":[],"src":"1909:2:39"},"returnParameters":{"id":37815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37814,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37816,"src":"1935:13:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37813,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37822,"nodeType":"FunctionDefinition","src":"2014:50:39","nodes":[],"documentation":{"id":37817,"nodeType":"StructuredDocumentation","src":"1956:53:39","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:39","parameters":{"id":37818,"nodeType":"ParameterList","parameters":[],"src":"2031:2:39"},"returnParameters":{"id":37821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37820,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37822,"src":"2057:5:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37819,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:39","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:39"},"scope":37823,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":37730,"nodeType":"StructuredDocumentation","src":"58:137:39","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[37823],"name":"IERC20","nameLocation":"205:6:39","scope":37824,"usedErrors":[]}],"license":"MIT"},"id":39}
\ No newline at end of file
diff --git a/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json b/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json
index 4a7f5468a..a84ce6003 100644
--- a/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json
+++ b/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":56635,"exportedSymbols":{"IERC20":[56609],"IERC20Metadata":[56634]},"nodeType":"SourceUnit","src":"110:573:73","nodes":[{"id":56611,"nodeType":"PragmaDirective","src":"110:23:73","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56612,"nodeType":"ImportDirective","src":"135:23:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":56635,"sourceUnit":56610,"symbolAliases":[],"unitAlias":""},{"id":56634,"nodeType":"ContractDefinition","src":"277:405:73","nodes":[{"id":56621,"nodeType":"FunctionDefinition","src":"377:54:73","nodes":[],"documentation":{"id":56616,"nodeType":"StructuredDocumentation","src":"318:54:73","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:73","parameters":{"id":56617,"nodeType":"ParameterList","parameters":[],"src":"390:2:73"},"returnParameters":{"id":56620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56621,"src":"416:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56618,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:73"},"scope":56634,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56627,"nodeType":"FunctionDefinition","src":"498:56:73","nodes":[],"documentation":{"id":56622,"nodeType":"StructuredDocumentation","src":"437:56:73","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:73","parameters":{"id":56623,"nodeType":"ParameterList","parameters":[],"src":"513:2:73"},"returnParameters":{"id":56626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56625,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56627,"src":"539:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56624,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:73"},"scope":56634,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56633,"nodeType":"FunctionDefinition","src":"630:50:73","nodes":[],"documentation":{"id":56628,"nodeType":"StructuredDocumentation","src":"560:65:73","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:73","parameters":{"id":56629,"nodeType":"ParameterList","parameters":[],"src":"647:2:73"},"returnParameters":{"id":56632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56633,"src":"673:5:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56630,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:73"},"scope":56634,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":56614,"name":"IERC20","nameLocations":["305:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"305:6:73"},"id":56615,"nodeType":"InheritanceSpecifier","src":"305:6:73"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":56613,"nodeType":"StructuredDocumentation","src":"160:116:73","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"linearizedBaseContracts":[56634,56609],"name":"IERC20Metadata","nameLocation":"287:14:73","scope":56635,"usedErrors":[]}],"license":"MIT"},"id":73}
\ No newline at end of file
+{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":56635,"exportedSymbols":{"IERC20":[56609],"IERC20Metadata":[56634]},"nodeType":"SourceUnit","src":"110:573:73","nodes":[{"id":56611,"nodeType":"PragmaDirective","src":"110:23:73","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56612,"nodeType":"ImportDirective","src":"135:23:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":56635,"sourceUnit":56610,"symbolAliases":[],"unitAlias":""},{"id":56634,"nodeType":"ContractDefinition","src":"277:405:73","nodes":[{"id":56621,"nodeType":"FunctionDefinition","src":"377:54:73","nodes":[],"documentation":{"id":56616,"nodeType":"StructuredDocumentation","src":"318:54:73","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:73","parameters":{"id":56617,"nodeType":"ParameterList","parameters":[],"src":"390:2:73"},"returnParameters":{"id":56620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56621,"src":"416:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56618,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:73"},"scope":56634,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56627,"nodeType":"FunctionDefinition","src":"498:56:73","nodes":[],"documentation":{"id":56622,"nodeType":"StructuredDocumentation","src":"437:56:73","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:73","parameters":{"id":56623,"nodeType":"ParameterList","parameters":[],"src":"513:2:73"},"returnParameters":{"id":56626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56625,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56627,"src":"539:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56624,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:73"},"scope":56634,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56633,"nodeType":"FunctionDefinition","src":"630:50:73","nodes":[],"documentation":{"id":56628,"nodeType":"StructuredDocumentation","src":"560:65:73","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:73","parameters":{"id":56629,"nodeType":"ParameterList","parameters":[],"src":"647:2:73"},"returnParameters":{"id":56632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56633,"src":"673:5:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56630,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:73"},"scope":56634,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":56614,"name":"IERC20","nameLocations":["305:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"305:6:73"},"id":56615,"nodeType":"InheritanceSpecifier","src":"305:6:73"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":56613,"nodeType":"StructuredDocumentation","src":"160:116:73","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"linearizedBaseContracts":[56634,56609],"name":"IERC20Metadata","nameLocation":"287:14:73","scope":56635,"usedErrors":[]}],"license":"MIT"},"id":73}
\ No newline at end of file
diff --git a/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json b/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json
index 377b9d8d2..69fe185ab 100644
--- a/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json
+++ b/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":"IERC20Permit"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","id":56671,"exportedSymbols":{"IERC20Permit":[56670]},"nodeType":"SourceUnit","src":"123:2138:74","nodes":[{"id":56636,"nodeType":"PragmaDirective","src":"123:23:74","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56670,"nodeType":"ContractDefinition","src":"629:1631:74","nodes":[{"id":56655,"nodeType":"FunctionDefinition","src":"1455:183:74","nodes":[],"documentation":{"id":56638,"nodeType":"StructuredDocumentation","src":"658:792:74","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]."},"functionSelector":"d505accf","implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1464:6:74","parameters":{"id":56653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56640,"mutability":"mutable","name":"owner","nameLocation":"1488:5:74","nodeType":"VariableDeclaration","scope":56655,"src":"1480:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56639,"name":"address","nodeType":"ElementaryTypeName","src":"1480:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56642,"mutability":"mutable","name":"spender","nameLocation":"1511:7:74","nodeType":"VariableDeclaration","scope":56655,"src":"1503:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56641,"name":"address","nodeType":"ElementaryTypeName","src":"1503:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56644,"mutability":"mutable","name":"value","nameLocation":"1536:5:74","nodeType":"VariableDeclaration","scope":56655,"src":"1528:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56643,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56646,"mutability":"mutable","name":"deadline","nameLocation":"1559:8:74","nodeType":"VariableDeclaration","scope":56655,"src":"1551:16:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56645,"name":"uint256","nodeType":"ElementaryTypeName","src":"1551:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56648,"mutability":"mutable","name":"v","nameLocation":"1583:1:74","nodeType":"VariableDeclaration","scope":56655,"src":"1577:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56647,"name":"uint8","nodeType":"ElementaryTypeName","src":"1577:5:74","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56650,"mutability":"mutable","name":"r","nameLocation":"1602:1:74","nodeType":"VariableDeclaration","scope":56655,"src":"1594:9:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1594:7:74","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56652,"mutability":"mutable","name":"s","nameLocation":"1621:1:74","nodeType":"VariableDeclaration","scope":56655,"src":"1613:9:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1613:7:74","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1470:158:74"},"returnParameters":{"id":56654,"nodeType":"ParameterList","parameters":[],"src":"1637:0:74"},"scope":56670,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56663,"nodeType":"FunctionDefinition","src":"1943:63:74","nodes":[],"documentation":{"id":56656,"nodeType":"StructuredDocumentation","src":"1644:294:74","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1952:6:74","parameters":{"id":56659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56658,"mutability":"mutable","name":"owner","nameLocation":"1967:5:74","nodeType":"VariableDeclaration","scope":56663,"src":"1959:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56657,"name":"address","nodeType":"ElementaryTypeName","src":"1959:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1958:15:74"},"returnParameters":{"id":56662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56661,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56663,"src":"1997:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56660,"name":"uint256","nodeType":"ElementaryTypeName","src":"1997:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:9:74"},"scope":56670,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56669,"nodeType":"FunctionDefinition","src":"2198:60:74","nodes":[],"documentation":{"id":56664,"nodeType":"StructuredDocumentation","src":"2012:128:74","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2207:16:74","parameters":{"id":56665,"nodeType":"ParameterList","parameters":[],"src":"2223:2:74"},"returnParameters":{"id":56668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56667,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56669,"src":"2249:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2249:7:74","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2248:9:74"},"scope":56670,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":56637,"nodeType":"StructuredDocumentation","src":"148:480:74","text":" @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."},"fullyImplemented":false,"linearizedBaseContracts":[56670],"name":"IERC20Permit","nameLocation":"639:12:74","scope":56671,"usedErrors":[]}],"license":"MIT"},"id":74}
\ No newline at end of file
+{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":"IERC20Permit"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","id":56671,"exportedSymbols":{"IERC20Permit":[56670]},"nodeType":"SourceUnit","src":"123:2138:74","nodes":[{"id":56636,"nodeType":"PragmaDirective","src":"123:23:74","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56670,"nodeType":"ContractDefinition","src":"629:1631:74","nodes":[{"id":56655,"nodeType":"FunctionDefinition","src":"1455:183:74","nodes":[],"documentation":{"id":56638,"nodeType":"StructuredDocumentation","src":"658:792:74","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]."},"functionSelector":"d505accf","implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1464:6:74","parameters":{"id":56653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56640,"mutability":"mutable","name":"owner","nameLocation":"1488:5:74","nodeType":"VariableDeclaration","scope":56655,"src":"1480:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56639,"name":"address","nodeType":"ElementaryTypeName","src":"1480:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56642,"mutability":"mutable","name":"spender","nameLocation":"1511:7:74","nodeType":"VariableDeclaration","scope":56655,"src":"1503:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56641,"name":"address","nodeType":"ElementaryTypeName","src":"1503:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56644,"mutability":"mutable","name":"value","nameLocation":"1536:5:74","nodeType":"VariableDeclaration","scope":56655,"src":"1528:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56643,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56646,"mutability":"mutable","name":"deadline","nameLocation":"1559:8:74","nodeType":"VariableDeclaration","scope":56655,"src":"1551:16:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56645,"name":"uint256","nodeType":"ElementaryTypeName","src":"1551:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56648,"mutability":"mutable","name":"v","nameLocation":"1583:1:74","nodeType":"VariableDeclaration","scope":56655,"src":"1577:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56647,"name":"uint8","nodeType":"ElementaryTypeName","src":"1577:5:74","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56650,"mutability":"mutable","name":"r","nameLocation":"1602:1:74","nodeType":"VariableDeclaration","scope":56655,"src":"1594:9:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1594:7:74","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56652,"mutability":"mutable","name":"s","nameLocation":"1621:1:74","nodeType":"VariableDeclaration","scope":56655,"src":"1613:9:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1613:7:74","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1470:158:74"},"returnParameters":{"id":56654,"nodeType":"ParameterList","parameters":[],"src":"1637:0:74"},"scope":56670,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56663,"nodeType":"FunctionDefinition","src":"1943:63:74","nodes":[],"documentation":{"id":56656,"nodeType":"StructuredDocumentation","src":"1644:294:74","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1952:6:74","parameters":{"id":56659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56658,"mutability":"mutable","name":"owner","nameLocation":"1967:5:74","nodeType":"VariableDeclaration","scope":56663,"src":"1959:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56657,"name":"address","nodeType":"ElementaryTypeName","src":"1959:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1958:15:74"},"returnParameters":{"id":56662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56661,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56663,"src":"1997:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56660,"name":"uint256","nodeType":"ElementaryTypeName","src":"1997:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:9:74"},"scope":56670,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56669,"nodeType":"FunctionDefinition","src":"2198:60:74","nodes":[],"documentation":{"id":56664,"nodeType":"StructuredDocumentation","src":"2012:128:74","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2207:16:74","parameters":{"id":56665,"nodeType":"ParameterList","parameters":[],"src":"2223:2:74"},"returnParameters":{"id":56668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56667,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56669,"src":"2249:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2249:7:74","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2248:9:74"},"scope":56670,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":56637,"nodeType":"StructuredDocumentation","src":"148:480:74","text":" @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."},"fullyImplemented":false,"linearizedBaseContracts":[56670],"name":"IERC20Permit","nameLocation":"639:12:74","scope":56671,"usedErrors":[]}],"license":"MIT"},"id":74}
\ No newline at end of file
diff --git a/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json b/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json
index 678509388..32f5931ee 100644
--- a/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json
+++ b/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":\"IERC20Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","id":53397,"exportedSymbols":{"IERC20Upgradeable":[53396]},"nodeType":"SourceUnit","src":"106:2642:51","nodes":[{"id":53320,"nodeType":"PragmaDirective","src":"106:23:51","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":53396,"nodeType":"ContractDefinition","src":"202:2545:51","nodes":[{"id":53330,"nodeType":"EventDefinition","src":"399:72:51","nodes":[],"anonymous":false,"documentation":{"id":53322,"nodeType":"StructuredDocumentation","src":"236:158:51","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"405:8:51","parameters":{"id":53329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53324,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"430:4:51","nodeType":"VariableDeclaration","scope":53330,"src":"414:20:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53323,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53326,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"452:2:51","nodeType":"VariableDeclaration","scope":53330,"src":"436:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53325,"name":"address","nodeType":"ElementaryTypeName","src":"436:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53328,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"464:5:51","nodeType":"VariableDeclaration","scope":53330,"src":"456:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53327,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"413:57:51"}},{"id":53339,"nodeType":"EventDefinition","src":"630:78:51","nodes":[],"anonymous":false,"documentation":{"id":53331,"nodeType":"StructuredDocumentation","src":"477:148:51","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"636:8:51","parameters":{"id":53338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53333,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"661:5:51","nodeType":"VariableDeclaration","scope":53339,"src":"645:21:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53332,"name":"address","nodeType":"ElementaryTypeName","src":"645:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53335,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"684:7:51","nodeType":"VariableDeclaration","scope":53339,"src":"668:23:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53334,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53337,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"701:5:51","nodeType":"VariableDeclaration","scope":53339,"src":"693:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53336,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"644:63:51"}},{"id":53345,"nodeType":"FunctionDefinition","src":"785:55:51","nodes":[],"documentation":{"id":53340,"nodeType":"StructuredDocumentation","src":"714:66:51","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"794:11:51","parameters":{"id":53341,"nodeType":"ParameterList","parameters":[],"src":"805:2:51"},"returnParameters":{"id":53344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53345,"src":"831:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53342,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"830:9:51"},"scope":53396,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53353,"nodeType":"FunctionDefinition","src":"923:68:51","nodes":[],"documentation":{"id":53346,"nodeType":"StructuredDocumentation","src":"846:72:51","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"932:9:51","parameters":{"id":53349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53348,"mutability":"mutable","name":"account","nameLocation":"950:7:51","nodeType":"VariableDeclaration","scope":53353,"src":"942:15:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53347,"name":"address","nodeType":"ElementaryTypeName","src":"942:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"941:17:51"},"returnParameters":{"id":53352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53353,"src":"982:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53350,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:9:51"},"scope":53396,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53363,"nodeType":"FunctionDefinition","src":"1204:70:51","nodes":[],"documentation":{"id":53354,"nodeType":"StructuredDocumentation","src":"997:202:51","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1213:8:51","parameters":{"id":53359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53356,"mutability":"mutable","name":"to","nameLocation":"1230:2:51","nodeType":"VariableDeclaration","scope":53363,"src":"1222:10:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53355,"name":"address","nodeType":"ElementaryTypeName","src":"1222:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53358,"mutability":"mutable","name":"amount","nameLocation":"1242:6:51","nodeType":"VariableDeclaration","scope":53363,"src":"1234:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53357,"name":"uint256","nodeType":"ElementaryTypeName","src":"1234:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1221:28:51"},"returnParameters":{"id":53362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53363,"src":"1268:4:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53360,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:51"},"scope":53396,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53373,"nodeType":"FunctionDefinition","src":"1549:83:51","nodes":[],"documentation":{"id":53364,"nodeType":"StructuredDocumentation","src":"1280:264:51","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:51","parameters":{"id":53369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53366,"mutability":"mutable","name":"owner","nameLocation":"1576:5:51","nodeType":"VariableDeclaration","scope":53373,"src":"1568:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53365,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53368,"mutability":"mutable","name":"spender","nameLocation":"1591:7:51","nodeType":"VariableDeclaration","scope":53373,"src":"1583:15:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53367,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:51"},"returnParameters":{"id":53372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53373,"src":"1623:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53370,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:51"},"scope":53396,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53383,"nodeType":"FunctionDefinition","src":"2285:74:51","nodes":[],"documentation":{"id":53374,"nodeType":"StructuredDocumentation","src":"1638:642:51","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2294:7:51","parameters":{"id":53379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53376,"mutability":"mutable","name":"spender","nameLocation":"2310:7:51","nodeType":"VariableDeclaration","scope":53383,"src":"2302:15:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53375,"name":"address","nodeType":"ElementaryTypeName","src":"2302:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53378,"mutability":"mutable","name":"amount","nameLocation":"2327:6:51","nodeType":"VariableDeclaration","scope":53383,"src":"2319:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53377,"name":"uint256","nodeType":"ElementaryTypeName","src":"2319:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:33:51"},"returnParameters":{"id":53382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53383,"src":"2353:4:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53380,"name":"bool","nodeType":"ElementaryTypeName","src":"2353:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2352:6:51"},"scope":53396,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53395,"nodeType":"FunctionDefinition","src":"2657:88:51","nodes":[],"documentation":{"id":53384,"nodeType":"StructuredDocumentation","src":"2365:287:51","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2666:12:51","parameters":{"id":53391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53386,"mutability":"mutable","name":"from","nameLocation":"2687:4:51","nodeType":"VariableDeclaration","scope":53395,"src":"2679:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53385,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53388,"mutability":"mutable","name":"to","nameLocation":"2701:2:51","nodeType":"VariableDeclaration","scope":53395,"src":"2693:10:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53387,"name":"address","nodeType":"ElementaryTypeName","src":"2693:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53390,"mutability":"mutable","name":"amount","nameLocation":"2713:6:51","nodeType":"VariableDeclaration","scope":53395,"src":"2705:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53389,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2678:42:51"},"returnParameters":{"id":53394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53393,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53395,"src":"2739:4:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53392,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:51"},"scope":53396,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Upgradeable","contractDependencies":[],"contractKind":"interface","documentation":{"id":53321,"nodeType":"StructuredDocumentation","src":"131:70:51","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[53396],"name":"IERC20Upgradeable","nameLocation":"212:17:51","scope":53397,"usedErrors":[]}],"license":"MIT"},"id":51}
\ No newline at end of file
+{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":\"IERC20Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","id":53397,"exportedSymbols":{"IERC20Upgradeable":[53396]},"nodeType":"SourceUnit","src":"106:2642:51","nodes":[{"id":53320,"nodeType":"PragmaDirective","src":"106:23:51","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":53396,"nodeType":"ContractDefinition","src":"202:2545:51","nodes":[{"id":53330,"nodeType":"EventDefinition","src":"399:72:51","nodes":[],"anonymous":false,"documentation":{"id":53322,"nodeType":"StructuredDocumentation","src":"236:158:51","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"405:8:51","parameters":{"id":53329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53324,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"430:4:51","nodeType":"VariableDeclaration","scope":53330,"src":"414:20:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53323,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53326,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"452:2:51","nodeType":"VariableDeclaration","scope":53330,"src":"436:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53325,"name":"address","nodeType":"ElementaryTypeName","src":"436:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53328,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"464:5:51","nodeType":"VariableDeclaration","scope":53330,"src":"456:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53327,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"413:57:51"}},{"id":53339,"nodeType":"EventDefinition","src":"630:78:51","nodes":[],"anonymous":false,"documentation":{"id":53331,"nodeType":"StructuredDocumentation","src":"477:148:51","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"636:8:51","parameters":{"id":53338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53333,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"661:5:51","nodeType":"VariableDeclaration","scope":53339,"src":"645:21:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53332,"name":"address","nodeType":"ElementaryTypeName","src":"645:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53335,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"684:7:51","nodeType":"VariableDeclaration","scope":53339,"src":"668:23:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53334,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53337,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"701:5:51","nodeType":"VariableDeclaration","scope":53339,"src":"693:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53336,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"644:63:51"}},{"id":53345,"nodeType":"FunctionDefinition","src":"785:55:51","nodes":[],"documentation":{"id":53340,"nodeType":"StructuredDocumentation","src":"714:66:51","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"794:11:51","parameters":{"id":53341,"nodeType":"ParameterList","parameters":[],"src":"805:2:51"},"returnParameters":{"id":53344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53345,"src":"831:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53342,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"830:9:51"},"scope":53396,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53353,"nodeType":"FunctionDefinition","src":"923:68:51","nodes":[],"documentation":{"id":53346,"nodeType":"StructuredDocumentation","src":"846:72:51","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"932:9:51","parameters":{"id":53349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53348,"mutability":"mutable","name":"account","nameLocation":"950:7:51","nodeType":"VariableDeclaration","scope":53353,"src":"942:15:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53347,"name":"address","nodeType":"ElementaryTypeName","src":"942:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"941:17:51"},"returnParameters":{"id":53352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53353,"src":"982:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53350,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:9:51"},"scope":53396,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53363,"nodeType":"FunctionDefinition","src":"1204:70:51","nodes":[],"documentation":{"id":53354,"nodeType":"StructuredDocumentation","src":"997:202:51","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1213:8:51","parameters":{"id":53359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53356,"mutability":"mutable","name":"to","nameLocation":"1230:2:51","nodeType":"VariableDeclaration","scope":53363,"src":"1222:10:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53355,"name":"address","nodeType":"ElementaryTypeName","src":"1222:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53358,"mutability":"mutable","name":"amount","nameLocation":"1242:6:51","nodeType":"VariableDeclaration","scope":53363,"src":"1234:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53357,"name":"uint256","nodeType":"ElementaryTypeName","src":"1234:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1221:28:51"},"returnParameters":{"id":53362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53363,"src":"1268:4:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53360,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:51"},"scope":53396,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53373,"nodeType":"FunctionDefinition","src":"1549:83:51","nodes":[],"documentation":{"id":53364,"nodeType":"StructuredDocumentation","src":"1280:264:51","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:51","parameters":{"id":53369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53366,"mutability":"mutable","name":"owner","nameLocation":"1576:5:51","nodeType":"VariableDeclaration","scope":53373,"src":"1568:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53365,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53368,"mutability":"mutable","name":"spender","nameLocation":"1591:7:51","nodeType":"VariableDeclaration","scope":53373,"src":"1583:15:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53367,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:51"},"returnParameters":{"id":53372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53373,"src":"1623:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53370,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:51"},"scope":53396,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53383,"nodeType":"FunctionDefinition","src":"2285:74:51","nodes":[],"documentation":{"id":53374,"nodeType":"StructuredDocumentation","src":"1638:642:51","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2294:7:51","parameters":{"id":53379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53376,"mutability":"mutable","name":"spender","nameLocation":"2310:7:51","nodeType":"VariableDeclaration","scope":53383,"src":"2302:15:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53375,"name":"address","nodeType":"ElementaryTypeName","src":"2302:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53378,"mutability":"mutable","name":"amount","nameLocation":"2327:6:51","nodeType":"VariableDeclaration","scope":53383,"src":"2319:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53377,"name":"uint256","nodeType":"ElementaryTypeName","src":"2319:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:33:51"},"returnParameters":{"id":53382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53383,"src":"2353:4:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53380,"name":"bool","nodeType":"ElementaryTypeName","src":"2353:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2352:6:51"},"scope":53396,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53395,"nodeType":"FunctionDefinition","src":"2657:88:51","nodes":[],"documentation":{"id":53384,"nodeType":"StructuredDocumentation","src":"2365:287:51","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2666:12:51","parameters":{"id":53391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53386,"mutability":"mutable","name":"from","nameLocation":"2687:4:51","nodeType":"VariableDeclaration","scope":53395,"src":"2679:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53385,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53388,"mutability":"mutable","name":"to","nameLocation":"2701:2:51","nodeType":"VariableDeclaration","scope":53395,"src":"2693:10:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53387,"name":"address","nodeType":"ElementaryTypeName","src":"2693:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53390,"mutability":"mutable","name":"amount","nameLocation":"2713:6:51","nodeType":"VariableDeclaration","scope":53395,"src":"2705:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53389,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2678:42:51"},"returnParameters":{"id":53394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53393,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53395,"src":"2739:4:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53392,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:51"},"scope":53396,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Upgradeable","contractDependencies":[],"contractKind":"interface","documentation":{"id":53321,"nodeType":"StructuredDocumentation","src":"131:70:51","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[53396],"name":"IERC20Upgradeable","nameLocation":"212:17:51","scope":53397,"usedErrors":[]}],"license":"MIT"},"id":51}
\ No newline at end of file
diff --git a/pkg/contracts/out/IRegistry.sol/IRegistry.json b/pkg/contracts/out/IRegistry.sol/IRegistry.json
index 5b0481e88..b2976dee3 100644
--- a/pkg/contracts/out/IRegistry.sol/IRegistry.json
+++ b/pkg/contracts/out/IRegistry.sol/IRegistry.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"profileId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"isMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOrMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOrMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The Registry Interface is used to interact with the Allo protocol and create profiles that can be used to interact with the Allo protocol. The Registry is the main contract that all other contracts interact with to get the 'Profile' information needed to interact with the Allo protocol. The Registry is also used to create new profiles and update existing profiles. The Registry is also used to add and remove members from a profile. The Registry will not always be used in a strategy and will depend on the strategy being used.\",\"events\":{\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership\",\"params\":{\"_profileId\":\"The 'profileId' to accept the ownership for\"}},\"addMembers(bytes32,address[])\":{\"details\":\"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members\",\"params\":{\"_members\":\"The members to add to the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to add members to\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile\",\"params\":{\"_members\":\"The 'members' to use to generate the 'anchor' address\",\"_metadata\":\"The 'Metadata' to use to generate the 'anchor' address\",\"_name\":\"The name to use to generate the 'anchor' address\",\"_nonce\":\"The nonce to use to generate the 'anchor' address\",\"_owner\":\"The 'owner' to use to generate the 'anchor' address\"},\"returns\":{\"profileId\":\"The 'profileId' of the new profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Returns the 'Profile' for an '_anchor' passed\",\"params\":{\"_anchor\":\"The 'anchor' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_anchor' passed\"}},\"getProfileById(bytes32)\":{\"details\":\"Returns the 'Profile' for a '_profileId' passed\",\"params\":{\"_profileId\":\"The 'profileId' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_profileId' passed\"}},\"isMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member of the '_profileId' passed in\",\"params\":{\"_member\":\"The 'member' to check if they are a member of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member of\"},\"returns\":{\"isMemberOfProfile\":\"A boolean if the '_account' is a member of the '_profileId' passed in\"}},\"isOwnerOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is an owner of the '_profileId' passed in\",\"params\":{\"_owner\":\"The 'owner' to check if they are an owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is an owner of\"},\"returns\":{\"isOwnerOfProfile\":\"A boolean if the '_account' is an owner of the '_profileId' passed in\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\",\"params\":{\"_account\":\"The 'account' to check if they are a member or owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member or owner of\"},\"returns\":{\"isOwnerOrMemberOfProfile\":\"A boolean if the '_account' is a member or owner of the '_profileId' passed in\"}},\"recoverFunds(address,address)\":{\"details\":\"Recovers funds from the contract Requirements: Must be the Allo owner\",\"params\":{\"_recipient\":\"The recipient of the recovered funds\",\"_token\":\"The token you want to use to recover funds\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members\",\"params\":{\"_members\":\"The members to remove from the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to remove members from\"}},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata\",\"params\":{\"_metadata\":\"The new 'Metadata' value\",\"_profileId\":\"The 'profileId' to update the metadata for\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.\",\"params\":{\"_name\":\"The new 'name' value\",\"_profileId\":\"The 'profileId' to update the name for\"},\"returns\":{\"anchor\":\"The new 'anchor' address\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner\",\"params\":{\"_pendingOwner\":\"The new pending 'owner' value\",\"_profileId\":\"The 'profileId' to update the pending owner for\"}}},\"title\":\"IRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Registry contract and exposes all functions needed to use the Registry within the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":\"IRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"isMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOrMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership","params":{"_profileId":"The 'profileId' to accept the ownership for"}},"addMembers(bytes32,address[])":{"details":"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members","params":{"_members":"The members to add to the '_profileId' passed in","_profileId":"The 'profileId' to add members to"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile","params":{"_members":"The 'members' to use to generate the 'anchor' address","_metadata":"The 'Metadata' to use to generate the 'anchor' address","_name":"The name to use to generate the 'anchor' address","_nonce":"The nonce to use to generate the 'anchor' address","_owner":"The 'owner' to use to generate the 'anchor' address"},"returns":{"profileId":"The 'profileId' of the new profile"}},"getProfileByAnchor(address)":{"details":"Returns the 'Profile' for an '_anchor' passed","params":{"_anchor":"The 'anchor' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_anchor' passed"}},"getProfileById(bytes32)":{"details":"Returns the 'Profile' for a '_profileId' passed","params":{"_profileId":"The 'profileId' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_profileId' passed"}},"isMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member of the '_profileId' passed in","params":{"_member":"The 'member' to check if they are a member of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member of"},"returns":{"isMemberOfProfile":"A boolean if the '_account' is a member of the '_profileId' passed in"}},"isOwnerOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is an owner of the '_profileId' passed in","params":{"_owner":"The 'owner' to check if they are an owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is an owner of"},"returns":{"isOwnerOfProfile":"A boolean if the '_account' is an owner of the '_profileId' passed in"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in","params":{"_account":"The 'account' to check if they are a member or owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member or owner of"},"returns":{"isOwnerOrMemberOfProfile":"A boolean if the '_account' is a member or owner of the '_profileId' passed in"}},"recoverFunds(address,address)":{"details":"Recovers funds from the contract Requirements: Must be the Allo owner","params":{"_recipient":"The recipient of the recovered funds","_token":"The token you want to use to recover funds"}},"removeMembers(bytes32,address[])":{"details":"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members","params":{"_members":"The members to remove from the '_profileId' passed in","_profileId":"The 'profileId' to remove members from"}},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata","params":{"_metadata":"The new 'Metadata' value","_profileId":"The 'profileId' to update the metadata for"}},"updateProfileName(bytes32,string)":{"details":"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.","params":{"_name":"The new 'name' value","_profileId":"The 'profileId' to update the name for"},"returns":{"anchor":"The new 'anchor' address"}},"updateProfilePendingOwner(bytes32,address)":{"details":"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner","params":{"_pendingOwner":"The new pending 'owner' value","_profileId":"The 'profileId' to update the pending owner for"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":"IRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","id":2803,"exportedSymbols":{"IRegistry":[2802],"Metadata":[3098]},"nodeType":"SourceUnit","src":"32:12410:4","nodes":[{"id":2612,"nodeType":"PragmaDirective","src":"32:24:4","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2614,"nodeType":"ImportDirective","src":"80:51:4","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2803,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2613,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"88:8:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2802,"nodeType":"ContractDefinition","src":"5055:7386:4","nodes":[{"id":2629,"nodeType":"StructDefinition","src":"5240:160:4","nodes":[],"canonicalName":"IRegistry.Profile","members":[{"constant":false,"id":2617,"mutability":"mutable","name":"id","nameLocation":"5273:2:4","nodeType":"VariableDeclaration","scope":2629,"src":"5265:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2619,"mutability":"mutable","name":"nonce","nameLocation":"5293:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5285:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5285:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2621,"mutability":"mutable","name":"name","nameLocation":"5315:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"5308:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2620,"name":"string","nodeType":"ElementaryTypeName","src":"5308:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2624,"mutability":"mutable","name":"metadata","nameLocation":"5338:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"5329:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2623,"nodeType":"UserDefinedTypeName","pathNode":{"id":2622,"name":"Metadata","nameLocations":["5329:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5329:8:4"},"referencedDeclaration":3098,"src":"5329:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2626,"mutability":"mutable","name":"owner","nameLocation":"5364:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5356:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2625,"name":"address","nodeType":"ElementaryTypeName","src":"5356:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2628,"mutability":"mutable","name":"anchor","nameLocation":"5387:6:4","nodeType":"VariableDeclaration","scope":2629,"src":"5379:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2627,"name":"address","nodeType":"ElementaryTypeName","src":"5379:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Profile","nameLocation":"5247:7:4","scope":2802,"visibility":"public"},{"id":2645,"nodeType":"EventDefinition","src":"5586:140:4","nodes":[],"anonymous":false,"documentation":{"id":2630,"nodeType":"StructuredDocumentation","src":"5500:81:4","text":"@dev Emitted when a profile is created. This will return your anchor address."},"eventSelector":"1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609","name":"ProfileCreated","nameLocation":"5592:14:4","parameters":{"id":2644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2632,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5632:9:4","nodeType":"VariableDeclaration","scope":2645,"src":"5616:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5616:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2634,"indexed":false,"mutability":"mutable","name":"nonce","nameLocation":"5651:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5643:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2633,"name":"uint256","nodeType":"ElementaryTypeName","src":"5643:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2636,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5665:4:4","nodeType":"VariableDeclaration","scope":2645,"src":"5658:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2635,"name":"string","nodeType":"ElementaryTypeName","src":"5658:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2639,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5680:8:4","nodeType":"VariableDeclaration","scope":2645,"src":"5671:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2638,"nodeType":"UserDefinedTypeName","pathNode":{"id":2637,"name":"Metadata","nameLocations":["5671:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5671:8:4"},"referencedDeclaration":3098,"src":"5671:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2641,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"5698:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5690:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2640,"name":"address","nodeType":"ElementaryTypeName","src":"5690:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2643,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5713:6:4","nodeType":"VariableDeclaration","scope":2645,"src":"5705:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2642,"name":"address","nodeType":"ElementaryTypeName","src":"5705:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5606:119:4"}},{"id":2654,"nodeType":"EventDefinition","src":"5853:81:4","nodes":[],"anonymous":false,"documentation":{"id":2646,"nodeType":"StructuredDocumentation","src":"5732:116:4","text":"@dev Emitted when a profile name is updated. This will update the anchor when the name is updated and return it."},"eventSelector":"54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f","name":"ProfileNameUpdated","nameLocation":"5859:18:4","parameters":{"id":2653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2648,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5894:9:4","nodeType":"VariableDeclaration","scope":2654,"src":"5878:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5878:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2650,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5912:4:4","nodeType":"VariableDeclaration","scope":2654,"src":"5905:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2649,"name":"string","nodeType":"ElementaryTypeName","src":"5905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2652,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5926:6:4","nodeType":"VariableDeclaration","scope":2654,"src":"5918:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2651,"name":"address","nodeType":"ElementaryTypeName","src":"5918:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5877:56:4"}},{"id":2662,"nodeType":"EventDefinition","src":"5999:75:4","nodes":[],"anonymous":false,"documentation":{"id":2655,"nodeType":"StructuredDocumentation","src":"5940:54:4","text":"@dev Emitted when a profile's metadata is updated."},"eventSelector":"a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3","name":"ProfileMetadataUpdated","nameLocation":"6005:22:4","parameters":{"id":2661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2657,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6044:9:4","nodeType":"VariableDeclaration","scope":2662,"src":"6028:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6028:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2660,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"6064:8:4","nodeType":"VariableDeclaration","scope":2662,"src":"6055:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2659,"nodeType":"UserDefinedTypeName","pathNode":{"id":2658,"name":"Metadata","nameLocations":["6055:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6055:8:4"},"referencedDeclaration":3098,"src":"6055:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"6027:46:4"}},{"id":2669,"nodeType":"EventDefinition","src":"6134:68:4","nodes":[],"anonymous":false,"documentation":{"id":2663,"nodeType":"StructuredDocumentation","src":"6080:49:4","text":"@dev Emitted when a profile owner is updated."},"eventSelector":"fd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d","name":"ProfileOwnerUpdated","nameLocation":"6140:19:4","parameters":{"id":2668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2665,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6176:9:4","nodeType":"VariableDeclaration","scope":2669,"src":"6160:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6160:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2667,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"6195:5:4","nodeType":"VariableDeclaration","scope":2669,"src":"6187:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2666,"name":"address","nodeType":"ElementaryTypeName","src":"6187:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6159:42:4"}},{"id":2676,"nodeType":"EventDefinition","src":"6270:82:4","nodes":[],"anonymous":false,"documentation":{"id":2670,"nodeType":"StructuredDocumentation","src":"6208:57:4","text":"@dev Emitted when a profile pending owner is updated."},"eventSelector":"21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8","name":"ProfilePendingOwnerUpdated","nameLocation":"6276:26:4","parameters":{"id":2675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2672,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6319:9:4","nodeType":"VariableDeclaration","scope":2676,"src":"6303:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6303:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2674,"indexed":false,"mutability":"mutable","name":"pendingOwner","nameLocation":"6338:12:4","nodeType":"VariableDeclaration","scope":2676,"src":"6330:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2673,"name":"address","nodeType":"ElementaryTypeName","src":"6330:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6302:49:4"}},{"id":2685,"nodeType":"FunctionDefinition","src":"6658:91:4","nodes":[],"documentation":{"id":2677,"nodeType":"StructuredDocumentation","src":"6461:192:4","text":"@dev Returns the 'Profile' for a '_profileId' passed\n @param _profileId The 'profileId' to return the 'Profile' for\n @return profile The 'Profile' for the '_profileId' passed"},"functionSelector":"0114cf0a","implemented":false,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"6667:14:4","parameters":{"id":2680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2679,"mutability":"mutable","name":"_profileId","nameLocation":"6690:10:4","nodeType":"VariableDeclaration","scope":2685,"src":"6682:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6682:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6681:20:4"},"returnParameters":{"id":2684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2683,"mutability":"mutable","name":"profile","nameLocation":"6740:7:4","nodeType":"VariableDeclaration","scope":2685,"src":"6725:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2682,"nodeType":"UserDefinedTypeName","pathNode":{"id":2681,"name":"Profile","nameLocations":["6725:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"6725:7:4"},"referencedDeclaration":2629,"src":"6725:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"6724:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2694,"nodeType":"FunctionDefinition","src":"6941:92:4","nodes":[],"documentation":{"id":2686,"nodeType":"StructuredDocumentation","src":"6755:181:4","text":"@dev Returns the 'Profile' for an '_anchor' passed\n @param _anchor The 'anchor' to return the 'Profile' for\n @return profile The 'Profile' for the '_anchor' passed"},"functionSelector":"dd93da43","implemented":false,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"6950:18:4","parameters":{"id":2689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2688,"mutability":"mutable","name":"_anchor","nameLocation":"6977:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"6969:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2687,"name":"address","nodeType":"ElementaryTypeName","src":"6969:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6968:17:4"},"returnParameters":{"id":2693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2692,"mutability":"mutable","name":"profile","nameLocation":"7024:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"7009:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2691,"nodeType":"UserDefinedTypeName","pathNode":{"id":2690,"name":"Profile","nameLocations":["7009:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7009:7:4"},"referencedDeclaration":2629,"src":"7009:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7008:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2704,"nodeType":"FunctionDefinition","src":"7459:150:4","nodes":[],"documentation":{"id":2695,"nodeType":"StructuredDocumentation","src":"7039:415:4","text":"@dev Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member or owner of\n @param _account The 'account' to check if they are a member or owner of the '_profileId' passed in\n @return isOwnerOrMemberOfProfile A boolean if the '_account' is a member or owner of the '_profileId' passed in"},"functionSelector":"5e8a7915","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"7468:24:4","parameters":{"id":2700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"_profileId","nameLocation":"7501:10:4","nodeType":"VariableDeclaration","scope":2704,"src":"7493:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7493:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"_account","nameLocation":"7521:8:4","nodeType":"VariableDeclaration","scope":2704,"src":"7513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2698,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7492:38:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2702,"mutability":"mutable","name":"isOwnerOrMemberOfProfile","nameLocation":"7583:24:4","nodeType":"VariableDeclaration","scope":2704,"src":"7578:29:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2701,"name":"bool","nodeType":"ElementaryTypeName","src":"7578:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7577:31:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2714,"nodeType":"FunctionDefinition","src":"7987:108:4","nodes":[],"documentation":{"id":2705,"nodeType":"StructuredDocumentation","src":"7615:367:4","text":"@dev Returns a boolean if the '_account' is an owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is an owner of\n @param _owner The 'owner' to check if they are an owner of the '_profileId' passed in\n @return isOwnerOfProfile A boolean if the '_account' is an owner of the '_profileId' passed in"},"functionSelector":"39b86b8c","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"7996:16:4","parameters":{"id":2710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2707,"mutability":"mutable","name":"_profileId","nameLocation":"8021:10:4","nodeType":"VariableDeclaration","scope":2714,"src":"8013:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8013:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2709,"mutability":"mutable","name":"_owner","nameLocation":"8041:6:4","nodeType":"VariableDeclaration","scope":2714,"src":"8033:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"8033:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8012:36:4"},"returnParameters":{"id":2713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"isOwnerOfProfile","nameLocation":"8077:16:4","nodeType":"VariableDeclaration","scope":2714,"src":"8072:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2711,"name":"bool","nodeType":"ElementaryTypeName","src":"8072:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8071:23:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2724,"nodeType":"FunctionDefinition","src":"8476:111:4","nodes":[],"documentation":{"id":2715,"nodeType":"StructuredDocumentation","src":"8101:370:4","text":"@dev Returns a boolean if the '_account' is a member of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member of\n @param _member The 'member' to check if they are a member of the '_profileId' passed in\n @return isMemberOfProfile A boolean if the '_account' is a member of the '_profileId' passed in"},"functionSelector":"0ec1fbac","implemented":false,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"8485:17:4","parameters":{"id":2720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2717,"mutability":"mutable","name":"_profileId","nameLocation":"8511:10:4","nodeType":"VariableDeclaration","scope":2724,"src":"8503:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8503:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"_member","nameLocation":"8531:7:4","nodeType":"VariableDeclaration","scope":2724,"src":"8523:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2718,"name":"address","nodeType":"ElementaryTypeName","src":"8523:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8502:37:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2722,"mutability":"mutable","name":"isMemberOfProfile","nameLocation":"8568:17:4","nodeType":"VariableDeclaration","scope":2724,"src":"8563:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2721,"name":"bool","nodeType":"ElementaryTypeName","src":"8563:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8562:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2742,"nodeType":"FunctionDefinition","src":"9411:213:4","nodes":[],"documentation":{"id":2725,"nodeType":"StructuredDocumentation","src":"8729:677:4","text":"@dev Creates a new 'Profile' and returns the 'profileId' of the new profile\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address\n Requirements: None, anyone can create a new profile\n @param _nonce The nonce to use to generate the 'anchor' address\n @param _name The name to use to generate the 'anchor' address\n @param _metadata The 'Metadata' to use to generate the 'anchor' address\n @param _owner The 'owner' to use to generate the 'anchor' address\n @param _members The 'members' to use to generate the 'anchor' address\n @return profileId The 'profileId' of the new profile"},"functionSelector":"3a92f65f","implemented":false,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"9420:13:4","parameters":{"id":2738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2727,"mutability":"mutable","name":"_nonce","nameLocation":"9451:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9443:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2726,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2729,"mutability":"mutable","name":"_name","nameLocation":"9481:5:4","nodeType":"VariableDeclaration","scope":2742,"src":"9467:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2728,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2732,"mutability":"mutable","name":"_metadata","nameLocation":"9512:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9496:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2731,"nodeType":"UserDefinedTypeName","pathNode":{"id":2730,"name":"Metadata","nameLocations":["9496:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9496:8:4"},"referencedDeclaration":3098,"src":"9496:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"_owner","nameLocation":"9539:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9531:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2733,"name":"address","nodeType":"ElementaryTypeName","src":"9531:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2737,"mutability":"mutable","name":"_members","nameLocation":"9572:8:4","nodeType":"VariableDeclaration","scope":2742,"src":"9555:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2735,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2736,"nodeType":"ArrayTypeName","src":"9555:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9433:153:4"},"returnParameters":{"id":2741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2740,"mutability":"mutable","name":"profileId","nameLocation":"9613:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9605:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9605:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9604:19:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2752,"nodeType":"FunctionDefinition","src":"10260:102:4","nodes":[],"documentation":{"id":2743,"nodeType":"StructuredDocumentation","src":"9630:625:4","text":"@dev Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address\n Requirements: Only the 'Profile' owner can update the name\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor'\n so please use caution. You can always recreate your 'anchor' address by updating the name back\n to the original name used to create the profile.\n @param _profileId The 'profileId' to update the name for\n @param _name The new 'name' value\n @return anchor The new 'anchor' address"},"functionSelector":"cf189ff2","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileName","nameLocation":"10269:17:4","parameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2745,"mutability":"mutable","name":"_profileId","nameLocation":"10295:10:4","nodeType":"VariableDeclaration","scope":2752,"src":"10287:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10287:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2747,"mutability":"mutable","name":"_name","nameLocation":"10321:5:4","nodeType":"VariableDeclaration","scope":2752,"src":"10307:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"10307:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10286:41:4"},"returnParameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2750,"mutability":"mutable","name":"anchor","nameLocation":"10354:6:4","nodeType":"VariableDeclaration","scope":2752,"src":"10346:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2749,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10345:16:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2761,"nodeType":"FunctionDefinition","src":"10640:87:4","nodes":[],"documentation":{"id":2753,"nodeType":"StructuredDocumentation","src":"10368:267:4","text":"@dev Updates the 'Metadata' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the metadata\n @param _profileId The 'profileId' to update the metadata for\n @param _metadata The new 'Metadata' value"},"functionSelector":"ac402839","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileMetadata","nameLocation":"10649:21:4","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2755,"mutability":"mutable","name":"_profileId","nameLocation":"10679:10:4","nodeType":"VariableDeclaration","scope":2761,"src":"10671:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10671:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2758,"mutability":"mutable","name":"_metadata","nameLocation":"10707:9:4","nodeType":"VariableDeclaration","scope":2761,"src":"10691:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2757,"nodeType":"UserDefinedTypeName","pathNode":{"id":2756,"name":"Metadata","nameLocations":["10691:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10691:8:4"},"referencedDeclaration":3098,"src":"10691:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10670:47:4"},"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"10726:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2769,"nodeType":"FunctionDefinition","src":"11029:87:4","nodes":[],"documentation":{"id":2762,"nodeType":"StructuredDocumentation","src":"10733:291:4","text":"@dev Updates the pending 'owner' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the pending owner\n @param _profileId The 'profileId' to update the pending owner for\n @param _pendingOwner The new pending 'owner' value"},"functionSelector":"3b66dacd","implemented":false,"kind":"function","modifiers":[],"name":"updateProfilePendingOwner","nameLocation":"11038:25:4","parameters":{"id":2767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2764,"mutability":"mutable","name":"_profileId","nameLocation":"11072:10:4","nodeType":"VariableDeclaration","scope":2769,"src":"11064:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11064:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2766,"mutability":"mutable","name":"_pendingOwner","nameLocation":"11092:13:4","nodeType":"VariableDeclaration","scope":2769,"src":"11084:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2765,"name":"address","nodeType":"ElementaryTypeName","src":"11084:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11063:43:4"},"returnParameters":{"id":2768,"nodeType":"ParameterList","parameters":[],"src":"11115:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2775,"nodeType":"FunctionDefinition","src":"11349:61:4","nodes":[],"documentation":{"id":2770,"nodeType":"StructuredDocumentation","src":"11122:222:4","text":"@dev Accepts the pending 'owner' of the '_profileId' passed in\n Requirements: Only the pending owner can accept the ownership\n @param _profileId The 'profileId' to accept the ownership for"},"functionSelector":"2497f3c6","implemented":false,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"11358:22:4","parameters":{"id":2773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2772,"mutability":"mutable","name":"_profileId","nameLocation":"11389:10:4","nodeType":"VariableDeclaration","scope":2775,"src":"11381:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11381:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11380:20:4"},"returnParameters":{"id":2774,"nodeType":"ParameterList","parameters":[],"src":"11409:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2784,"nodeType":"FunctionDefinition","src":"11684:76:4","nodes":[],"documentation":{"id":2776,"nodeType":"StructuredDocumentation","src":"11416:263:4","text":"@dev Adds members to the '_profileId' passed in\n Requirements: Only the 'Profile' owner can add members\n @param _profileId The 'profileId' to add members to\n @param _members The members to add to the '_profileId' passed in"},"functionSelector":"5063f361","implemented":false,"kind":"function","modifiers":[],"name":"addMembers","nameLocation":"11693:10:4","parameters":{"id":2782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2778,"mutability":"mutable","name":"_profileId","nameLocation":"11712:10:4","nodeType":"VariableDeclaration","scope":2784,"src":"11704:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11704:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2781,"mutability":"mutable","name":"_members","nameLocation":"11741:8:4","nodeType":"VariableDeclaration","scope":2784,"src":"11724:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2779,"name":"address","nodeType":"ElementaryTypeName","src":"11724:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2780,"nodeType":"ArrayTypeName","src":"11724:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11703:47:4"},"returnParameters":{"id":2783,"nodeType":"ParameterList","parameters":[],"src":"11759:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2793,"nodeType":"FunctionDefinition","src":"12052:79:4","nodes":[],"documentation":{"id":2785,"nodeType":"StructuredDocumentation","src":"11766:281:4","text":"@dev Removes members from the '_profileId' passed in\n Requirements: Only the 'Profile' owner can remove members\n @param _profileId The 'profileId' to remove members from\n @param _members The members to remove from the '_profileId' passed in"},"functionSelector":"e0cf1e4c","implemented":false,"kind":"function","modifiers":[],"name":"removeMembers","nameLocation":"12061:13:4","parameters":{"id":2791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2787,"mutability":"mutable","name":"_profileId","nameLocation":"12083:10:4","nodeType":"VariableDeclaration","scope":2793,"src":"12075:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12075:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2790,"mutability":"mutable","name":"_members","nameLocation":"12112:8:4","nodeType":"VariableDeclaration","scope":2793,"src":"12095:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2788,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2789,"nodeType":"ArrayTypeName","src":"12095:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12074:47:4"},"returnParameters":{"id":2792,"nodeType":"ParameterList","parameters":[],"src":"12130:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2801,"nodeType":"FunctionDefinition","src":"12372:67:4","nodes":[],"documentation":{"id":2794,"nodeType":"StructuredDocumentation","src":"12137:230:4","text":"@dev Recovers funds from the contract\n Requirements: Must be the Allo owner\n @param _token The token you want to use to recover funds\n @param _recipient The recipient of the recovered funds"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"12381:12:4","parameters":{"id":2799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2796,"mutability":"mutable","name":"_token","nameLocation":"12402:6:4","nodeType":"VariableDeclaration","scope":2801,"src":"12394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2795,"name":"address","nodeType":"ElementaryTypeName","src":"12394:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2798,"mutability":"mutable","name":"_recipient","nameLocation":"12418:10:4","nodeType":"VariableDeclaration","scope":2801,"src":"12410:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2797,"name":"address","nodeType":"ElementaryTypeName","src":"12410:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12393:36:4"},"returnParameters":{"id":2800,"nodeType":"ParameterList","parameters":[],"src":"12438:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistry","contractDependencies":[],"contractKind":"interface","documentation":{"id":2615,"nodeType":"StructuredDocumentation","src":"4124:931:4","text":"@title IRegistry Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Registry contract and exposes all functions needed to use the Registry\n within the Allo protocol.\n @dev The Registry Interface is used to interact with the Allo protocol and create profiles\n that can be used to interact with the Allo protocol. The Registry is the main contract\n that all other contracts interact with to get the 'Profile' information needed to\n interact with the Allo protocol. The Registry is also used to create new profiles\n and update existing profiles. The Registry is also used to add and remove members\n from a profile. The Registry will not always be used in a strategy and will depend on\n the strategy being used."},"fullyImplemented":false,"linearizedBaseContracts":[2802],"name":"IRegistry","nameLocation":"5065:9:4","scope":2803,"usedErrors":[]}],"license":"MIT"},"id":4}
\ No newline at end of file
+{"abi":[{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"profileId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"isMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOrMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOrMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The Registry Interface is used to interact with the Allo protocol and create profiles that can be used to interact with the Allo protocol. The Registry is the main contract that all other contracts interact with to get the 'Profile' information needed to interact with the Allo protocol. The Registry is also used to create new profiles and update existing profiles. The Registry is also used to add and remove members from a profile. The Registry will not always be used in a strategy and will depend on the strategy being used.\",\"events\":{\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership\",\"params\":{\"_profileId\":\"The 'profileId' to accept the ownership for\"}},\"addMembers(bytes32,address[])\":{\"details\":\"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members\",\"params\":{\"_members\":\"The members to add to the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to add members to\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile\",\"params\":{\"_members\":\"The 'members' to use to generate the 'anchor' address\",\"_metadata\":\"The 'Metadata' to use to generate the 'anchor' address\",\"_name\":\"The name to use to generate the 'anchor' address\",\"_nonce\":\"The nonce to use to generate the 'anchor' address\",\"_owner\":\"The 'owner' to use to generate the 'anchor' address\"},\"returns\":{\"profileId\":\"The 'profileId' of the new profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Returns the 'Profile' for an '_anchor' passed\",\"params\":{\"_anchor\":\"The 'anchor' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_anchor' passed\"}},\"getProfileById(bytes32)\":{\"details\":\"Returns the 'Profile' for a '_profileId' passed\",\"params\":{\"_profileId\":\"The 'profileId' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_profileId' passed\"}},\"isMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member of the '_profileId' passed in\",\"params\":{\"_member\":\"The 'member' to check if they are a member of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member of\"},\"returns\":{\"isMemberOfProfile\":\"A boolean if the '_account' is a member of the '_profileId' passed in\"}},\"isOwnerOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is an owner of the '_profileId' passed in\",\"params\":{\"_owner\":\"The 'owner' to check if they are an owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is an owner of\"},\"returns\":{\"isOwnerOfProfile\":\"A boolean if the '_account' is an owner of the '_profileId' passed in\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\",\"params\":{\"_account\":\"The 'account' to check if they are a member or owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member or owner of\"},\"returns\":{\"isOwnerOrMemberOfProfile\":\"A boolean if the '_account' is a member or owner of the '_profileId' passed in\"}},\"recoverFunds(address,address)\":{\"details\":\"Recovers funds from the contract Requirements: Must be the Allo owner\",\"params\":{\"_recipient\":\"The recipient of the recovered funds\",\"_token\":\"The token you want to use to recover funds\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members\",\"params\":{\"_members\":\"The members to remove from the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to remove members from\"}},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata\",\"params\":{\"_metadata\":\"The new 'Metadata' value\",\"_profileId\":\"The 'profileId' to update the metadata for\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.\",\"params\":{\"_name\":\"The new 'name' value\",\"_profileId\":\"The 'profileId' to update the name for\"},\"returns\":{\"anchor\":\"The new 'anchor' address\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner\",\"params\":{\"_pendingOwner\":\"The new pending 'owner' value\",\"_profileId\":\"The 'profileId' to update the pending owner for\"}}},\"title\":\"IRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Registry contract and exposes all functions needed to use the Registry within the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":\"IRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"isMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOrMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership","params":{"_profileId":"The 'profileId' to accept the ownership for"}},"addMembers(bytes32,address[])":{"details":"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members","params":{"_members":"The members to add to the '_profileId' passed in","_profileId":"The 'profileId' to add members to"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile","params":{"_members":"The 'members' to use to generate the 'anchor' address","_metadata":"The 'Metadata' to use to generate the 'anchor' address","_name":"The name to use to generate the 'anchor' address","_nonce":"The nonce to use to generate the 'anchor' address","_owner":"The 'owner' to use to generate the 'anchor' address"},"returns":{"profileId":"The 'profileId' of the new profile"}},"getProfileByAnchor(address)":{"details":"Returns the 'Profile' for an '_anchor' passed","params":{"_anchor":"The 'anchor' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_anchor' passed"}},"getProfileById(bytes32)":{"details":"Returns the 'Profile' for a '_profileId' passed","params":{"_profileId":"The 'profileId' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_profileId' passed"}},"isMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member of the '_profileId' passed in","params":{"_member":"The 'member' to check if they are a member of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member of"},"returns":{"isMemberOfProfile":"A boolean if the '_account' is a member of the '_profileId' passed in"}},"isOwnerOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is an owner of the '_profileId' passed in","params":{"_owner":"The 'owner' to check if they are an owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is an owner of"},"returns":{"isOwnerOfProfile":"A boolean if the '_account' is an owner of the '_profileId' passed in"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in","params":{"_account":"The 'account' to check if they are a member or owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member or owner of"},"returns":{"isOwnerOrMemberOfProfile":"A boolean if the '_account' is a member or owner of the '_profileId' passed in"}},"recoverFunds(address,address)":{"details":"Recovers funds from the contract Requirements: Must be the Allo owner","params":{"_recipient":"The recipient of the recovered funds","_token":"The token you want to use to recover funds"}},"removeMembers(bytes32,address[])":{"details":"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members","params":{"_members":"The members to remove from the '_profileId' passed in","_profileId":"The 'profileId' to remove members from"}},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata","params":{"_metadata":"The new 'Metadata' value","_profileId":"The 'profileId' to update the metadata for"}},"updateProfileName(bytes32,string)":{"details":"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.","params":{"_name":"The new 'name' value","_profileId":"The 'profileId' to update the name for"},"returns":{"anchor":"The new 'anchor' address"}},"updateProfilePendingOwner(bytes32,address)":{"details":"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner","params":{"_pendingOwner":"The new pending 'owner' value","_profileId":"The 'profileId' to update the pending owner for"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":"IRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","id":2803,"exportedSymbols":{"IRegistry":[2802],"Metadata":[3098]},"nodeType":"SourceUnit","src":"32:12410:4","nodes":[{"id":2612,"nodeType":"PragmaDirective","src":"32:24:4","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2614,"nodeType":"ImportDirective","src":"80:51:4","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2803,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2613,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"88:8:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2802,"nodeType":"ContractDefinition","src":"5055:7386:4","nodes":[{"id":2629,"nodeType":"StructDefinition","src":"5240:160:4","nodes":[],"canonicalName":"IRegistry.Profile","members":[{"constant":false,"id":2617,"mutability":"mutable","name":"id","nameLocation":"5273:2:4","nodeType":"VariableDeclaration","scope":2629,"src":"5265:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2619,"mutability":"mutable","name":"nonce","nameLocation":"5293:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5285:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5285:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2621,"mutability":"mutable","name":"name","nameLocation":"5315:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"5308:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2620,"name":"string","nodeType":"ElementaryTypeName","src":"5308:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2624,"mutability":"mutable","name":"metadata","nameLocation":"5338:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"5329:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2623,"nodeType":"UserDefinedTypeName","pathNode":{"id":2622,"name":"Metadata","nameLocations":["5329:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5329:8:4"},"referencedDeclaration":3098,"src":"5329:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2626,"mutability":"mutable","name":"owner","nameLocation":"5364:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5356:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2625,"name":"address","nodeType":"ElementaryTypeName","src":"5356:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2628,"mutability":"mutable","name":"anchor","nameLocation":"5387:6:4","nodeType":"VariableDeclaration","scope":2629,"src":"5379:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2627,"name":"address","nodeType":"ElementaryTypeName","src":"5379:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Profile","nameLocation":"5247:7:4","scope":2802,"visibility":"public"},{"id":2645,"nodeType":"EventDefinition","src":"5586:140:4","nodes":[],"anonymous":false,"documentation":{"id":2630,"nodeType":"StructuredDocumentation","src":"5500:81:4","text":"@dev Emitted when a profile is created. This will return your anchor address."},"eventSelector":"1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609","name":"ProfileCreated","nameLocation":"5592:14:4","parameters":{"id":2644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2632,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5632:9:4","nodeType":"VariableDeclaration","scope":2645,"src":"5616:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5616:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2634,"indexed":false,"mutability":"mutable","name":"nonce","nameLocation":"5651:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5643:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2633,"name":"uint256","nodeType":"ElementaryTypeName","src":"5643:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2636,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5665:4:4","nodeType":"VariableDeclaration","scope":2645,"src":"5658:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2635,"name":"string","nodeType":"ElementaryTypeName","src":"5658:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2639,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5680:8:4","nodeType":"VariableDeclaration","scope":2645,"src":"5671:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2638,"nodeType":"UserDefinedTypeName","pathNode":{"id":2637,"name":"Metadata","nameLocations":["5671:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5671:8:4"},"referencedDeclaration":3098,"src":"5671:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2641,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"5698:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5690:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2640,"name":"address","nodeType":"ElementaryTypeName","src":"5690:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2643,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5713:6:4","nodeType":"VariableDeclaration","scope":2645,"src":"5705:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2642,"name":"address","nodeType":"ElementaryTypeName","src":"5705:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5606:119:4"}},{"id":2654,"nodeType":"EventDefinition","src":"5853:81:4","nodes":[],"anonymous":false,"documentation":{"id":2646,"nodeType":"StructuredDocumentation","src":"5732:116:4","text":"@dev Emitted when a profile name is updated. This will update the anchor when the name is updated and return it."},"eventSelector":"54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f","name":"ProfileNameUpdated","nameLocation":"5859:18:4","parameters":{"id":2653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2648,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5894:9:4","nodeType":"VariableDeclaration","scope":2654,"src":"5878:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5878:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2650,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5912:4:4","nodeType":"VariableDeclaration","scope":2654,"src":"5905:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2649,"name":"string","nodeType":"ElementaryTypeName","src":"5905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2652,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5926:6:4","nodeType":"VariableDeclaration","scope":2654,"src":"5918:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2651,"name":"address","nodeType":"ElementaryTypeName","src":"5918:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5877:56:4"}},{"id":2662,"nodeType":"EventDefinition","src":"5999:75:4","nodes":[],"anonymous":false,"documentation":{"id":2655,"nodeType":"StructuredDocumentation","src":"5940:54:4","text":"@dev Emitted when a profile's metadata is updated."},"eventSelector":"a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3","name":"ProfileMetadataUpdated","nameLocation":"6005:22:4","parameters":{"id":2661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2657,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6044:9:4","nodeType":"VariableDeclaration","scope":2662,"src":"6028:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6028:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2660,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"6064:8:4","nodeType":"VariableDeclaration","scope":2662,"src":"6055:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2659,"nodeType":"UserDefinedTypeName","pathNode":{"id":2658,"name":"Metadata","nameLocations":["6055:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6055:8:4"},"referencedDeclaration":3098,"src":"6055:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"6027:46:4"}},{"id":2669,"nodeType":"EventDefinition","src":"6134:68:4","nodes":[],"anonymous":false,"documentation":{"id":2663,"nodeType":"StructuredDocumentation","src":"6080:49:4","text":"@dev Emitted when a profile owner is updated."},"eventSelector":"fd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d","name":"ProfileOwnerUpdated","nameLocation":"6140:19:4","parameters":{"id":2668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2665,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6176:9:4","nodeType":"VariableDeclaration","scope":2669,"src":"6160:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6160:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2667,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"6195:5:4","nodeType":"VariableDeclaration","scope":2669,"src":"6187:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2666,"name":"address","nodeType":"ElementaryTypeName","src":"6187:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6159:42:4"}},{"id":2676,"nodeType":"EventDefinition","src":"6270:82:4","nodes":[],"anonymous":false,"documentation":{"id":2670,"nodeType":"StructuredDocumentation","src":"6208:57:4","text":"@dev Emitted when a profile pending owner is updated."},"eventSelector":"21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8","name":"ProfilePendingOwnerUpdated","nameLocation":"6276:26:4","parameters":{"id":2675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2672,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6319:9:4","nodeType":"VariableDeclaration","scope":2676,"src":"6303:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6303:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2674,"indexed":false,"mutability":"mutable","name":"pendingOwner","nameLocation":"6338:12:4","nodeType":"VariableDeclaration","scope":2676,"src":"6330:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2673,"name":"address","nodeType":"ElementaryTypeName","src":"6330:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6302:49:4"}},{"id":2685,"nodeType":"FunctionDefinition","src":"6658:91:4","nodes":[],"documentation":{"id":2677,"nodeType":"StructuredDocumentation","src":"6461:192:4","text":"@dev Returns the 'Profile' for a '_profileId' passed\n @param _profileId The 'profileId' to return the 'Profile' for\n @return profile The 'Profile' for the '_profileId' passed"},"functionSelector":"0114cf0a","implemented":false,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"6667:14:4","parameters":{"id":2680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2679,"mutability":"mutable","name":"_profileId","nameLocation":"6690:10:4","nodeType":"VariableDeclaration","scope":2685,"src":"6682:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6682:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6681:20:4"},"returnParameters":{"id":2684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2683,"mutability":"mutable","name":"profile","nameLocation":"6740:7:4","nodeType":"VariableDeclaration","scope":2685,"src":"6725:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2682,"nodeType":"UserDefinedTypeName","pathNode":{"id":2681,"name":"Profile","nameLocations":["6725:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"6725:7:4"},"referencedDeclaration":2629,"src":"6725:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"6724:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2694,"nodeType":"FunctionDefinition","src":"6941:92:4","nodes":[],"documentation":{"id":2686,"nodeType":"StructuredDocumentation","src":"6755:181:4","text":"@dev Returns the 'Profile' for an '_anchor' passed\n @param _anchor The 'anchor' to return the 'Profile' for\n @return profile The 'Profile' for the '_anchor' passed"},"functionSelector":"dd93da43","implemented":false,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"6950:18:4","parameters":{"id":2689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2688,"mutability":"mutable","name":"_anchor","nameLocation":"6977:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"6969:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2687,"name":"address","nodeType":"ElementaryTypeName","src":"6969:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6968:17:4"},"returnParameters":{"id":2693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2692,"mutability":"mutable","name":"profile","nameLocation":"7024:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"7009:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2691,"nodeType":"UserDefinedTypeName","pathNode":{"id":2690,"name":"Profile","nameLocations":["7009:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7009:7:4"},"referencedDeclaration":2629,"src":"7009:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7008:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2704,"nodeType":"FunctionDefinition","src":"7459:150:4","nodes":[],"documentation":{"id":2695,"nodeType":"StructuredDocumentation","src":"7039:415:4","text":"@dev Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member or owner of\n @param _account The 'account' to check if they are a member or owner of the '_profileId' passed in\n @return isOwnerOrMemberOfProfile A boolean if the '_account' is a member or owner of the '_profileId' passed in"},"functionSelector":"5e8a7915","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"7468:24:4","parameters":{"id":2700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"_profileId","nameLocation":"7501:10:4","nodeType":"VariableDeclaration","scope":2704,"src":"7493:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7493:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"_account","nameLocation":"7521:8:4","nodeType":"VariableDeclaration","scope":2704,"src":"7513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2698,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7492:38:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2702,"mutability":"mutable","name":"isOwnerOrMemberOfProfile","nameLocation":"7583:24:4","nodeType":"VariableDeclaration","scope":2704,"src":"7578:29:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2701,"name":"bool","nodeType":"ElementaryTypeName","src":"7578:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7577:31:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2714,"nodeType":"FunctionDefinition","src":"7987:108:4","nodes":[],"documentation":{"id":2705,"nodeType":"StructuredDocumentation","src":"7615:367:4","text":"@dev Returns a boolean if the '_account' is an owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is an owner of\n @param _owner The 'owner' to check if they are an owner of the '_profileId' passed in\n @return isOwnerOfProfile A boolean if the '_account' is an owner of the '_profileId' passed in"},"functionSelector":"39b86b8c","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"7996:16:4","parameters":{"id":2710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2707,"mutability":"mutable","name":"_profileId","nameLocation":"8021:10:4","nodeType":"VariableDeclaration","scope":2714,"src":"8013:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8013:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2709,"mutability":"mutable","name":"_owner","nameLocation":"8041:6:4","nodeType":"VariableDeclaration","scope":2714,"src":"8033:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"8033:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8012:36:4"},"returnParameters":{"id":2713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"isOwnerOfProfile","nameLocation":"8077:16:4","nodeType":"VariableDeclaration","scope":2714,"src":"8072:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2711,"name":"bool","nodeType":"ElementaryTypeName","src":"8072:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8071:23:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2724,"nodeType":"FunctionDefinition","src":"8476:111:4","nodes":[],"documentation":{"id":2715,"nodeType":"StructuredDocumentation","src":"8101:370:4","text":"@dev Returns a boolean if the '_account' is a member of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member of\n @param _member The 'member' to check if they are a member of the '_profileId' passed in\n @return isMemberOfProfile A boolean if the '_account' is a member of the '_profileId' passed in"},"functionSelector":"0ec1fbac","implemented":false,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"8485:17:4","parameters":{"id":2720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2717,"mutability":"mutable","name":"_profileId","nameLocation":"8511:10:4","nodeType":"VariableDeclaration","scope":2724,"src":"8503:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8503:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"_member","nameLocation":"8531:7:4","nodeType":"VariableDeclaration","scope":2724,"src":"8523:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2718,"name":"address","nodeType":"ElementaryTypeName","src":"8523:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8502:37:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2722,"mutability":"mutable","name":"isMemberOfProfile","nameLocation":"8568:17:4","nodeType":"VariableDeclaration","scope":2724,"src":"8563:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2721,"name":"bool","nodeType":"ElementaryTypeName","src":"8563:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8562:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2742,"nodeType":"FunctionDefinition","src":"9411:213:4","nodes":[],"documentation":{"id":2725,"nodeType":"StructuredDocumentation","src":"8729:677:4","text":"@dev Creates a new 'Profile' and returns the 'profileId' of the new profile\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address\n Requirements: None, anyone can create a new profile\n @param _nonce The nonce to use to generate the 'anchor' address\n @param _name The name to use to generate the 'anchor' address\n @param _metadata The 'Metadata' to use to generate the 'anchor' address\n @param _owner The 'owner' to use to generate the 'anchor' address\n @param _members The 'members' to use to generate the 'anchor' address\n @return profileId The 'profileId' of the new profile"},"functionSelector":"3a92f65f","implemented":false,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"9420:13:4","parameters":{"id":2738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2727,"mutability":"mutable","name":"_nonce","nameLocation":"9451:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9443:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2726,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2729,"mutability":"mutable","name":"_name","nameLocation":"9481:5:4","nodeType":"VariableDeclaration","scope":2742,"src":"9467:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2728,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2732,"mutability":"mutable","name":"_metadata","nameLocation":"9512:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9496:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2731,"nodeType":"UserDefinedTypeName","pathNode":{"id":2730,"name":"Metadata","nameLocations":["9496:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9496:8:4"},"referencedDeclaration":3098,"src":"9496:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"_owner","nameLocation":"9539:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9531:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2733,"name":"address","nodeType":"ElementaryTypeName","src":"9531:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2737,"mutability":"mutable","name":"_members","nameLocation":"9572:8:4","nodeType":"VariableDeclaration","scope":2742,"src":"9555:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2735,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2736,"nodeType":"ArrayTypeName","src":"9555:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9433:153:4"},"returnParameters":{"id":2741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2740,"mutability":"mutable","name":"profileId","nameLocation":"9613:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9605:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9605:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9604:19:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2752,"nodeType":"FunctionDefinition","src":"10260:102:4","nodes":[],"documentation":{"id":2743,"nodeType":"StructuredDocumentation","src":"9630:625:4","text":"@dev Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address\n Requirements: Only the 'Profile' owner can update the name\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor'\n so please use caution. You can always recreate your 'anchor' address by updating the name back\n to the original name used to create the profile.\n @param _profileId The 'profileId' to update the name for\n @param _name The new 'name' value\n @return anchor The new 'anchor' address"},"functionSelector":"cf189ff2","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileName","nameLocation":"10269:17:4","parameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2745,"mutability":"mutable","name":"_profileId","nameLocation":"10295:10:4","nodeType":"VariableDeclaration","scope":2752,"src":"10287:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10287:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2747,"mutability":"mutable","name":"_name","nameLocation":"10321:5:4","nodeType":"VariableDeclaration","scope":2752,"src":"10307:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"10307:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10286:41:4"},"returnParameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2750,"mutability":"mutable","name":"anchor","nameLocation":"10354:6:4","nodeType":"VariableDeclaration","scope":2752,"src":"10346:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2749,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10345:16:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2761,"nodeType":"FunctionDefinition","src":"10640:87:4","nodes":[],"documentation":{"id":2753,"nodeType":"StructuredDocumentation","src":"10368:267:4","text":"@dev Updates the 'Metadata' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the metadata\n @param _profileId The 'profileId' to update the metadata for\n @param _metadata The new 'Metadata' value"},"functionSelector":"ac402839","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileMetadata","nameLocation":"10649:21:4","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2755,"mutability":"mutable","name":"_profileId","nameLocation":"10679:10:4","nodeType":"VariableDeclaration","scope":2761,"src":"10671:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10671:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2758,"mutability":"mutable","name":"_metadata","nameLocation":"10707:9:4","nodeType":"VariableDeclaration","scope":2761,"src":"10691:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2757,"nodeType":"UserDefinedTypeName","pathNode":{"id":2756,"name":"Metadata","nameLocations":["10691:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10691:8:4"},"referencedDeclaration":3098,"src":"10691:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10670:47:4"},"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"10726:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2769,"nodeType":"FunctionDefinition","src":"11029:87:4","nodes":[],"documentation":{"id":2762,"nodeType":"StructuredDocumentation","src":"10733:291:4","text":"@dev Updates the pending 'owner' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the pending owner\n @param _profileId The 'profileId' to update the pending owner for\n @param _pendingOwner The new pending 'owner' value"},"functionSelector":"3b66dacd","implemented":false,"kind":"function","modifiers":[],"name":"updateProfilePendingOwner","nameLocation":"11038:25:4","parameters":{"id":2767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2764,"mutability":"mutable","name":"_profileId","nameLocation":"11072:10:4","nodeType":"VariableDeclaration","scope":2769,"src":"11064:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11064:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2766,"mutability":"mutable","name":"_pendingOwner","nameLocation":"11092:13:4","nodeType":"VariableDeclaration","scope":2769,"src":"11084:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2765,"name":"address","nodeType":"ElementaryTypeName","src":"11084:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11063:43:4"},"returnParameters":{"id":2768,"nodeType":"ParameterList","parameters":[],"src":"11115:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2775,"nodeType":"FunctionDefinition","src":"11349:61:4","nodes":[],"documentation":{"id":2770,"nodeType":"StructuredDocumentation","src":"11122:222:4","text":"@dev Accepts the pending 'owner' of the '_profileId' passed in\n Requirements: Only the pending owner can accept the ownership\n @param _profileId The 'profileId' to accept the ownership for"},"functionSelector":"2497f3c6","implemented":false,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"11358:22:4","parameters":{"id":2773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2772,"mutability":"mutable","name":"_profileId","nameLocation":"11389:10:4","nodeType":"VariableDeclaration","scope":2775,"src":"11381:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11381:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11380:20:4"},"returnParameters":{"id":2774,"nodeType":"ParameterList","parameters":[],"src":"11409:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2784,"nodeType":"FunctionDefinition","src":"11684:76:4","nodes":[],"documentation":{"id":2776,"nodeType":"StructuredDocumentation","src":"11416:263:4","text":"@dev Adds members to the '_profileId' passed in\n Requirements: Only the 'Profile' owner can add members\n @param _profileId The 'profileId' to add members to\n @param _members The members to add to the '_profileId' passed in"},"functionSelector":"5063f361","implemented":false,"kind":"function","modifiers":[],"name":"addMembers","nameLocation":"11693:10:4","parameters":{"id":2782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2778,"mutability":"mutable","name":"_profileId","nameLocation":"11712:10:4","nodeType":"VariableDeclaration","scope":2784,"src":"11704:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11704:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2781,"mutability":"mutable","name":"_members","nameLocation":"11741:8:4","nodeType":"VariableDeclaration","scope":2784,"src":"11724:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2779,"name":"address","nodeType":"ElementaryTypeName","src":"11724:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2780,"nodeType":"ArrayTypeName","src":"11724:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11703:47:4"},"returnParameters":{"id":2783,"nodeType":"ParameterList","parameters":[],"src":"11759:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2793,"nodeType":"FunctionDefinition","src":"12052:79:4","nodes":[],"documentation":{"id":2785,"nodeType":"StructuredDocumentation","src":"11766:281:4","text":"@dev Removes members from the '_profileId' passed in\n Requirements: Only the 'Profile' owner can remove members\n @param _profileId The 'profileId' to remove members from\n @param _members The members to remove from the '_profileId' passed in"},"functionSelector":"e0cf1e4c","implemented":false,"kind":"function","modifiers":[],"name":"removeMembers","nameLocation":"12061:13:4","parameters":{"id":2791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2787,"mutability":"mutable","name":"_profileId","nameLocation":"12083:10:4","nodeType":"VariableDeclaration","scope":2793,"src":"12075:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12075:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2790,"mutability":"mutable","name":"_members","nameLocation":"12112:8:4","nodeType":"VariableDeclaration","scope":2793,"src":"12095:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2788,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2789,"nodeType":"ArrayTypeName","src":"12095:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12074:47:4"},"returnParameters":{"id":2792,"nodeType":"ParameterList","parameters":[],"src":"12130:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2801,"nodeType":"FunctionDefinition","src":"12372:67:4","nodes":[],"documentation":{"id":2794,"nodeType":"StructuredDocumentation","src":"12137:230:4","text":"@dev Recovers funds from the contract\n Requirements: Must be the Allo owner\n @param _token The token you want to use to recover funds\n @param _recipient The recipient of the recovered funds"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"12381:12:4","parameters":{"id":2799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2796,"mutability":"mutable","name":"_token","nameLocation":"12402:6:4","nodeType":"VariableDeclaration","scope":2801,"src":"12394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2795,"name":"address","nodeType":"ElementaryTypeName","src":"12394:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2798,"mutability":"mutable","name":"_recipient","nameLocation":"12418:10:4","nodeType":"VariableDeclaration","scope":2801,"src":"12410:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2797,"name":"address","nodeType":"ElementaryTypeName","src":"12410:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12393:36:4"},"returnParameters":{"id":2800,"nodeType":"ParameterList","parameters":[],"src":"12438:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistry","contractDependencies":[],"contractKind":"interface","documentation":{"id":2615,"nodeType":"StructuredDocumentation","src":"4124:931:4","text":"@title IRegistry Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Registry contract and exposes all functions needed to use the Registry\n within the Allo protocol.\n @dev The Registry Interface is used to interact with the Allo protocol and create profiles\n that can be used to interact with the Allo protocol. The Registry is the main contract\n that all other contracts interact with to get the 'Profile' information needed to\n interact with the Allo protocol. The Registry is also used to create new profiles\n and update existing profiles. The Registry is also used to add and remove members\n from a profile. The Registry will not always be used in a strategy and will depend on\n the strategy being used."},"fullyImplemented":false,"linearizedBaseContracts":[2802],"name":"IRegistry","nameLocation":"5065:9:4","scope":2803,"usedErrors":[]}],"license":"MIT"},"id":4}
\ No newline at end of file
diff --git a/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json b/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json
index dc4e7036b..20ee9c37e 100644
--- a/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json
+++ b/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/IRegistryFactory.sol\":\"IRegistryFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/IRegistryFactory.sol":"IRegistryFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","id":76173,"exportedSymbols":{"IRegistryFactory":[76172]},"nodeType":"SourceUnit","src":"33:209:113","nodes":[{"id":76159,"nodeType":"PragmaDirective","src":"33:24:113","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76172,"nodeType":"ContractDefinition","src":"59:182:113","nodes":[{"id":76164,"nodeType":"FunctionDefinition","src":"92:65:113","nodes":[],"functionSelector":"987435be","implemented":false,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"101:21:113","parameters":{"id":76160,"nodeType":"ParameterList","parameters":[],"src":"122:2:113"},"returnParameters":{"id":76163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76164,"src":"148:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76161,"name":"address","nodeType":"ElementaryTypeName","src":"148:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"147:9:113"},"scope":76172,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76171,"nodeType":"FunctionDefinition","src":"163:76:113","nodes":[],"functionSelector":"0a992e0c","implemented":false,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"172:14:113","parameters":{"id":76167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76166,"mutability":"mutable","name":"_community","nameLocation":"195:10:113","nodeType":"VariableDeclaration","scope":76171,"src":"187:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76165,"name":"address","nodeType":"ElementaryTypeName","src":"187:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"186:20:113"},"returnParameters":{"id":76170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76171,"src":"230:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76168,"name":"uint256","nodeType":"ElementaryTypeName","src":"230:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"229:9:113"},"scope":76172,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistryFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[76172],"name":"IRegistryFactory","nameLocation":"69:16:113","scope":76173,"usedErrors":[]}],"license":"MIT"},"id":113}
\ No newline at end of file
+{"abi":[{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/IRegistryFactory.sol\":\"IRegistryFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/IRegistryFactory.sol":"IRegistryFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","id":76233,"exportedSymbols":{"IRegistryFactory":[76232]},"nodeType":"SourceUnit","src":"33:209:113","nodes":[{"id":76219,"nodeType":"PragmaDirective","src":"33:24:113","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76232,"nodeType":"ContractDefinition","src":"59:182:113","nodes":[{"id":76224,"nodeType":"FunctionDefinition","src":"92:65:113","nodes":[],"functionSelector":"987435be","implemented":false,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"101:21:113","parameters":{"id":76220,"nodeType":"ParameterList","parameters":[],"src":"122:2:113"},"returnParameters":{"id":76223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76224,"src":"148:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76221,"name":"address","nodeType":"ElementaryTypeName","src":"148:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"147:9:113"},"scope":76232,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76231,"nodeType":"FunctionDefinition","src":"163:76:113","nodes":[],"functionSelector":"0a992e0c","implemented":false,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"172:14:113","parameters":{"id":76227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76226,"mutability":"mutable","name":"_community","nameLocation":"195:10:113","nodeType":"VariableDeclaration","scope":76231,"src":"187:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76225,"name":"address","nodeType":"ElementaryTypeName","src":"187:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"186:20:113"},"returnParameters":{"id":76230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76229,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76231,"src":"230:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76228,"name":"uint256","nodeType":"ElementaryTypeName","src":"230:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"229:9:113"},"scope":76232,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistryFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[76232],"name":"IRegistryFactory","nameLocation":"69:16:113","scope":76233,"usedErrors":[]}],"license":"MIT"},"id":113}
\ No newline at end of file
diff --git a/pkg/contracts/out/ISafe.sol/Enum.json b/pkg/contracts/out/ISafe.sol/Enum.json
index 8ac7f3889..187ab077d 100644
--- a/pkg/contracts/out/ISafe.sol/Enum.json
+++ b/pkg/contracts/out/ISafe.sol/Enum.json
@@ -1 +1 @@
-{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"Enum\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"Enum"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":79749,"exportedSymbols":{"Enum":[79748],"ISafe":[79732],"SafeProxyFactory":[79744]},"nodeType":"SourceUnit","src":"42:1491:125","nodes":[{"id":79641,"nodeType":"PragmaDirective","src":"42:24:125","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79732,"nodeType":"ContractDefinition","src":"68:1193:125","nodes":[{"id":79647,"nodeType":"FunctionDefinition","src":"90:62:125","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:125","parameters":{"id":79642,"nodeType":"ParameterList","parameters":[],"src":"108:2:125"},"returnParameters":{"id":79646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79645,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79647,"src":"134:16:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79643,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79644,"nodeType":"ArrayTypeName","src":"134:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:125"},"scope":79732,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79652,"nodeType":"FunctionDefinition","src":"157:49:125","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:125","parameters":{"id":79648,"nodeType":"ParameterList","parameters":[],"src":"171:2:125"},"returnParameters":{"id":79651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79650,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79652,"src":"197:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79649,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:125"},"scope":79732,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79672,"nodeType":"FunctionDefinition","src":"211:272:125","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:125","parameters":{"id":79670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79655,"mutability":"mutable","name":"_owners","nameLocation":"254:7:125","nodeType":"VariableDeclaration","scope":79672,"src":"235:26:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79653,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79654,"nodeType":"ArrayTypeName","src":"235:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79657,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:125","nodeType":"VariableDeclaration","scope":79672,"src":"271:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79656,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79659,"mutability":"mutable","name":"to","nameLocation":"307:2:125","nodeType":"VariableDeclaration","scope":79672,"src":"299:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79658,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79661,"mutability":"mutable","name":"data","nameLocation":"334:4:125","nodeType":"VariableDeclaration","scope":79672,"src":"319:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79660,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79663,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:125","nodeType":"VariableDeclaration","scope":79672,"src":"348:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79662,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79665,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:125","nodeType":"VariableDeclaration","scope":79672,"src":"381:20:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79664,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79667,"mutability":"mutable","name":"payment","nameLocation":"419:7:125","nodeType":"VariableDeclaration","scope":79672,"src":"411:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79666,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79669,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:125","nodeType":"VariableDeclaration","scope":79672,"src":"436:31:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":79668,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:125","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:125"},"returnParameters":{"id":79671,"nodeType":"ParameterList","parameters":[],"src":"482:0:125"},"scope":79732,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79698,"nodeType":"FunctionDefinition","src":"488:332:125","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:125","parameters":{"id":79694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79674,"mutability":"mutable","name":"to","nameLocation":"533:2:125","nodeType":"VariableDeclaration","scope":79698,"src":"525:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79673,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79676,"mutability":"mutable","name":"value","nameLocation":"553:5:125","nodeType":"VariableDeclaration","scope":79698,"src":"545:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79675,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79678,"mutability":"mutable","name":"data","nameLocation":"583:4:125","nodeType":"VariableDeclaration","scope":79698,"src":"568:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79677,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79681,"mutability":"mutable","name":"operation","nameLocation":"612:9:125","nodeType":"VariableDeclaration","scope":79698,"src":"597:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79747","typeString":"enum Enum.Operation"},"typeName":{"id":79680,"nodeType":"UserDefinedTypeName","pathNode":{"id":79679,"name":"Enum.Operation","nameLocations":["597:4:125","602:9:125"],"nodeType":"IdentifierPath","referencedDeclaration":79747,"src":"597:14:125"},"referencedDeclaration":79747,"src":"597:14:125","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79747","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":79683,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:125","nodeType":"VariableDeclaration","scope":79698,"src":"631:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79682,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79685,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:125","nodeType":"VariableDeclaration","scope":79698,"src":"658:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79684,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79687,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:125","nodeType":"VariableDeclaration","scope":79698,"src":"683:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79686,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79689,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:125","nodeType":"VariableDeclaration","scope":79698,"src":"709:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79688,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79691,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:125","nodeType":"VariableDeclaration","scope":79698,"src":"735:22:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79690,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79693,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:125","nodeType":"VariableDeclaration","scope":79698,"src":"767:14:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79692,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:125"},"returnParameters":{"id":79697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79696,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79698,"src":"811:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":79695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:125"},"scope":79732,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79724,"nodeType":"FunctionDefinition","src":"825:354:125","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:125","parameters":{"id":79720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79700,"mutability":"mutable","name":"to","nameLocation":"867:2:125","nodeType":"VariableDeclaration","scope":79724,"src":"859:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79699,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79702,"mutability":"mutable","name":"value","nameLocation":"887:5:125","nodeType":"VariableDeclaration","scope":79724,"src":"879:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79701,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79704,"mutability":"mutable","name":"data","nameLocation":"917:4:125","nodeType":"VariableDeclaration","scope":79724,"src":"902:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79703,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79707,"mutability":"mutable","name":"operation","nameLocation":"946:9:125","nodeType":"VariableDeclaration","scope":79724,"src":"931:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79747","typeString":"enum Enum.Operation"},"typeName":{"id":79706,"nodeType":"UserDefinedTypeName","pathNode":{"id":79705,"name":"Enum.Operation","nameLocations":["931:4:125","936:9:125"],"nodeType":"IdentifierPath","referencedDeclaration":79747,"src":"931:14:125"},"referencedDeclaration":79747,"src":"931:14:125","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79747","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":79709,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:125","nodeType":"VariableDeclaration","scope":79724,"src":"965:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79708,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79711,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:125","nodeType":"VariableDeclaration","scope":79724,"src":"992:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79710,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79713,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:125","nodeType":"VariableDeclaration","scope":79724,"src":"1017:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79712,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79715,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:125","nodeType":"VariableDeclaration","scope":79724,"src":"1043:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79714,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79717,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:125","nodeType":"VariableDeclaration","scope":79724,"src":"1069:30:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":79716,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:125","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":79719,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:125","nodeType":"VariableDeclaration","scope":79724,"src":"1109:23:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79718,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:125"},"returnParameters":{"id":79723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79722,"mutability":"mutable","name":"success","nameLocation":"1170:7:125","nodeType":"VariableDeclaration","scope":79724,"src":"1165:12:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79721,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:125"},"scope":79732,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79731,"nodeType":"FunctionDefinition","src":"1184:75:125","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:125","parameters":{"id":79729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79726,"mutability":"mutable","name":"owner","nameLocation":"1223:5:125","nodeType":"VariableDeclaration","scope":79731,"src":"1215:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79725,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79728,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:125","nodeType":"VariableDeclaration","scope":79731,"src":"1230:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79727,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:125"},"returnParameters":{"id":79730,"nodeType":"ParameterList","parameters":[],"src":"1258:0:125"},"scope":79732,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79732],"name":"ISafe","nameLocation":"78:5:125","scope":79749,"usedErrors":[]},{"id":79744,"nodeType":"ContractDefinition","src":"1263:179:125","nodes":[{"id":79743,"nodeType":"FunctionDefinition","src":"1296:144:125","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:125","parameters":{"id":79739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79734,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:125","nodeType":"VariableDeclaration","scope":79743,"src":"1326:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79733,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79736,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:125","nodeType":"VariableDeclaration","scope":79743,"src":"1346:24:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79735,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79738,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:125","nodeType":"VariableDeclaration","scope":79743,"src":"1372:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79737,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:125"},"returnParameters":{"id":79742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79741,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:125","nodeType":"VariableDeclaration","scope":79743,"src":"1425:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79740,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:125"},"scope":79744,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79744],"name":"SafeProxyFactory","nameLocation":"1273:16:125","scope":79749,"usedErrors":[]},{"id":79748,"nodeType":"ContractDefinition","src":"1444:88:125","nodes":[{"id":79747,"nodeType":"EnumDefinition","src":"1473:57:125","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":79745,"name":"Call","nameLocation":"1498:4:125","nodeType":"EnumValue","src":"1498:4:125"},{"id":79746,"name":"DelegateCall","nameLocation":"1512:12:125","nodeType":"EnumValue","src":"1512:12:125"}],"name":"Operation","nameLocation":"1478:9:125"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[79748],"name":"Enum","nameLocation":"1462:4:125","scope":79749,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":125}
\ No newline at end of file
+{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"Enum\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"Enum"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":79809,"exportedSymbols":{"Enum":[79808],"ISafe":[79792],"SafeProxyFactory":[79804]},"nodeType":"SourceUnit","src":"42:1491:125","nodes":[{"id":79701,"nodeType":"PragmaDirective","src":"42:24:125","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79792,"nodeType":"ContractDefinition","src":"68:1193:125","nodes":[{"id":79707,"nodeType":"FunctionDefinition","src":"90:62:125","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:125","parameters":{"id":79702,"nodeType":"ParameterList","parameters":[],"src":"108:2:125"},"returnParameters":{"id":79706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79705,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79707,"src":"134:16:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79703,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79704,"nodeType":"ArrayTypeName","src":"134:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:125"},"scope":79792,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79712,"nodeType":"FunctionDefinition","src":"157:49:125","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:125","parameters":{"id":79708,"nodeType":"ParameterList","parameters":[],"src":"171:2:125"},"returnParameters":{"id":79711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79710,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79712,"src":"197:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79709,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:125"},"scope":79792,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79732,"nodeType":"FunctionDefinition","src":"211:272:125","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:125","parameters":{"id":79730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79715,"mutability":"mutable","name":"_owners","nameLocation":"254:7:125","nodeType":"VariableDeclaration","scope":79732,"src":"235:26:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79713,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79714,"nodeType":"ArrayTypeName","src":"235:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79717,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:125","nodeType":"VariableDeclaration","scope":79732,"src":"271:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79716,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79719,"mutability":"mutable","name":"to","nameLocation":"307:2:125","nodeType":"VariableDeclaration","scope":79732,"src":"299:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79718,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79721,"mutability":"mutable","name":"data","nameLocation":"334:4:125","nodeType":"VariableDeclaration","scope":79732,"src":"319:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79720,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79723,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:125","nodeType":"VariableDeclaration","scope":79732,"src":"348:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79722,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79725,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:125","nodeType":"VariableDeclaration","scope":79732,"src":"381:20:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79724,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79727,"mutability":"mutable","name":"payment","nameLocation":"419:7:125","nodeType":"VariableDeclaration","scope":79732,"src":"411:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79726,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79729,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:125","nodeType":"VariableDeclaration","scope":79732,"src":"436:31:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":79728,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:125","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:125"},"returnParameters":{"id":79731,"nodeType":"ParameterList","parameters":[],"src":"482:0:125"},"scope":79792,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79758,"nodeType":"FunctionDefinition","src":"488:332:125","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:125","parameters":{"id":79754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79734,"mutability":"mutable","name":"to","nameLocation":"533:2:125","nodeType":"VariableDeclaration","scope":79758,"src":"525:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79733,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79736,"mutability":"mutable","name":"value","nameLocation":"553:5:125","nodeType":"VariableDeclaration","scope":79758,"src":"545:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79735,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79738,"mutability":"mutable","name":"data","nameLocation":"583:4:125","nodeType":"VariableDeclaration","scope":79758,"src":"568:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79737,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79741,"mutability":"mutable","name":"operation","nameLocation":"612:9:125","nodeType":"VariableDeclaration","scope":79758,"src":"597:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79807","typeString":"enum Enum.Operation"},"typeName":{"id":79740,"nodeType":"UserDefinedTypeName","pathNode":{"id":79739,"name":"Enum.Operation","nameLocations":["597:4:125","602:9:125"],"nodeType":"IdentifierPath","referencedDeclaration":79807,"src":"597:14:125"},"referencedDeclaration":79807,"src":"597:14:125","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79807","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":79743,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:125","nodeType":"VariableDeclaration","scope":79758,"src":"631:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79742,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79745,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:125","nodeType":"VariableDeclaration","scope":79758,"src":"658:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79744,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79747,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:125","nodeType":"VariableDeclaration","scope":79758,"src":"683:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79746,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79749,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:125","nodeType":"VariableDeclaration","scope":79758,"src":"709:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79748,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79751,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:125","nodeType":"VariableDeclaration","scope":79758,"src":"735:22:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79750,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79753,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:125","nodeType":"VariableDeclaration","scope":79758,"src":"767:14:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79752,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:125"},"returnParameters":{"id":79757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79758,"src":"811:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":79755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:125"},"scope":79792,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79784,"nodeType":"FunctionDefinition","src":"825:354:125","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:125","parameters":{"id":79780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79760,"mutability":"mutable","name":"to","nameLocation":"867:2:125","nodeType":"VariableDeclaration","scope":79784,"src":"859:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79759,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79762,"mutability":"mutable","name":"value","nameLocation":"887:5:125","nodeType":"VariableDeclaration","scope":79784,"src":"879:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79761,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79764,"mutability":"mutable","name":"data","nameLocation":"917:4:125","nodeType":"VariableDeclaration","scope":79784,"src":"902:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79763,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79767,"mutability":"mutable","name":"operation","nameLocation":"946:9:125","nodeType":"VariableDeclaration","scope":79784,"src":"931:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79807","typeString":"enum Enum.Operation"},"typeName":{"id":79766,"nodeType":"UserDefinedTypeName","pathNode":{"id":79765,"name":"Enum.Operation","nameLocations":["931:4:125","936:9:125"],"nodeType":"IdentifierPath","referencedDeclaration":79807,"src":"931:14:125"},"referencedDeclaration":79807,"src":"931:14:125","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79807","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":79769,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:125","nodeType":"VariableDeclaration","scope":79784,"src":"965:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79768,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79771,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:125","nodeType":"VariableDeclaration","scope":79784,"src":"992:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79770,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79773,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:125","nodeType":"VariableDeclaration","scope":79784,"src":"1017:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79772,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79775,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:125","nodeType":"VariableDeclaration","scope":79784,"src":"1043:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79774,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79777,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:125","nodeType":"VariableDeclaration","scope":79784,"src":"1069:30:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":79776,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:125","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":79779,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:125","nodeType":"VariableDeclaration","scope":79784,"src":"1109:23:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79778,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:125"},"returnParameters":{"id":79783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79782,"mutability":"mutable","name":"success","nameLocation":"1170:7:125","nodeType":"VariableDeclaration","scope":79784,"src":"1165:12:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79781,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:125"},"scope":79792,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79791,"nodeType":"FunctionDefinition","src":"1184:75:125","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:125","parameters":{"id":79789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79786,"mutability":"mutable","name":"owner","nameLocation":"1223:5:125","nodeType":"VariableDeclaration","scope":79791,"src":"1215:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79785,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79788,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:125","nodeType":"VariableDeclaration","scope":79791,"src":"1230:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79787,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:125"},"returnParameters":{"id":79790,"nodeType":"ParameterList","parameters":[],"src":"1258:0:125"},"scope":79792,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79792],"name":"ISafe","nameLocation":"78:5:125","scope":79809,"usedErrors":[]},{"id":79804,"nodeType":"ContractDefinition","src":"1263:179:125","nodes":[{"id":79803,"nodeType":"FunctionDefinition","src":"1296:144:125","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:125","parameters":{"id":79799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79794,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:125","nodeType":"VariableDeclaration","scope":79803,"src":"1326:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79793,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79796,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:125","nodeType":"VariableDeclaration","scope":79803,"src":"1346:24:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79795,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79798,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:125","nodeType":"VariableDeclaration","scope":79803,"src":"1372:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79797,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:125"},"returnParameters":{"id":79802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79801,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:125","nodeType":"VariableDeclaration","scope":79803,"src":"1425:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79800,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:125"},"scope":79804,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79804],"name":"SafeProxyFactory","nameLocation":"1273:16:125","scope":79809,"usedErrors":[]},{"id":79808,"nodeType":"ContractDefinition","src":"1444:88:125","nodes":[{"id":79807,"nodeType":"EnumDefinition","src":"1473:57:125","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":79805,"name":"Call","nameLocation":"1498:4:125","nodeType":"EnumValue","src":"1498:4:125"},{"id":79806,"name":"DelegateCall","nameLocation":"1512:12:125","nodeType":"EnumValue","src":"1512:12:125"}],"name":"Operation","nameLocation":"1478:9:125"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[79808],"name":"Enum","nameLocation":"1462:4:125","scope":79809,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":125}
\ No newline at end of file
diff --git a/pkg/contracts/out/ISafe.sol/ISafe.json b/pkg/contracts/out/ISafe.sol/ISafe.json
index d15199ea1..e82c9c231 100644
--- a/pkg/contracts/out/ISafe.sol/ISafe.json
+++ b/pkg/contracts/out/ISafe.sol/ISafe.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getOwners()":"a0e67e2b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/ISafe.sol","id":76182,"exportedSymbols":{"ISafe":[76181]},"nodeType":"SourceUnit","src":"42:113:114","nodes":[{"id":76174,"nodeType":"PragmaDirective","src":"42:24:114","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76181,"nodeType":"ContractDefinition","src":"68:86:114","nodes":[{"id":76180,"nodeType":"FunctionDefinition","src":"90:62:114","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:114","parameters":{"id":76175,"nodeType":"ParameterList","parameters":[],"src":"108:2:114"},"returnParameters":{"id":76179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76178,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76180,"src":"134:16:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76176,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76177,"nodeType":"ArrayTypeName","src":"134:9:114","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:114"},"scope":76181,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[76181],"name":"ISafe","nameLocation":"78:5:114","scope":76182,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":114}
\ No newline at end of file
+{"abi":[{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getOwners()":"a0e67e2b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/ISafe.sol","id":76242,"exportedSymbols":{"ISafe":[76241]},"nodeType":"SourceUnit","src":"42:113:114","nodes":[{"id":76234,"nodeType":"PragmaDirective","src":"42:24:114","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76241,"nodeType":"ContractDefinition","src":"68:86:114","nodes":[{"id":76240,"nodeType":"FunctionDefinition","src":"90:62:114","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:114","parameters":{"id":76235,"nodeType":"ParameterList","parameters":[],"src":"108:2:114"},"returnParameters":{"id":76239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76240,"src":"134:16:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76236,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76237,"nodeType":"ArrayTypeName","src":"134:9:114","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:114"},"scope":76241,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[76241],"name":"ISafe","nameLocation":"78:5:114","scope":76242,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":114}
\ No newline at end of file
diff --git a/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json b/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json
index 5a28031c7..f3acc13a3 100644
--- a/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json
+++ b/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"createProxyWithNonce","inputs":[{"name":"_singleton","type":"address","internalType":"address"},{"name":"initializer","type":"bytes","internalType":"bytes"},{"name":"saltNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proxy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createProxyWithNonce(address,bytes,uint256)":"1688f0b9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"SafeProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createProxyWithNonce","outputs":[{"internalType":"address","name":"proxy","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"SafeProxyFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":79749,"exportedSymbols":{"Enum":[79748],"ISafe":[79732],"SafeProxyFactory":[79744]},"nodeType":"SourceUnit","src":"42:1491:125","nodes":[{"id":79641,"nodeType":"PragmaDirective","src":"42:24:125","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79732,"nodeType":"ContractDefinition","src":"68:1193:125","nodes":[{"id":79647,"nodeType":"FunctionDefinition","src":"90:62:125","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:125","parameters":{"id":79642,"nodeType":"ParameterList","parameters":[],"src":"108:2:125"},"returnParameters":{"id":79646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79645,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79647,"src":"134:16:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79643,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79644,"nodeType":"ArrayTypeName","src":"134:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:125"},"scope":79732,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79652,"nodeType":"FunctionDefinition","src":"157:49:125","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:125","parameters":{"id":79648,"nodeType":"ParameterList","parameters":[],"src":"171:2:125"},"returnParameters":{"id":79651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79650,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79652,"src":"197:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79649,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:125"},"scope":79732,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79672,"nodeType":"FunctionDefinition","src":"211:272:125","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:125","parameters":{"id":79670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79655,"mutability":"mutable","name":"_owners","nameLocation":"254:7:125","nodeType":"VariableDeclaration","scope":79672,"src":"235:26:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79653,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79654,"nodeType":"ArrayTypeName","src":"235:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79657,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:125","nodeType":"VariableDeclaration","scope":79672,"src":"271:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79656,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79659,"mutability":"mutable","name":"to","nameLocation":"307:2:125","nodeType":"VariableDeclaration","scope":79672,"src":"299:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79658,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79661,"mutability":"mutable","name":"data","nameLocation":"334:4:125","nodeType":"VariableDeclaration","scope":79672,"src":"319:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79660,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79663,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:125","nodeType":"VariableDeclaration","scope":79672,"src":"348:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79662,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79665,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:125","nodeType":"VariableDeclaration","scope":79672,"src":"381:20:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79664,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79667,"mutability":"mutable","name":"payment","nameLocation":"419:7:125","nodeType":"VariableDeclaration","scope":79672,"src":"411:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79666,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79669,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:125","nodeType":"VariableDeclaration","scope":79672,"src":"436:31:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":79668,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:125","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:125"},"returnParameters":{"id":79671,"nodeType":"ParameterList","parameters":[],"src":"482:0:125"},"scope":79732,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79698,"nodeType":"FunctionDefinition","src":"488:332:125","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:125","parameters":{"id":79694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79674,"mutability":"mutable","name":"to","nameLocation":"533:2:125","nodeType":"VariableDeclaration","scope":79698,"src":"525:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79673,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79676,"mutability":"mutable","name":"value","nameLocation":"553:5:125","nodeType":"VariableDeclaration","scope":79698,"src":"545:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79675,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79678,"mutability":"mutable","name":"data","nameLocation":"583:4:125","nodeType":"VariableDeclaration","scope":79698,"src":"568:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79677,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79681,"mutability":"mutable","name":"operation","nameLocation":"612:9:125","nodeType":"VariableDeclaration","scope":79698,"src":"597:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79747","typeString":"enum Enum.Operation"},"typeName":{"id":79680,"nodeType":"UserDefinedTypeName","pathNode":{"id":79679,"name":"Enum.Operation","nameLocations":["597:4:125","602:9:125"],"nodeType":"IdentifierPath","referencedDeclaration":79747,"src":"597:14:125"},"referencedDeclaration":79747,"src":"597:14:125","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79747","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":79683,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:125","nodeType":"VariableDeclaration","scope":79698,"src":"631:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79682,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79685,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:125","nodeType":"VariableDeclaration","scope":79698,"src":"658:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79684,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79687,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:125","nodeType":"VariableDeclaration","scope":79698,"src":"683:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79686,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79689,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:125","nodeType":"VariableDeclaration","scope":79698,"src":"709:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79688,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79691,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:125","nodeType":"VariableDeclaration","scope":79698,"src":"735:22:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79690,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79693,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:125","nodeType":"VariableDeclaration","scope":79698,"src":"767:14:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79692,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:125"},"returnParameters":{"id":79697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79696,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79698,"src":"811:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":79695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:125"},"scope":79732,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79724,"nodeType":"FunctionDefinition","src":"825:354:125","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:125","parameters":{"id":79720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79700,"mutability":"mutable","name":"to","nameLocation":"867:2:125","nodeType":"VariableDeclaration","scope":79724,"src":"859:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79699,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79702,"mutability":"mutable","name":"value","nameLocation":"887:5:125","nodeType":"VariableDeclaration","scope":79724,"src":"879:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79701,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79704,"mutability":"mutable","name":"data","nameLocation":"917:4:125","nodeType":"VariableDeclaration","scope":79724,"src":"902:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79703,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79707,"mutability":"mutable","name":"operation","nameLocation":"946:9:125","nodeType":"VariableDeclaration","scope":79724,"src":"931:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79747","typeString":"enum Enum.Operation"},"typeName":{"id":79706,"nodeType":"UserDefinedTypeName","pathNode":{"id":79705,"name":"Enum.Operation","nameLocations":["931:4:125","936:9:125"],"nodeType":"IdentifierPath","referencedDeclaration":79747,"src":"931:14:125"},"referencedDeclaration":79747,"src":"931:14:125","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79747","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":79709,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:125","nodeType":"VariableDeclaration","scope":79724,"src":"965:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79708,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79711,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:125","nodeType":"VariableDeclaration","scope":79724,"src":"992:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79710,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79713,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:125","nodeType":"VariableDeclaration","scope":79724,"src":"1017:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79712,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79715,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:125","nodeType":"VariableDeclaration","scope":79724,"src":"1043:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79714,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79717,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:125","nodeType":"VariableDeclaration","scope":79724,"src":"1069:30:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":79716,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:125","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":79719,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:125","nodeType":"VariableDeclaration","scope":79724,"src":"1109:23:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79718,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:125"},"returnParameters":{"id":79723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79722,"mutability":"mutable","name":"success","nameLocation":"1170:7:125","nodeType":"VariableDeclaration","scope":79724,"src":"1165:12:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79721,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:125"},"scope":79732,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79731,"nodeType":"FunctionDefinition","src":"1184:75:125","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:125","parameters":{"id":79729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79726,"mutability":"mutable","name":"owner","nameLocation":"1223:5:125","nodeType":"VariableDeclaration","scope":79731,"src":"1215:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79725,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79728,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:125","nodeType":"VariableDeclaration","scope":79731,"src":"1230:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79727,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:125"},"returnParameters":{"id":79730,"nodeType":"ParameterList","parameters":[],"src":"1258:0:125"},"scope":79732,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79732],"name":"ISafe","nameLocation":"78:5:125","scope":79749,"usedErrors":[]},{"id":79744,"nodeType":"ContractDefinition","src":"1263:179:125","nodes":[{"id":79743,"nodeType":"FunctionDefinition","src":"1296:144:125","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:125","parameters":{"id":79739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79734,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:125","nodeType":"VariableDeclaration","scope":79743,"src":"1326:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79733,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79736,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:125","nodeType":"VariableDeclaration","scope":79743,"src":"1346:24:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79735,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79738,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:125","nodeType":"VariableDeclaration","scope":79743,"src":"1372:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79737,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:125"},"returnParameters":{"id":79742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79741,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:125","nodeType":"VariableDeclaration","scope":79743,"src":"1425:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79740,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:125"},"scope":79744,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79744],"name":"SafeProxyFactory","nameLocation":"1273:16:125","scope":79749,"usedErrors":[]},{"id":79748,"nodeType":"ContractDefinition","src":"1444:88:125","nodes":[{"id":79747,"nodeType":"EnumDefinition","src":"1473:57:125","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":79745,"name":"Call","nameLocation":"1498:4:125","nodeType":"EnumValue","src":"1498:4:125"},{"id":79746,"name":"DelegateCall","nameLocation":"1512:12:125","nodeType":"EnumValue","src":"1512:12:125"}],"name":"Operation","nameLocation":"1478:9:125"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[79748],"name":"Enum","nameLocation":"1462:4:125","scope":79749,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":125}
\ No newline at end of file
+{"abi":[{"type":"function","name":"createProxyWithNonce","inputs":[{"name":"_singleton","type":"address","internalType":"address"},{"name":"initializer","type":"bytes","internalType":"bytes"},{"name":"saltNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proxy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createProxyWithNonce(address,bytes,uint256)":"1688f0b9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"SafeProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createProxyWithNonce","outputs":[{"internalType":"address","name":"proxy","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"SafeProxyFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":79809,"exportedSymbols":{"Enum":[79808],"ISafe":[79792],"SafeProxyFactory":[79804]},"nodeType":"SourceUnit","src":"42:1491:125","nodes":[{"id":79701,"nodeType":"PragmaDirective","src":"42:24:125","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79792,"nodeType":"ContractDefinition","src":"68:1193:125","nodes":[{"id":79707,"nodeType":"FunctionDefinition","src":"90:62:125","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:125","parameters":{"id":79702,"nodeType":"ParameterList","parameters":[],"src":"108:2:125"},"returnParameters":{"id":79706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79705,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79707,"src":"134:16:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79703,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79704,"nodeType":"ArrayTypeName","src":"134:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:125"},"scope":79792,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79712,"nodeType":"FunctionDefinition","src":"157:49:125","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:125","parameters":{"id":79708,"nodeType":"ParameterList","parameters":[],"src":"171:2:125"},"returnParameters":{"id":79711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79710,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79712,"src":"197:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79709,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:125"},"scope":79792,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79732,"nodeType":"FunctionDefinition","src":"211:272:125","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:125","parameters":{"id":79730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79715,"mutability":"mutable","name":"_owners","nameLocation":"254:7:125","nodeType":"VariableDeclaration","scope":79732,"src":"235:26:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79713,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79714,"nodeType":"ArrayTypeName","src":"235:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79717,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:125","nodeType":"VariableDeclaration","scope":79732,"src":"271:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79716,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79719,"mutability":"mutable","name":"to","nameLocation":"307:2:125","nodeType":"VariableDeclaration","scope":79732,"src":"299:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79718,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79721,"mutability":"mutable","name":"data","nameLocation":"334:4:125","nodeType":"VariableDeclaration","scope":79732,"src":"319:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79720,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79723,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:125","nodeType":"VariableDeclaration","scope":79732,"src":"348:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79722,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79725,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:125","nodeType":"VariableDeclaration","scope":79732,"src":"381:20:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79724,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79727,"mutability":"mutable","name":"payment","nameLocation":"419:7:125","nodeType":"VariableDeclaration","scope":79732,"src":"411:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79726,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79729,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:125","nodeType":"VariableDeclaration","scope":79732,"src":"436:31:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":79728,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:125","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:125"},"returnParameters":{"id":79731,"nodeType":"ParameterList","parameters":[],"src":"482:0:125"},"scope":79792,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79758,"nodeType":"FunctionDefinition","src":"488:332:125","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:125","parameters":{"id":79754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79734,"mutability":"mutable","name":"to","nameLocation":"533:2:125","nodeType":"VariableDeclaration","scope":79758,"src":"525:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79733,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79736,"mutability":"mutable","name":"value","nameLocation":"553:5:125","nodeType":"VariableDeclaration","scope":79758,"src":"545:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79735,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79738,"mutability":"mutable","name":"data","nameLocation":"583:4:125","nodeType":"VariableDeclaration","scope":79758,"src":"568:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79737,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79741,"mutability":"mutable","name":"operation","nameLocation":"612:9:125","nodeType":"VariableDeclaration","scope":79758,"src":"597:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79807","typeString":"enum Enum.Operation"},"typeName":{"id":79740,"nodeType":"UserDefinedTypeName","pathNode":{"id":79739,"name":"Enum.Operation","nameLocations":["597:4:125","602:9:125"],"nodeType":"IdentifierPath","referencedDeclaration":79807,"src":"597:14:125"},"referencedDeclaration":79807,"src":"597:14:125","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79807","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":79743,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:125","nodeType":"VariableDeclaration","scope":79758,"src":"631:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79742,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79745,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:125","nodeType":"VariableDeclaration","scope":79758,"src":"658:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79744,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79747,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:125","nodeType":"VariableDeclaration","scope":79758,"src":"683:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79746,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79749,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:125","nodeType":"VariableDeclaration","scope":79758,"src":"709:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79748,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79751,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:125","nodeType":"VariableDeclaration","scope":79758,"src":"735:22:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79750,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79753,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:125","nodeType":"VariableDeclaration","scope":79758,"src":"767:14:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79752,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:125"},"returnParameters":{"id":79757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79758,"src":"811:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":79755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:125"},"scope":79792,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79784,"nodeType":"FunctionDefinition","src":"825:354:125","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:125","parameters":{"id":79780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79760,"mutability":"mutable","name":"to","nameLocation":"867:2:125","nodeType":"VariableDeclaration","scope":79784,"src":"859:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79759,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79762,"mutability":"mutable","name":"value","nameLocation":"887:5:125","nodeType":"VariableDeclaration","scope":79784,"src":"879:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79761,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79764,"mutability":"mutable","name":"data","nameLocation":"917:4:125","nodeType":"VariableDeclaration","scope":79784,"src":"902:19:125","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79763,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79767,"mutability":"mutable","name":"operation","nameLocation":"946:9:125","nodeType":"VariableDeclaration","scope":79784,"src":"931:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79807","typeString":"enum Enum.Operation"},"typeName":{"id":79766,"nodeType":"UserDefinedTypeName","pathNode":{"id":79765,"name":"Enum.Operation","nameLocations":["931:4:125","936:9:125"],"nodeType":"IdentifierPath","referencedDeclaration":79807,"src":"931:14:125"},"referencedDeclaration":79807,"src":"931:14:125","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$79807","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":79769,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:125","nodeType":"VariableDeclaration","scope":79784,"src":"965:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79768,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79771,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:125","nodeType":"VariableDeclaration","scope":79784,"src":"992:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79770,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79773,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:125","nodeType":"VariableDeclaration","scope":79784,"src":"1017:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79772,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79775,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:125","nodeType":"VariableDeclaration","scope":79784,"src":"1043:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79774,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79777,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:125","nodeType":"VariableDeclaration","scope":79784,"src":"1069:30:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":79776,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:125","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":79779,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:125","nodeType":"VariableDeclaration","scope":79784,"src":"1109:23:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79778,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:125"},"returnParameters":{"id":79783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79782,"mutability":"mutable","name":"success","nameLocation":"1170:7:125","nodeType":"VariableDeclaration","scope":79784,"src":"1165:12:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79781,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:125"},"scope":79792,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79791,"nodeType":"FunctionDefinition","src":"1184:75:125","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:125","parameters":{"id":79789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79786,"mutability":"mutable","name":"owner","nameLocation":"1223:5:125","nodeType":"VariableDeclaration","scope":79791,"src":"1215:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79785,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79788,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:125","nodeType":"VariableDeclaration","scope":79791,"src":"1230:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79787,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:125"},"returnParameters":{"id":79790,"nodeType":"ParameterList","parameters":[],"src":"1258:0:125"},"scope":79792,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79792],"name":"ISafe","nameLocation":"78:5:125","scope":79809,"usedErrors":[]},{"id":79804,"nodeType":"ContractDefinition","src":"1263:179:125","nodes":[{"id":79803,"nodeType":"FunctionDefinition","src":"1296:144:125","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:125","parameters":{"id":79799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79794,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:125","nodeType":"VariableDeclaration","scope":79803,"src":"1326:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79793,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79796,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:125","nodeType":"VariableDeclaration","scope":79803,"src":"1346:24:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79795,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:125","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79798,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:125","nodeType":"VariableDeclaration","scope":79803,"src":"1372:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79797,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:125"},"returnParameters":{"id":79802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79801,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:125","nodeType":"VariableDeclaration","scope":79803,"src":"1425:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79800,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:125"},"scope":79804,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[79804],"name":"SafeProxyFactory","nameLocation":"1273:16:125","scope":79809,"usedErrors":[]},{"id":79808,"nodeType":"ContractDefinition","src":"1444:88:125","nodes":[{"id":79807,"nodeType":"EnumDefinition","src":"1473:57:125","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":79805,"name":"Call","nameLocation":"1498:4:125","nodeType":"EnumValue","src":"1498:4:125"},{"id":79806,"name":"DelegateCall","nameLocation":"1512:12:125","nodeType":"EnumValue","src":"1512:12:125"}],"name":"Operation","nameLocation":"1478:9:125"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[79808],"name":"Enum","nameLocation":"1462:4:125","scope":79809,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":125}
\ No newline at end of file
diff --git a/pkg/contracts/out/MockERC20.sol/MockERC20.json b/pkg/contracts/out/MockERC20.sol/MockERC20.json
index 649ea7a0d..c928e7f12 100644
--- a/pkg/contracts/out/MockERC20.sol/MockERC20.json
+++ b/pkg/contracts/out/MockERC20.sol/MockERC20.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657610d89908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461098457508163095ea7b3146109255781631624f6c61461062a57816318160ddd1461060b57816323b872dd1461053a578163313ce567146105185781633644e515146104f457816370a08231146104be5781637ecebe001461048657816395d89b41146103c8578163a9059cbb14610347578163d505accf146100ff575063dd62ed3e146100b457600080fd5b346100fb57806003193601126100fb57806020926100d06109f9565b6100d8610a14565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b9050346103435760e03660031901126103435761011a6109f9565b610122610a14565b9260443590606435936084359360ff851680950361033f5742861061030257610149610b95565b9660018060a01b0380921696878a5260209660088852858b20998a549a6000198c146102ef5760018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830160018060401b0394848210868311176102dc578189528451902061010085019261190160f01b845261010286015261012285015260428152610160840194818610908611176102c957848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156102bf5787511690811515806102b6575b156102825750865260058352808620858752835280862082905551908152600080516020610d348339815191529190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5085821461024f565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b634e487b7160e01b8d526011875260248dfd5b506020606492519162461bcd60e51b8352820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152fd5b8780fd5b8280fd5b905034610343578160031936011261034357916020926103656109f9565b90836024359233855282875261037e8483872054610cbb565b3386528388528286205560018060a01b0316938481526103a18483832054610c51565b92858252875220558251908152600080516020610d14833981519152843392a35160018152f35b5050346100fb57816003193601126100fb578051908260018054906103ec82610ab9565b8086529181811690811561045e5750600114610423575b5050506104158261041f940383610a2a565b51918291826109b0565b0390f35b80955082526020948583205b82841061044b575050508261041f946104159282010194610403565b805486850188015292860192810161042f565b61041f97506104159450602092508693915060ff191682840152151560051b82010194610403565b5050346100fb5760203660031901126100fb5760209181906001600160a01b036104ae6109f9565b1681526008845220549051908152f35b9050346103435760203660031901126103435760209282916001600160a01b036104e66109f9565b168252845220549051908152f35b5050346100fb57816003193601126100fb57602090610511610b95565b9051908152f35b5050346100fb57816003193601126100fb5760209060ff600254169051908152f35b828434610608576060366003190112610608576105556109f9565b92600080516020610d1483398151915261056d610a14565b60443560018060a01b038097169384865286602098899460058652828920338a528652828920548560001982036105e5575b50508789528386526105b485848b2054610cbb565b888a52848752838a205516968781526105d08483832054610c51565b92888252855220558551908152a35160018152f35b6105ee91610cbb565b888a5260058752838a20338b528752838a20558b8561059f565b80fd5b5050346100fb57816003193601126100fb576020906003549051908152f35b839150346100fb5760603660031901126100fb576001600160401b039281358481116109215761065d9036908401610a63565b9360243581811161091d576106759036908501610a63565b926044359260ff84168094036109195760ff600954166108e0575085518281116108cd57806106a48754610ab9565b97601f9889811161087f575b5060209089831160011461081c578892610811575b50508160011b916000199060031b1c19161785555b83519182116107fe57506001926106f18454610ab9565b8681116107b9575b50602095821160011461075957948495829394959261074e575b5050600019600383901b1c191690831b1782555b60ff199081600254161760025546600655610740610baf565b600755600954161760095580f35b015190508580610713565b601f1982169584865280862091865b8881106107a35750838697989695961061078a575b505050811b018255610727565b015160001960f88460031b161c1916905585808061077d565b8183015184559286019260209283019201610768565b848652602086208780850160051c820192602086106107f5575b0160051c019085905b8281106107ea5750506106f9565b8781550185906107dc565b925081926107d3565b634e487b7160e01b855260419052602484fd5b0151905088806106c5565b8880528189209250601f198416895b818110610867575090846001959493921061084e575b505050811b0185556106da565b015160001960f88460031b161c19169055888080610841565b9293602060018192878601518155019501930161082b565b909150878052602088208980850160051c820192602086106108c4575b9085949392910160051c01905b8181106108b657506106b0565b8981558493506001016108a9565b9250819261089c565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b835282015260136024820152721053149150511657d253925512505312569151606a1b6044820152fd5b8580fd5b8480fd5b8380fd5b5050346100fb57806003193601126100fb57602091816109436109f9565b91602435918291338152600587528181209460018060a01b031694858252875220558251908152600080516020610d34833981519152843392a35160018152f35b8490843461034357826003193601126103435761041f9250610415826109a981610af3565b0383610a2a565b6020808252825181830181905290939260005b8281106109e557505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016109c3565b600435906001600160a01b0382168203610a0f57565b600080fd5b602435906001600160a01b0382168203610a0f57565b601f909101601f19168101906001600160401b03821190821017610a4d57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610a0f578035906001600160401b038211610a4d5760405192610a97601f8401601f191660200185610a2a565b82845260208383010111610a0f57816000926020809301838601378301015290565b90600182811c92168015610ae9575b6020831014610ad357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ac8565b9060009160005490610b0482610ab9565b908181526001928381169081600014610b7a5750600114610b2457505050565b600080805293945060209392909190847f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838610610b665750505050010190565b805485870183015294019385908201610b56565b91935050602093945060ff191683830152151560051b010190565b6006544603610ba45760075490565b610bac610baf565b90565b604051610bc681610bbf81610af3565b0382610a2a565b6020815191012060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610a4d5760405251902090565b90810190818111610ca5578110610c655790565b60405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90808210610ccf578103908111610ca55790565b60405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b6044820152606490fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066735822122073c4f39bc318a601a2d90f13751c983119ccb9fc855945c0a9b2570b341504f764736f6c63430008130033","sourceMap":"369:7950:42:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461098457508163095ea7b3146109255781631624f6c61461062a57816318160ddd1461060b57816323b872dd1461053a578163313ce567146105185781633644e515146104f457816370a08231146104be5781637ecebe001461048657816395d89b41146103c8578163a9059cbb14610347578163d505accf146100ff575063dd62ed3e146100b457600080fd5b346100fb57806003193601126100fb57806020926100d06109f9565b6100d8610a14565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b9050346103435760e03660031901126103435761011a6109f9565b610122610a14565b9260443590606435936084359360ff851680950361033f5742861061030257610149610b95565b9660018060a01b0380921696878a5260209660088852858b20998a549a6000198c146102ef5760018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830160018060401b0394848210868311176102dc578189528451902061010085019261190160f01b845261010286015261012285015260428152610160840194818610908611176102c957848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156102bf5787511690811515806102b6575b156102825750865260058352808620858752835280862082905551908152600080516020610d348339815191529190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5085821461024f565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b634e487b7160e01b8d526011875260248dfd5b506020606492519162461bcd60e51b8352820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152fd5b8780fd5b8280fd5b905034610343578160031936011261034357916020926103656109f9565b90836024359233855282875261037e8483872054610cbb565b3386528388528286205560018060a01b0316938481526103a18483832054610c51565b92858252875220558251908152600080516020610d14833981519152843392a35160018152f35b5050346100fb57816003193601126100fb578051908260018054906103ec82610ab9565b8086529181811690811561045e5750600114610423575b5050506104158261041f940383610a2a565b51918291826109b0565b0390f35b80955082526020948583205b82841061044b575050508261041f946104159282010194610403565b805486850188015292860192810161042f565b61041f97506104159450602092508693915060ff191682840152151560051b82010194610403565b5050346100fb5760203660031901126100fb5760209181906001600160a01b036104ae6109f9565b1681526008845220549051908152f35b9050346103435760203660031901126103435760209282916001600160a01b036104e66109f9565b168252845220549051908152f35b5050346100fb57816003193601126100fb57602090610511610b95565b9051908152f35b5050346100fb57816003193601126100fb5760209060ff600254169051908152f35b828434610608576060366003190112610608576105556109f9565b92600080516020610d1483398151915261056d610a14565b60443560018060a01b038097169384865286602098899460058652828920338a528652828920548560001982036105e5575b50508789528386526105b485848b2054610cbb565b888a52848752838a205516968781526105d08483832054610c51565b92888252855220558551908152a35160018152f35b6105ee91610cbb565b888a5260058752838a20338b528752838a20558b8561059f565b80fd5b5050346100fb57816003193601126100fb576020906003549051908152f35b839150346100fb5760603660031901126100fb576001600160401b039281358481116109215761065d9036908401610a63565b9360243581811161091d576106759036908501610a63565b926044359260ff84168094036109195760ff600954166108e0575085518281116108cd57806106a48754610ab9565b97601f9889811161087f575b5060209089831160011461081c578892610811575b50508160011b916000199060031b1c19161785555b83519182116107fe57506001926106f18454610ab9565b8681116107b9575b50602095821160011461075957948495829394959261074e575b5050600019600383901b1c191690831b1782555b60ff199081600254161760025546600655610740610baf565b600755600954161760095580f35b015190508580610713565b601f1982169584865280862091865b8881106107a35750838697989695961061078a575b505050811b018255610727565b015160001960f88460031b161c1916905585808061077d565b8183015184559286019260209283019201610768565b848652602086208780850160051c820192602086106107f5575b0160051c019085905b8281106107ea5750506106f9565b8781550185906107dc565b925081926107d3565b634e487b7160e01b855260419052602484fd5b0151905088806106c5565b8880528189209250601f198416895b818110610867575090846001959493921061084e575b505050811b0185556106da565b015160001960f88460031b161c19169055888080610841565b9293602060018192878601518155019501930161082b565b909150878052602088208980850160051c820192602086106108c4575b9085949392910160051c01905b8181106108b657506106b0565b8981558493506001016108a9565b9250819261089c565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b835282015260136024820152721053149150511657d253925512505312569151606a1b6044820152fd5b8580fd5b8480fd5b8380fd5b5050346100fb57806003193601126100fb57602091816109436109f9565b91602435918291338152600587528181209460018060a01b031694858252875220558251908152600080516020610d34833981519152843392a35160018152f35b8490843461034357826003193601126103435761041f9250610415826109a981610af3565b0383610a2a565b6020808252825181830181905290939260005b8281106109e557505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016109c3565b600435906001600160a01b0382168203610a0f57565b600080fd5b602435906001600160a01b0382168203610a0f57565b601f909101601f19168101906001600160401b03821190821017610a4d57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610a0f578035906001600160401b038211610a4d5760405192610a97601f8401601f191660200185610a2a565b82845260208383010111610a0f57816000926020809301838601378301015290565b90600182811c92168015610ae9575b6020831014610ad357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ac8565b9060009160005490610b0482610ab9565b908181526001928381169081600014610b7a5750600114610b2457505050565b600080805293945060209392909190847f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838610610b665750505050010190565b805485870183015294019385908201610b56565b91935050602093945060ff191683830152151560051b010190565b6006544603610ba45760075490565b610bac610baf565b90565b604051610bc681610bbf81610af3565b0382610a2a565b6020815191012060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610a4d5760405251902090565b90810190818111610ca5578110610c655790565b60405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90808210610ccf578103908111610ca55790565b60405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b6044820152606490fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066735822122073c4f39bc318a601a2d90f13751c983119ccb9fc855945c0a9b2570b341504f764736f6c63430008130033","sourceMap":"369:7950:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;369:7950:42;;;;;1659:10;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4416:15;4404:27;;369:7950;;4617:18;;:::i;:::-;369:7950;;;;;;;;;;;;;;;5026:6;369:7950;;;;;;;;;;;;;;;;;;;;;;4692:413;;;;;369:7950;4732:157;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:413;;369:7950;;;;;;;;;;;;;;;;;;;;;;;4657:470;;4547:598;;;369:7950;;;;;;;;;;;;;;;4547:598;;369:7950;;;;;;;;;;;;;;;;;4520:639;;369:7950;;;;;;;;;;;;;;;;;;;4497:717;;;369:7950;;;;;;;4497:717;;;;;;;369:7950;5233:30;;;;:59;;;369:7950;;;;-1:-1:-1;369:7950:42;;5322:10;369:7950;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5383:31:42;369:7950;5383:31;369:7950;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;5233:59;5267:25;;;;5233:59;;4497:717;369:7950;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3420:10;;369:7950;;;;;3404:36;369:7950;;;;;3404:36;:::i;:::-;3420:10;369:7950;;;;;;;;;;;;;;;;;;;3467:28;369:7950;;;;;3467:28;:::i;:::-;369:7950;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3420:10:42;;3511:32;;369:7950;;;;;;;;;;;;;;;;;;;;;;;857:7;369:7950;;;;;;:::i;:::-;;;;;;;;;857:7;;;;369:7950;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;;;;-1:-1:-1;;;;;369:7950:42;;:::i;:::-;;;;1970:41;369:7950;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;;;;-1:-1:-1;;;;;369:7950:42;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;953:9;369:7950;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;;:::i;:::-;;-1:-1:-1;;;;;;;;;;;369:7950:42;;:::i;:::-;;;;;;;;;;;;;;;;;;;;3709:10;369:7950;;;;;3726:10;369:7950;;;;;;;;;;;3788:22;;3784:80;;369:7950;;;;;;;;;3894:30;369:7950;;;;;3894:30;:::i;:::-;369:7950;;;;;;;;;;;;;;;3951:28;369:7950;;;;;3951:28;:::i;:::-;369:7950;;;;;;;;;;;;;3995:26;369:7950;;;;;3784:80;3843:21;;;:::i;:::-;369:7950;;;3709:10;369:7950;;;;;3726:10;369:7950;;;;;;;;3784:80;;;;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;-1:-1:-1;;;;;369:7950:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;2611:11;369:7950;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;369:7950:42;;;;;;;;;;;;;;;;;;2707:21;369:7950;;;2707:21;369:7950;7884:53;2739:33;369:7950;2809:24;;:::i;:::-;2782:51;369:7950;2611:11;369:7950;;;2611:11;369:7950;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3167:10;;;;369:7950;;3156:10;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3167:10:42;;3212:37;;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;369:7950:42;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;369:7950:42;;;;;;:::o;:::-;;;;;-1:-1:-1;;369:7950:42;;;;-1:-1:-1;;;;;369:7950:42;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;369:7950:42;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5427:178::-;5528:16;369:7950;7884:53;5510:34;:88;;5547:24;369:7950;5427:178;:::o;5510:88::-;5574:24;;:::i;:::-;5427:178;:::o;5611:404::-;369:7950;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;5866:23;369:7950;;;5725:273;;369:7950;5753:95;369:7950;;;;;;5907:14;369:7950;;;;7884:53;369:7950;;;;5979:4;369:7950;;;;;5725:273;;369:7950;;;;;;;;;;;;;;;;;;;5702:306;;5611:404;:::o;6859:173::-;;369:7950;;;;;;;;6972:6;;369:7950;;6859:173;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;-1:-1:-1;369:7950:42;7038:154;;7124:6;;;369:7950;;;;;;;;;7038:154;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":38179,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":38181,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":38183,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"},{"astId":38212,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_totalSupply","offset":0,"slot":"3","type":"t_uint256"},{"astId":38216,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_balanceOf","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":38222,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_allowance","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":38263,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_CHAIN_ID","offset":0,"slot":"6","type":"t_uint256"},{"astId":38265,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_DOMAIN_SEPARATOR","offset":0,"slot":"7","type":"t_bytes32"},{"astId":38269,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"nonces","offset":0,"slot":"8","type":"t_mapping(t_address,t_uint256)"},{"astId":38272,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"initialized","offset":0,"slot":"9","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC20.sol","id":38748,"exportedSymbols":{"IERC20":[37823],"MockERC20":[38747]},"nodeType":"SourceUnit","src":"32:8288:42","nodes":[{"id":38172,"nodeType":"PragmaDirective","src":"32:31:42","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":38174,"nodeType":"ImportDirective","src":"65:48:42","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","nameLocation":"-1:-1:-1","scope":38748,"sourceUnit":37824,"symbolAliases":[{"foreign":{"id":38173,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37823,"src":"73:6:42","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":38747,"nodeType":"ContractDefinition","src":"369:7950:42","nodes":[{"id":38179,"nodeType":"VariableDeclaration","src":"588:21:42","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"604:5:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38178,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38181,"nodeType":"VariableDeclaration","src":"616:23:42","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"632:7:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38180,"name":"string","nodeType":"ElementaryTypeName","src":"616:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38183,"nodeType":"VariableDeclaration","src":"646:24:42","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"661:9:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38182,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":38192,"nodeType":"FunctionDefinition","src":"677:92:42","nodes":[],"body":{"id":38191,"nodeType":"Block","src":"740:29:42","nodes":[],"statements":[{"expression":{"id":38189,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38179,"src":"757:5:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38188,"id":38190,"nodeType":"Return","src":"750:12:42"}]},"baseFunctions":[37810],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"686:4:42","overrides":{"id":38185,"nodeType":"OverrideSpecifier","overrides":[],"src":"707:8:42"},"parameters":{"id":38184,"nodeType":"ParameterList","parameters":[],"src":"690:2:42"},"returnParameters":{"id":38188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38192,"src":"725:13:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38186,"name":"string","nodeType":"ElementaryTypeName","src":"725:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"724:15:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38201,"nodeType":"FunctionDefinition","src":"775:96:42","nodes":[],"body":{"id":38200,"nodeType":"Block","src":"840:31:42","nodes":[],"statements":[{"expression":{"id":38198,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38181,"src":"857:7:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38197,"id":38199,"nodeType":"Return","src":"850:14:42"}]},"baseFunctions":[37816],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"784:6:42","overrides":{"id":38194,"nodeType":"OverrideSpecifier","overrides":[],"src":"807:8:42"},"parameters":{"id":38193,"nodeType":"ParameterList","parameters":[],"src":"790:2:42"},"returnParameters":{"id":38197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38201,"src":"825:13:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38195,"name":"string","nodeType":"ElementaryTypeName","src":"825:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"824:15:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38210,"nodeType":"FunctionDefinition","src":"877:92:42","nodes":[],"body":{"id":38209,"nodeType":"Block","src":"936:33:42","nodes":[],"statements":[{"expression":{"id":38207,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38183,"src":"953:9:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":38206,"id":38208,"nodeType":"Return","src":"946:16:42"}]},"baseFunctions":[37822],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"886:8:42","overrides":{"id":38203,"nodeType":"OverrideSpecifier","overrides":[],"src":"911:8:42"},"parameters":{"id":38202,"nodeType":"ParameterList","parameters":[],"src":"894:2:42"},"returnParameters":{"id":38206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38205,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38210,"src":"929:5:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38204,"name":"uint8","nodeType":"ElementaryTypeName","src":"929:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"928:7:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38212,"nodeType":"VariableDeclaration","src":"1158:29:42","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1175:12:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38211,"name":"uint256","nodeType":"ElementaryTypeName","src":"1158:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38216,"nodeType":"VariableDeclaration","src":"1194:47:42","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1231:10:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38215,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38213,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1194:27:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38214,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":38222,"nodeType":"VariableDeclaration","src":"1248:67:42","nodes":[],"constant":false,"mutability":"mutable","name":"_allowance","nameLocation":"1305:10:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":38221,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38217,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1248:47:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38220,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38218,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1267:27:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38219,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":38231,"nodeType":"FunctionDefinition","src":"1322:100:42","nodes":[],"body":{"id":38230,"nodeType":"Block","src":"1386:36:42","nodes":[],"statements":[{"expression":{"id":38228,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"1403:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38227,"id":38229,"nodeType":"Return","src":"1396:19:42"}]},"baseFunctions":[37754],"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1331:11:42","overrides":{"id":38224,"nodeType":"OverrideSpecifier","overrides":[],"src":"1359:8:42"},"parameters":{"id":38223,"nodeType":"ParameterList","parameters":[],"src":"1342:2:42"},"returnParameters":{"id":38227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38231,"src":"1377:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38225,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1376:9:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38244,"nodeType":"FunctionDefinition","src":"1428:116:42","nodes":[],"body":{"id":38243,"nodeType":"Block","src":"1503:41:42","nodes":[],"statements":[{"expression":{"baseExpression":{"id":38239,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"1520:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38241,"indexExpression":{"id":38240,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38233,"src":"1531:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:17:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38238,"id":38242,"nodeType":"Return","src":"1513:24:42"}]},"baseFunctions":[37762],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1437:9:42","overrides":{"id":38235,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:42"},"parameters":{"id":38234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38233,"mutability":"mutable","name":"owner","nameLocation":"1455:5:42","nodeType":"VariableDeclaration","scope":38244,"src":"1447:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38232,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:15:42"},"returnParameters":{"id":38238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38244,"src":"1494:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38236,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38261,"nodeType":"FunctionDefinition","src":"1550:142:42","nodes":[],"body":{"id":38260,"nodeType":"Block","src":"1642:50:42","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":38254,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"1659:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38256,"indexExpression":{"id":38255,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38246,"src":"1670:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:17:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38258,"indexExpression":{"id":38257,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38248,"src":"1677:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:26:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38253,"id":38259,"nodeType":"Return","src":"1652:33:42"}]},"baseFunctions":[37782],"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1559:9:42","overrides":{"id":38250,"nodeType":"OverrideSpecifier","overrides":[],"src":"1615:8:42"},"parameters":{"id":38249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38246,"mutability":"mutable","name":"owner","nameLocation":"1577:5:42","nodeType":"VariableDeclaration","scope":38261,"src":"1569:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38245,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38248,"mutability":"mutable","name":"spender","nameLocation":"1592:7:42","nodeType":"VariableDeclaration","scope":38261,"src":"1584:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38247,"name":"address","nodeType":"ElementaryTypeName","src":"1584:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1568:32:42"},"returnParameters":{"id":38253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38252,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38261,"src":"1633:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38251,"name":"uint256","nodeType":"ElementaryTypeName","src":"1633:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1632:9:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38263,"nodeType":"VariableDeclaration","src":"1882:33:42","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_CHAIN_ID","nameLocation":"1899:16:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38262,"name":"uint256","nodeType":"ElementaryTypeName","src":"1882:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38265,"nodeType":"VariableDeclaration","src":"1922:41:42","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1939:24:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1922:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":38269,"nodeType":"VariableDeclaration","src":"1970:41:42","nodes":[],"constant":false,"functionSelector":"7ecebe00","mutability":"mutable","name":"nonces","nameLocation":"2005:6:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38268,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38266,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38267,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":38272,"nodeType":"VariableDeclaration","src":"2271:24:42","nodes":[],"constant":false,"documentation":{"id":38270,"nodeType":"StructuredDocumentation","src":"2199:67:42","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2284:11:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38271,"name":"bool","nodeType":"ElementaryTypeName","src":"2271:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":38315,"nodeType":"FunctionDefinition","src":"2504:365:42","nodes":[],"body":{"id":38314,"nodeType":"Block","src":"2592:277:42","nodes":[],"statements":[{"expression":{"arguments":[{"id":38284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2610:12:42","subExpression":{"id":38283,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38272,"src":"2611:11:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":38285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2624:21:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":38282,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2602:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38287,"nodeType":"ExpressionStatement","src":"2602:44:42"},{"expression":{"id":38290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38288,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38179,"src":"2657:5:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38289,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38275,"src":"2665:5:42","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2657:13:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38291,"nodeType":"ExpressionStatement","src":"2657:13:42"},{"expression":{"id":38294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38292,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38181,"src":"2680:7:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38293,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38277,"src":"2690:7:42","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2680:17:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38295,"nodeType":"ExpressionStatement","src":"2680:17:42"},{"expression":{"id":38298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38296,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38183,"src":"2707:9:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38297,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38279,"src":"2719:9:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2707:21:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":38299,"nodeType":"ExpressionStatement","src":"2707:21:42"},{"expression":{"id":38303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38300,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38263,"src":"2739:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38301,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38746,"src":"2758:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2758:14:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2739:33:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38304,"nodeType":"ExpressionStatement","src":"2739:33:42"},{"expression":{"id":38308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38305,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"2782:24:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38306,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38591,"src":"2809:22:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:24:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2782:51:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38309,"nodeType":"ExpressionStatement","src":"2782:51:42"},{"expression":{"id":38312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38310,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38272,"src":"2844:11:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":38311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2858:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2844:18:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38313,"nodeType":"ExpressionStatement","src":"2844:18:42"}]},"documentation":{"id":38273,"nodeType":"StructuredDocumentation","src":"2302:197:42","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"1624f6c6","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2513:10:42","parameters":{"id":38280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38275,"mutability":"mutable","name":"name_","nameLocation":"2538:5:42","nodeType":"VariableDeclaration","scope":38315,"src":"2524:19:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38274,"name":"string","nodeType":"ElementaryTypeName","src":"2524:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38277,"mutability":"mutable","name":"symbol_","nameLocation":"2559:7:42","nodeType":"VariableDeclaration","scope":38315,"src":"2545:21:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38276,"name":"string","nodeType":"ElementaryTypeName","src":"2545:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38279,"mutability":"mutable","name":"decimals_","nameLocation":"2574:9:42","nodeType":"VariableDeclaration","scope":38315,"src":"2568:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38278,"name":"uint8","nodeType":"ElementaryTypeName","src":"2568:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2523:61:42"},"returnParameters":{"id":38281,"nodeType":"ParameterList","parameters":[],"src":"2592:0:42"},"scope":38747,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":38344,"nodeType":"FunctionDefinition","src":"3057:221:42","nodes":[],"body":{"id":38343,"nodeType":"Block","src":"3146:132:42","nodes":[],"statements":[{"expression":{"id":38332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38325,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"3156:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38329,"indexExpression":{"expression":{"id":38326,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3167:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3167:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3156:22:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38330,"indexExpression":{"id":38328,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38317,"src":"3179:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3156:31:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38331,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38319,"src":"3190:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3156:40:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38333,"nodeType":"ExpressionStatement","src":"3156:40:42"},{"eventCall":{"arguments":[{"expression":{"id":38335,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3221:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3225:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3221:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38337,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38317,"src":"3233:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38338,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38319,"src":"3242:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38334,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37748,"src":"3212:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:37:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38340,"nodeType":"EmitStatement","src":"3207:42:42"},{"expression":{"hexValue":"74727565","id":38341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3267:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38324,"id":38342,"nodeType":"Return","src":"3260:11:42"}]},"baseFunctions":[37792],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3066:7:42","overrides":{"id":38321,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:42"},"parameters":{"id":38320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38317,"mutability":"mutable","name":"spender","nameLocation":"3082:7:42","nodeType":"VariableDeclaration","scope":38344,"src":"3074:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38316,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38319,"mutability":"mutable","name":"amount","nameLocation":"3099:6:42","nodeType":"VariableDeclaration","scope":38344,"src":"3091:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38318,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3073:33:42"},"returnParameters":{"id":38324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38344,"src":"3140:4:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38322,"name":"bool","nodeType":"ElementaryTypeName","src":"3140:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3139:6:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38388,"nodeType":"FunctionDefinition","src":"3284:288:42","nodes":[],"body":{"id":38387,"nodeType":"Block","src":"3369:203:42","nodes":[],"statements":[{"expression":{"id":38365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38354,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3379:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38357,"indexExpression":{"expression":{"id":38355,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3390:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3390:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3379:22:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38359,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3409:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38362,"indexExpression":{"expression":{"id":38360,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3420:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3420:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3409:22:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38363,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3433:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38358,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"3404:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:36:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:61:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38366,"nodeType":"ExpressionStatement","src":"3379:61:42"},{"expression":{"id":38376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38367,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3450:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38369,"indexExpression":{"id":38368,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38346,"src":"3461:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3450:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38371,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3472:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38373,"indexExpression":{"id":38372,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38346,"src":"3483:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3472:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38374,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3488:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38370,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38686,"src":"3467:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3467:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3450:45:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38377,"nodeType":"ExpressionStatement","src":"3450:45:42"},{"eventCall":{"arguments":[{"expression":{"id":38379,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3520:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3524:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3520:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38381,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38346,"src":"3532:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38382,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3536:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38378,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37739,"src":"3511:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:32:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38384,"nodeType":"EmitStatement","src":"3506:37:42"},{"expression":{"hexValue":"74727565","id":38385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3561:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38353,"id":38386,"nodeType":"Return","src":"3554:11:42"}]},"baseFunctions":[37772],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3293:8:42","overrides":{"id":38350,"nodeType":"OverrideSpecifier","overrides":[],"src":"3345:8:42"},"parameters":{"id":38349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38346,"mutability":"mutable","name":"to","nameLocation":"3310:2:42","nodeType":"VariableDeclaration","scope":38388,"src":"3302:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38345,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38348,"mutability":"mutable","name":"amount","nameLocation":"3322:6:42","nodeType":"VariableDeclaration","scope":38388,"src":"3314:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38347,"name":"uint256","nodeType":"ElementaryTypeName","src":"3314:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3301:28:42"},"returnParameters":{"id":38353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38352,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38388,"src":"3363:4:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38351,"name":"bool","nodeType":"ElementaryTypeName","src":"3363:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3362:6:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38460,"nodeType":"FunctionDefinition","src":"3578:472:42","nodes":[],"body":{"id":38459,"nodeType":"Block","src":"3681:369:42","nodes":[],"statements":[{"assignments":[38401],"declarations":[{"constant":false,"id":38401,"mutability":"mutable","name":"allowed","nameLocation":"3699:7:42","nodeType":"VariableDeclaration","scope":38459,"src":"3691:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38400,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38408,"initialValue":{"baseExpression":{"baseExpression":{"id":38402,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"3709:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38404,"indexExpression":{"id":38403,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"3720:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:16:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38407,"indexExpression":{"expression":{"id":38405,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3726:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3730:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3726:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:28:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3691:46:42"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38409,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38401,"src":"3788:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":38414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3799:11:42","subExpression":{"arguments":[{"hexValue":"30","id":38412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3800:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":38410,"name":"uint256","nodeType":"ElementaryTypeName","src":"3800:7:42","typeDescriptions":{}}},"id":38413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3788:22:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38428,"nodeType":"IfStatement","src":"3784:80:42","trueBody":{"expression":{"id":38426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38416,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"3812:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38420,"indexExpression":{"id":38417,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"3823:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3812:16:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38421,"indexExpression":{"expression":{"id":38418,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3829:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3829:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3812:28:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38423,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38401,"src":"3848:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38424,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38394,"src":"3857:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38422,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"3843:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:21:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3812:52:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38427,"nodeType":"ExpressionStatement","src":"3812:52:42"}},{"expression":{"id":38438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38429,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3875:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38431,"indexExpression":{"id":38430,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"3886:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3875:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38433,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3899:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38435,"indexExpression":{"id":38434,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"3910:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3899:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38436,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38394,"src":"3917:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38432,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"3894:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:30:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3875:49:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38439,"nodeType":"ExpressionStatement","src":"3875:49:42"},{"expression":{"id":38449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38440,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3934:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38442,"indexExpression":{"id":38441,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38392,"src":"3945:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3934:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38444,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3956:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38446,"indexExpression":{"id":38445,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38392,"src":"3967:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3956:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38447,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38394,"src":"3972:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38443,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38686,"src":"3951:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:45:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38450,"nodeType":"ExpressionStatement","src":"3934:45:42"},{"eventCall":{"arguments":[{"id":38452,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"4004:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38453,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38392,"src":"4010:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38454,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38394,"src":"4014:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38451,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37739,"src":"3995:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:26:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38456,"nodeType":"EmitStatement","src":"3990:31:42"},{"expression":{"hexValue":"74727565","id":38457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4039:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38399,"id":38458,"nodeType":"Return","src":"4032:11:42"}]},"baseFunctions":[37804],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3587:12:42","overrides":{"id":38396,"nodeType":"OverrideSpecifier","overrides":[],"src":"3657:8:42"},"parameters":{"id":38395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38390,"mutability":"mutable","name":"from","nameLocation":"3608:4:42","nodeType":"VariableDeclaration","scope":38460,"src":"3600:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38389,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38392,"mutability":"mutable","name":"to","nameLocation":"3622:2:42","nodeType":"VariableDeclaration","scope":38460,"src":"3614:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38391,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38394,"mutability":"mutable","name":"amount","nameLocation":"3634:6:42","nodeType":"VariableDeclaration","scope":38460,"src":"3626:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38393,"name":"uint256","nodeType":"ElementaryTypeName","src":"3626:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:42:42"},"returnParameters":{"id":38399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38460,"src":"3675:4:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38397,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3674:6:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38546,"nodeType":"FunctionDefinition","src":"4239:1182:42","nodes":[],"body":{"id":38545,"nodeType":"Block","src":"4386:1035:42","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38478,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38468,"src":"4404:8:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":38479,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4416:5:42","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":38480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:9:42","memberName":"timestamp","nodeType":"MemberAccess","src":"4416:15:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4404:27:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":38482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4433:25:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":38477,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4396:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:63:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38484,"nodeType":"ExpressionStatement","src":"4396:63:42"},{"assignments":[38486],"declarations":[{"constant":false,"id":38486,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4478:16:42","nodeType":"VariableDeclaration","scope":38545,"src":"4470:24:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38485,"name":"address","nodeType":"ElementaryTypeName","src":"4470:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":38516,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":38491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4585:10:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":38492,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38561,"src":"4617:16:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:18:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":38498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:84:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":38497,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4732:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:157:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38500,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38462,"src":"4919:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38501,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38464,"src":"4954:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38502,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38466,"src":"4991:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5026:15:42","subExpression":{"baseExpression":{"id":38503,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38269,"src":"5026:6:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38505,"indexExpression":{"id":38504,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38462,"src":"5033:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5026:13:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38507,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38468,"src":"5071:8:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":38495,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4692:3:42","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4696:6:42","memberName":"encode","nodeType":"MemberAccess","src":"4692:10:42","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4692:413:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38494,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4657:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:470:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":38489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4547:3:42","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:12:42","memberName":"encodePacked","nodeType":"MemberAccess","src":"4547:16:42","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:598:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38488,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4520:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:639:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38512,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38470,"src":"5173:1:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":38513,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38472,"src":"5188:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38514,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38474,"src":"5203:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":38487,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4497:9:42","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":38515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:717:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4470:744:42"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38518,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38486,"src":"5233:16:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5253:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38519,"name":"address","nodeType":"ElementaryTypeName","src":"5253:7:42","typeDescriptions":{}}},"id":38522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5233:30:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38524,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38486,"src":"5267:16:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38525,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38462,"src":"5287:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5267:25:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5233:59:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":38528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:16:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":38517,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5225:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:86:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38530,"nodeType":"ExpressionStatement","src":"5225:86:42"},{"expression":{"id":38537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38531,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"5322:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38534,"indexExpression":{"id":38532,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38486,"src":"5333:16:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5322:28:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38535,"indexExpression":{"id":38533,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38464,"src":"5351:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5322:37:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38536,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38466,"src":"5362:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:45:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38538,"nodeType":"ExpressionStatement","src":"5322:45:42"},{"eventCall":{"arguments":[{"id":38540,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38462,"src":"5392:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38541,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38464,"src":"5399:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38542,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38466,"src":"5408:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38539,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37748,"src":"5383:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:31:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38544,"nodeType":"EmitStatement","src":"5378:36:42"}]},"functionSelector":"d505accf","implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4248:6:42","parameters":{"id":38475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38462,"mutability":"mutable","name":"owner","nameLocation":"4263:5:42","nodeType":"VariableDeclaration","scope":38546,"src":"4255:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38461,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38464,"mutability":"mutable","name":"spender","nameLocation":"4278:7:42","nodeType":"VariableDeclaration","scope":38546,"src":"4270:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38463,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38466,"mutability":"mutable","name":"value","nameLocation":"4295:5:42","nodeType":"VariableDeclaration","scope":38546,"src":"4287:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38465,"name":"uint256","nodeType":"ElementaryTypeName","src":"4287:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38468,"mutability":"mutable","name":"deadline","nameLocation":"4310:8:42","nodeType":"VariableDeclaration","scope":38546,"src":"4302:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38467,"name":"uint256","nodeType":"ElementaryTypeName","src":"4302:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38470,"mutability":"mutable","name":"v","nameLocation":"4326:1:42","nodeType":"VariableDeclaration","scope":38546,"src":"4320:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38469,"name":"uint8","nodeType":"ElementaryTypeName","src":"4320:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":38472,"mutability":"mutable","name":"r","nameLocation":"4337:1:42","nodeType":"VariableDeclaration","scope":38546,"src":"4329:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4329:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38474,"mutability":"mutable","name":"s","nameLocation":"4348:1:42","nodeType":"VariableDeclaration","scope":38546,"src":"4340:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4340:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4254:96:42"},"returnParameters":{"id":38476,"nodeType":"ParameterList","parameters":[],"src":"4386:0:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38561,"nodeType":"FunctionDefinition","src":"5427:178:42","nodes":[],"body":{"id":38560,"nodeType":"Block","src":"5493:112:42","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38551,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38746,"src":"5510:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:14:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38553,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38263,"src":"5528:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5510:34:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38556,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38591,"src":"5574:22:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:24:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5510:88:42","trueExpression":{"id":38555,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"5547:24:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38550,"id":38559,"nodeType":"Return","src":"5503:95:42"}]},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5436:16:42","parameters":{"id":38547,"nodeType":"ParameterList","parameters":[],"src":"5452:2:42"},"returnParameters":{"id":38550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38561,"src":"5484:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5483:9:42"},"scope":38747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":38591,"nodeType":"FunctionDefinition","src":"5611:404:42","nodes":[],"body":{"id":38590,"nodeType":"Block","src":"5685:330:42","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":38570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:84:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":38569,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5753:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:95:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":38575,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38179,"src":"5882:5:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":38574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5876:5:42","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":38573,"name":"bytes","nodeType":"ElementaryTypeName","src":"5876:5:42","typeDescriptions":{}}},"id":38576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:12:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":38572,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5866:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:23:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":38579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5917:3:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":38578,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5907:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:14:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":38581,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38746,"src":"5939:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:14:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":38585,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5979:4:42","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38747","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38747","typeString":"contract MockERC20"}],"id":38584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5971:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38583,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:42","typeDescriptions":{}}},"id":38586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5971:13:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":38567,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5725:3:42","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5729:6:42","memberName":"encode","nodeType":"MemberAccess","src":"5725:10:42","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:273:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38566,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5702:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:306:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38565,"id":38589,"nodeType":"Return","src":"5695:313:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5620:22:42","parameters":{"id":38562,"nodeType":"ParameterList","parameters":[],"src":"5642:2:42"},"returnParameters":{"id":38565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38591,"src":"5676:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5676:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5675:9:42"},"scope":38747,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":38626,"nodeType":"FunctionDefinition","src":"6209:221:42","nodes":[],"body":{"id":38625,"nodeType":"Block","src":"6269:161:42","nodes":[],"statements":[{"expression":{"id":38603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38598,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"6279:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38600,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"6299:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38601,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38595,"src":"6313:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38599,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38686,"src":"6294:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6294:26:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6279:41:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38604,"nodeType":"ExpressionStatement","src":"6279:41:42"},{"expression":{"id":38614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38605,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"6330:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38607,"indexExpression":{"id":38606,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38593,"src":"6341:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38609,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"6352:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38611,"indexExpression":{"id":38610,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38593,"src":"6363:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6352:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38612,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38595,"src":"6368:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38608,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38686,"src":"6347:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:45:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38615,"nodeType":"ExpressionStatement","src":"6330:45:42"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":38619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6408:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6400:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38617,"name":"address","nodeType":"ElementaryTypeName","src":"6400:7:42","typeDescriptions":{}}},"id":38620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38621,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38593,"src":"6412:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38622,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38595,"src":"6416:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38616,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37739,"src":"6391:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6391:32:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38624,"nodeType":"EmitStatement","src":"6386:37:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6218:5:42","parameters":{"id":38596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38593,"mutability":"mutable","name":"to","nameLocation":"6232:2:42","nodeType":"VariableDeclaration","scope":38626,"src":"6224:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38592,"name":"address","nodeType":"ElementaryTypeName","src":"6224:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38595,"mutability":"mutable","name":"amount","nameLocation":"6244:6:42","nodeType":"VariableDeclaration","scope":38626,"src":"6236:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38594,"name":"uint256","nodeType":"ElementaryTypeName","src":"6236:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:28:42"},"returnParameters":{"id":38597,"nodeType":"ParameterList","parameters":[],"src":"6269:0:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38661,"nodeType":"FunctionDefinition","src":"6436:229:42","nodes":[],"body":{"id":38660,"nodeType":"Block","src":"6498:167:42","nodes":[],"statements":[{"expression":{"id":38642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38633,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"6508:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38635,"indexExpression":{"id":38634,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38628,"src":"6519:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6508:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38637,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"6532:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38639,"indexExpression":{"id":38638,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38628,"src":"6543:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6532:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38640,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38630,"src":"6550:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38636,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"6527:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:30:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6508:49:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38643,"nodeType":"ExpressionStatement","src":"6508:49:42"},{"expression":{"id":38649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38644,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"6567:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38646,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"6587:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38647,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38630,"src":"6601:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38645,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"6582:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:26:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6567:41:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38650,"nodeType":"ExpressionStatement","src":"6567:41:42"},{"eventCall":{"arguments":[{"id":38652,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38628,"src":"6633:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":38655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6647:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38653,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:42","typeDescriptions":{}}},"id":38656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38657,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38630,"src":"6651:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38651,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37739,"src":"6624:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:34:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38659,"nodeType":"EmitStatement","src":"6619:39:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6445:5:42","parameters":{"id":38631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38628,"mutability":"mutable","name":"from","nameLocation":"6459:4:42","nodeType":"VariableDeclaration","scope":38661,"src":"6451:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38627,"name":"address","nodeType":"ElementaryTypeName","src":"6451:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38630,"mutability":"mutable","name":"amount","nameLocation":"6473:6:42","nodeType":"VariableDeclaration","scope":38661,"src":"6465:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38629,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6450:30:42"},"returnParameters":{"id":38632,"nodeType":"ParameterList","parameters":[],"src":"6498:0:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38686,"nodeType":"FunctionDefinition","src":"6859:173:42","nodes":[],"body":{"id":38685,"nodeType":"Block","src":"6927:105:42","nodes":[],"statements":[{"assignments":[38671],"declarations":[{"constant":false,"id":38671,"mutability":"mutable","name":"c","nameLocation":"6945:1:42","nodeType":"VariableDeclaration","scope":38685,"src":"6937:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38670,"name":"uint256","nodeType":"ElementaryTypeName","src":"6937:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38675,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38672,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38663,"src":"6949:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":38673,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"6953:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6949:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6937:17:42"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38677,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38671,"src":"6972:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38678,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38663,"src":"6977:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6972:6:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206164646974696f6e206f766572666c6f77","id":38680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6980:26:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""},"value":"ERC20: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""}],"id":38676,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6964:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:43:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38682,"nodeType":"ExpressionStatement","src":"6964:43:42"},{"expression":{"id":38683,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38671,"src":"7024:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38669,"id":38684,"nodeType":"Return","src":"7017:8:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6868:4:42","parameters":{"id":38666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38663,"mutability":"mutable","name":"a","nameLocation":"6881:1:42","nodeType":"VariableDeclaration","scope":38686,"src":"6873:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38662,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38665,"mutability":"mutable","name":"b","nameLocation":"6892:1:42","nodeType":"VariableDeclaration","scope":38686,"src":"6884:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38664,"name":"uint256","nodeType":"ElementaryTypeName","src":"6884:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6872:22:42"},"returnParameters":{"id":38669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38668,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38686,"src":"6918:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38667,"name":"uint256","nodeType":"ElementaryTypeName","src":"6918:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6917:9:42"},"scope":38747,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38707,"nodeType":"FunctionDefinition","src":"7038:154:42","nodes":[],"body":{"id":38706,"nodeType":"Block","src":"7106:86:42","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38696,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38688,"src":"7124:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38697,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38690,"src":"7129:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7124:6:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207375627472616374696f6e20756e646572666c6f77","id":38699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:30:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""},"value":"ERC20: subtraction underflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""}],"id":38695,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7116:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:47:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38701,"nodeType":"ExpressionStatement","src":"7116:47:42"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38702,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38688,"src":"7180:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":38703,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38690,"src":"7184:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7180:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38694,"id":38705,"nodeType":"Return","src":"7173:12:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sub","nameLocation":"7047:4:42","parameters":{"id":38691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38688,"mutability":"mutable","name":"a","nameLocation":"7060:1:42","nodeType":"VariableDeclaration","scope":38707,"src":"7052:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38687,"name":"uint256","nodeType":"ElementaryTypeName","src":"7052:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38690,"mutability":"mutable","name":"b","nameLocation":"7071:1:42","nodeType":"VariableDeclaration","scope":38707,"src":"7063:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38689,"name":"uint256","nodeType":"ElementaryTypeName","src":"7063:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7051:22:42"},"returnParameters":{"id":38694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38707,"src":"7097:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38692,"name":"uint256","nodeType":"ElementaryTypeName","src":"7097:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7096:9:42"},"scope":38747,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38719,"nodeType":"FunctionDefinition","src":"7735:276:42","nodes":[],"body":{"id":38718,"nodeType":"Block","src":"7798:213:42","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"7893:44:42","statements":[{"nodeType":"YulAssignment","src":"7907:20:42","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"7918:7:42"},"nodeType":"YulFunctionCall","src":"7918:9:42"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"7907:7:42"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38710,"isOffset":false,"isSlot":false,"src":"7907:7:42","valueSize":1}],"id":38712,"nodeType":"InlineAssembly","src":"7884:53:42"},{"expression":{"arguments":[{"id":38715,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7955:4:42","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38747","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38747","typeString":"contract MockERC20"}],"id":38714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7947:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38713,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:42","typeDescriptions":{}}},"id":38716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:13:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":38717,"nodeType":"ExpressionStatement","src":"7947:13:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"7744:12:42","parameters":{"id":38708,"nodeType":"ParameterList","parameters":[],"src":"7756:2:42"},"returnParameters":{"id":38711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38710,"mutability":"mutable","name":"chainId","nameLocation":"7789:7:42","nodeType":"VariableDeclaration","scope":38719,"src":"7781:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38709,"name":"uint256","nodeType":"ElementaryTypeName","src":"7781:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7780:17:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":38746,"nodeType":"FunctionDefinition","src":"8017:300:42","nodes":[],"body":{"id":38745,"nodeType":"Block","src":"8080:237:42","nodes":[],"statements":[{"assignments":[38729],"declarations":[{"constant":false,"id":38729,"mutability":"mutable","name":"fnIn","nameLocation":"8133:4:42","nodeType":"VariableDeclaration","scope":38745,"src":"8090:47:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":38728,"nodeType":"FunctionTypeName","parameterTypes":{"id":38724,"nodeType":"ParameterList","parameters":[],"src":"8098:2:42"},"returnParameterTypes":{"id":38727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38728,"src":"8124:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38725,"name":"uint256","nodeType":"ElementaryTypeName","src":"8124:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:9:42"},"src":"8090:47:42","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38731,"initialValue":{"id":38730,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38719,"src":"8140:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8090:62:42"},{"assignments":[38737],"declarations":[{"constant":false,"id":38737,"mutability":"mutable","name":"pureChainId","nameLocation":"8205:11:42","nodeType":"VariableDeclaration","scope":38745,"src":"8162:54:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":38736,"nodeType":"FunctionTypeName","parameterTypes":{"id":38732,"nodeType":"ParameterList","parameters":[],"src":"8170:2:42"},"returnParameterTypes":{"id":38735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38734,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38736,"src":"8196:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38733,"name":"uint256","nodeType":"ElementaryTypeName","src":"8196:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8195:9:42"},"src":"8162:54:42","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38738,"nodeType":"VariableDeclarationStatement","src":"8162:54:42"},{"AST":{"nodeType":"YulBlock","src":"8235:43:42","statements":[{"nodeType":"YulAssignment","src":"8249:19:42","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"8264:4:42"},"variableNames":[{"name":"pureChainId","nodeType":"YulIdentifier","src":"8249:11:42"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38729,"isOffset":false,"isSlot":false,"src":"8264:4:42","valueSize":1},{"declaration":38737,"isOffset":false,"isSlot":false,"src":"8249:11:42","valueSize":1}],"id":38739,"nodeType":"InlineAssembly","src":"8226:52:42"},{"expression":{"id":38743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38740,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38722,"src":"8287:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38741,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38737,"src":"8297:11:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8297:13:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8287:23:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38744,"nodeType":"ExpressionStatement","src":"8287:23:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"8026:12:42","parameters":{"id":38720,"nodeType":"ParameterList","parameters":[],"src":"8038:2:42"},"returnParameters":{"id":38723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38722,"mutability":"mutable","name":"chainId","nameLocation":"8071:7:42","nodeType":"VariableDeclaration","scope":38746,"src":"8063:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38721,"name":"uint256","nodeType":"ElementaryTypeName","src":"8063:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8062:17:42"},"scope":38747,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":38176,"name":"IERC20","nameLocations":["391:6:42"],"nodeType":"IdentifierPath","referencedDeclaration":37823,"src":"391:6:42"},"id":38177,"nodeType":"InheritanceSpecifier","src":"391:6:42"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":38175,"nodeType":"StructuredDocumentation","src":"115:254:42","text":"@notice This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol"},"fullyImplemented":true,"linearizedBaseContracts":[38747,37823],"name":"MockERC20","nameLocation":"378:9:42","scope":38748,"usedErrors":[]}],"license":"MIT"},"id":42}
\ No newline at end of file
+{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657610d89908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461098457508163095ea7b3146109255781631624f6c61461062a57816318160ddd1461060b57816323b872dd1461053a578163313ce567146105185781633644e515146104f457816370a08231146104be5781637ecebe001461048657816395d89b41146103c8578163a9059cbb14610347578163d505accf146100ff575063dd62ed3e146100b457600080fd5b346100fb57806003193601126100fb57806020926100d06109f9565b6100d8610a14565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b9050346103435760e03660031901126103435761011a6109f9565b610122610a14565b9260443590606435936084359360ff851680950361033f5742861061030257610149610b95565b9660018060a01b0380921696878a5260209660088852858b20998a549a6000198c146102ef5760018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830160018060401b0394848210868311176102dc578189528451902061010085019261190160f01b845261010286015261012285015260428152610160840194818610908611176102c957848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156102bf5787511690811515806102b6575b156102825750865260058352808620858752835280862082905551908152600080516020610d348339815191529190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5085821461024f565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b634e487b7160e01b8d526011875260248dfd5b506020606492519162461bcd60e51b8352820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152fd5b8780fd5b8280fd5b905034610343578160031936011261034357916020926103656109f9565b90836024359233855282875261037e8483872054610cbb565b3386528388528286205560018060a01b0316938481526103a18483832054610c51565b92858252875220558251908152600080516020610d14833981519152843392a35160018152f35b5050346100fb57816003193601126100fb578051908260018054906103ec82610ab9565b8086529181811690811561045e5750600114610423575b5050506104158261041f940383610a2a565b51918291826109b0565b0390f35b80955082526020948583205b82841061044b575050508261041f946104159282010194610403565b805486850188015292860192810161042f565b61041f97506104159450602092508693915060ff191682840152151560051b82010194610403565b5050346100fb5760203660031901126100fb5760209181906001600160a01b036104ae6109f9565b1681526008845220549051908152f35b9050346103435760203660031901126103435760209282916001600160a01b036104e66109f9565b168252845220549051908152f35b5050346100fb57816003193601126100fb57602090610511610b95565b9051908152f35b5050346100fb57816003193601126100fb5760209060ff600254169051908152f35b828434610608576060366003190112610608576105556109f9565b92600080516020610d1483398151915261056d610a14565b60443560018060a01b038097169384865286602098899460058652828920338a528652828920548560001982036105e5575b50508789528386526105b485848b2054610cbb565b888a52848752838a205516968781526105d08483832054610c51565b92888252855220558551908152a35160018152f35b6105ee91610cbb565b888a5260058752838a20338b528752838a20558b8561059f565b80fd5b5050346100fb57816003193601126100fb576020906003549051908152f35b839150346100fb5760603660031901126100fb576001600160401b039281358481116109215761065d9036908401610a63565b9360243581811161091d576106759036908501610a63565b926044359260ff84168094036109195760ff600954166108e0575085518281116108cd57806106a48754610ab9565b97601f9889811161087f575b5060209089831160011461081c578892610811575b50508160011b916000199060031b1c19161785555b83519182116107fe57506001926106f18454610ab9565b8681116107b9575b50602095821160011461075957948495829394959261074e575b5050600019600383901b1c191690831b1782555b60ff199081600254161760025546600655610740610baf565b600755600954161760095580f35b015190508580610713565b601f1982169584865280862091865b8881106107a35750838697989695961061078a575b505050811b018255610727565b015160001960f88460031b161c1916905585808061077d565b8183015184559286019260209283019201610768565b848652602086208780850160051c820192602086106107f5575b0160051c019085905b8281106107ea5750506106f9565b8781550185906107dc565b925081926107d3565b634e487b7160e01b855260419052602484fd5b0151905088806106c5565b8880528189209250601f198416895b818110610867575090846001959493921061084e575b505050811b0185556106da565b015160001960f88460031b161c19169055888080610841565b9293602060018192878601518155019501930161082b565b909150878052602088208980850160051c820192602086106108c4575b9085949392910160051c01905b8181106108b657506106b0565b8981558493506001016108a9565b9250819261089c565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b835282015260136024820152721053149150511657d253925512505312569151606a1b6044820152fd5b8580fd5b8480fd5b8380fd5b5050346100fb57806003193601126100fb57602091816109436109f9565b91602435918291338152600587528181209460018060a01b031694858252875220558251908152600080516020610d34833981519152843392a35160018152f35b8490843461034357826003193601126103435761041f9250610415826109a981610af3565b0383610a2a565b6020808252825181830181905290939260005b8281106109e557505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016109c3565b600435906001600160a01b0382168203610a0f57565b600080fd5b602435906001600160a01b0382168203610a0f57565b601f909101601f19168101906001600160401b03821190821017610a4d57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610a0f578035906001600160401b038211610a4d5760405192610a97601f8401601f191660200185610a2a565b82845260208383010111610a0f57816000926020809301838601378301015290565b90600182811c92168015610ae9575b6020831014610ad357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ac8565b9060009160005490610b0482610ab9565b908181526001928381169081600014610b7a5750600114610b2457505050565b600080805293945060209392909190847f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838610610b665750505050010190565b805485870183015294019385908201610b56565b91935050602093945060ff191683830152151560051b010190565b6006544603610ba45760075490565b610bac610baf565b90565b604051610bc681610bbf81610af3565b0382610a2a565b6020815191012060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610a4d5760405251902090565b90810190818111610ca5578110610c655790565b60405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90808210610ccf578103908111610ca55790565b60405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b6044820152606490fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212209bcadee5c45346dd14de38823d44f331d00cb90a199ff61236747e8c5be2dee264736f6c63430008130033","sourceMap":"369:7950:42:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461098457508163095ea7b3146109255781631624f6c61461062a57816318160ddd1461060b57816323b872dd1461053a578163313ce567146105185781633644e515146104f457816370a08231146104be5781637ecebe001461048657816395d89b41146103c8578163a9059cbb14610347578163d505accf146100ff575063dd62ed3e146100b457600080fd5b346100fb57806003193601126100fb57806020926100d06109f9565b6100d8610a14565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b9050346103435760e03660031901126103435761011a6109f9565b610122610a14565b9260443590606435936084359360ff851680950361033f5742861061030257610149610b95565b9660018060a01b0380921696878a5260209660088852858b20998a549a6000198c146102ef5760018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830160018060401b0394848210868311176102dc578189528451902061010085019261190160f01b845261010286015261012285015260428152610160840194818610908611176102c957848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156102bf5787511690811515806102b6575b156102825750865260058352808620858752835280862082905551908152600080516020610d348339815191529190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5085821461024f565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b634e487b7160e01b8d526011875260248dfd5b506020606492519162461bcd60e51b8352820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152fd5b8780fd5b8280fd5b905034610343578160031936011261034357916020926103656109f9565b90836024359233855282875261037e8483872054610cbb565b3386528388528286205560018060a01b0316938481526103a18483832054610c51565b92858252875220558251908152600080516020610d14833981519152843392a35160018152f35b5050346100fb57816003193601126100fb578051908260018054906103ec82610ab9565b8086529181811690811561045e5750600114610423575b5050506104158261041f940383610a2a565b51918291826109b0565b0390f35b80955082526020948583205b82841061044b575050508261041f946104159282010194610403565b805486850188015292860192810161042f565b61041f97506104159450602092508693915060ff191682840152151560051b82010194610403565b5050346100fb5760203660031901126100fb5760209181906001600160a01b036104ae6109f9565b1681526008845220549051908152f35b9050346103435760203660031901126103435760209282916001600160a01b036104e66109f9565b168252845220549051908152f35b5050346100fb57816003193601126100fb57602090610511610b95565b9051908152f35b5050346100fb57816003193601126100fb5760209060ff600254169051908152f35b828434610608576060366003190112610608576105556109f9565b92600080516020610d1483398151915261056d610a14565b60443560018060a01b038097169384865286602098899460058652828920338a528652828920548560001982036105e5575b50508789528386526105b485848b2054610cbb565b888a52848752838a205516968781526105d08483832054610c51565b92888252855220558551908152a35160018152f35b6105ee91610cbb565b888a5260058752838a20338b528752838a20558b8561059f565b80fd5b5050346100fb57816003193601126100fb576020906003549051908152f35b839150346100fb5760603660031901126100fb576001600160401b039281358481116109215761065d9036908401610a63565b9360243581811161091d576106759036908501610a63565b926044359260ff84168094036109195760ff600954166108e0575085518281116108cd57806106a48754610ab9565b97601f9889811161087f575b5060209089831160011461081c578892610811575b50508160011b916000199060031b1c19161785555b83519182116107fe57506001926106f18454610ab9565b8681116107b9575b50602095821160011461075957948495829394959261074e575b5050600019600383901b1c191690831b1782555b60ff199081600254161760025546600655610740610baf565b600755600954161760095580f35b015190508580610713565b601f1982169584865280862091865b8881106107a35750838697989695961061078a575b505050811b018255610727565b015160001960f88460031b161c1916905585808061077d565b8183015184559286019260209283019201610768565b848652602086208780850160051c820192602086106107f5575b0160051c019085905b8281106107ea5750506106f9565b8781550185906107dc565b925081926107d3565b634e487b7160e01b855260419052602484fd5b0151905088806106c5565b8880528189209250601f198416895b818110610867575090846001959493921061084e575b505050811b0185556106da565b015160001960f88460031b161c19169055888080610841565b9293602060018192878601518155019501930161082b565b909150878052602088208980850160051c820192602086106108c4575b9085949392910160051c01905b8181106108b657506106b0565b8981558493506001016108a9565b9250819261089c565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b835282015260136024820152721053149150511657d253925512505312569151606a1b6044820152fd5b8580fd5b8480fd5b8380fd5b5050346100fb57806003193601126100fb57602091816109436109f9565b91602435918291338152600587528181209460018060a01b031694858252875220558251908152600080516020610d34833981519152843392a35160018152f35b8490843461034357826003193601126103435761041f9250610415826109a981610af3565b0383610a2a565b6020808252825181830181905290939260005b8281106109e557505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016109c3565b600435906001600160a01b0382168203610a0f57565b600080fd5b602435906001600160a01b0382168203610a0f57565b601f909101601f19168101906001600160401b03821190821017610a4d57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610a0f578035906001600160401b038211610a4d5760405192610a97601f8401601f191660200185610a2a565b82845260208383010111610a0f57816000926020809301838601378301015290565b90600182811c92168015610ae9575b6020831014610ad357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ac8565b9060009160005490610b0482610ab9565b908181526001928381169081600014610b7a5750600114610b2457505050565b600080805293945060209392909190847f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838610610b665750505050010190565b805485870183015294019385908201610b56565b91935050602093945060ff191683830152151560051b010190565b6006544603610ba45760075490565b610bac610baf565b90565b604051610bc681610bbf81610af3565b0382610a2a565b6020815191012060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610a4d5760405251902090565b90810190818111610ca5578110610c655790565b60405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90808210610ccf578103908111610ca55790565b60405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b6044820152606490fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212209bcadee5c45346dd14de38823d44f331d00cb90a199ff61236747e8c5be2dee264736f6c63430008130033","sourceMap":"369:7950:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;369:7950:42;;;;;1659:10;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4416:15;4404:27;;369:7950;;4617:18;;:::i;:::-;369:7950;;;;;;;;;;;;;;;5026:6;369:7950;;;;;;;;;;;;;;;;;;;;;;4692:413;;;;;369:7950;4732:157;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:413;;369:7950;;;;;;;;;;;;;;;;;;;;;;;4657:470;;4547:598;;;369:7950;;;;;;;;;;;;;;;4547:598;;369:7950;;;;;;;;;;;;;;;;;4520:639;;369:7950;;;;;;;;;;;;;;;;;;;4497:717;;;369:7950;;;;;;;4497:717;;;;;;;369:7950;5233:30;;;;:59;;;369:7950;;;;-1:-1:-1;369:7950:42;;5322:10;369:7950;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5383:31:42;369:7950;5383:31;369:7950;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;5233:59;5267:25;;;;5233:59;;4497:717;369:7950;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3420:10;;369:7950;;;;;3404:36;369:7950;;;;;3404:36;:::i;:::-;3420:10;369:7950;;;;;;;;;;;;;;;;;;;3467:28;369:7950;;;;;3467:28;:::i;:::-;369:7950;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3420:10:42;;3511:32;;369:7950;;;;;;;;;;;;;;;;;;;;;;;857:7;369:7950;;;;;;:::i;:::-;;;;;;;;;857:7;;;;369:7950;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;;;;-1:-1:-1;;;;;369:7950:42;;:::i;:::-;;;;1970:41;369:7950;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;;;;-1:-1:-1;;;;;369:7950:42;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;953:9;369:7950;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;;:::i;:::-;;-1:-1:-1;;;;;;;;;;;369:7950:42;;:::i;:::-;;;;;;;;;;;;;;;;;;;;3709:10;369:7950;;;;;3726:10;369:7950;;;;;;;;;;;3788:22;;3784:80;;369:7950;;;;;;;;;3894:30;369:7950;;;;;3894:30;:::i;:::-;369:7950;;;;;;;;;;;;;;;3951:28;369:7950;;;;;3951:28;:::i;:::-;369:7950;;;;;;;;;;;;;3995:26;369:7950;;;;;3784:80;3843:21;;;:::i;:::-;369:7950;;;3709:10;369:7950;;;;;3726:10;369:7950;;;;;;;;3784:80;;;;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;-1:-1:-1;;;;;369:7950:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;2611:11;369:7950;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;369:7950:42;;;;;;;;;;;;;;;;;;2707:21;369:7950;;;2707:21;369:7950;7884:53;2739:33;369:7950;2809:24;;:::i;:::-;2782:51;369:7950;2611:11;369:7950;;;2611:11;369:7950;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3167:10;;;;369:7950;;3156:10;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3167:10:42;;3212:37;;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;369:7950:42;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;369:7950:42;;;;;;:::o;:::-;;;;;-1:-1:-1;;369:7950:42;;;;-1:-1:-1;;;;;369:7950:42;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;369:7950:42;;;;;;;;;;;-1:-1:-1;;369:7950:42;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;369:7950:42;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5427:178::-;5528:16;369:7950;7884:53;5510:34;:88;;5547:24;369:7950;5427:178;:::o;5510:88::-;5574:24;;:::i;:::-;5427:178;:::o;5611:404::-;369:7950;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;5866:23;369:7950;;;5725:273;;369:7950;5753:95;369:7950;;;;;;5907:14;369:7950;;;;7884:53;369:7950;;;;5979:4;369:7950;;;;;5725:273;;369:7950;;;;;;;;;;;;;;;;;;;5702:306;;5611:404;:::o;6859:173::-;;369:7950;;;;;;;;6972:6;;369:7950;;6859:173;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;-1:-1:-1;369:7950:42;;;;;-1:-1:-1;369:7950:42;7038:154;;7124:6;;;369:7950;;;;;;;;;7038:154;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:42;;;;;;;;;;;;-1:-1:-1;;;369:7950:42;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":38179,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":38181,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":38183,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"},{"astId":38212,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_totalSupply","offset":0,"slot":"3","type":"t_uint256"},{"astId":38216,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_balanceOf","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":38222,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_allowance","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":38263,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_CHAIN_ID","offset":0,"slot":"6","type":"t_uint256"},{"astId":38265,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_DOMAIN_SEPARATOR","offset":0,"slot":"7","type":"t_bytes32"},{"astId":38269,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"nonces","offset":0,"slot":"8","type":"t_mapping(t_address,t_uint256)"},{"astId":38272,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"initialized","offset":0,"slot":"9","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC20.sol","id":38748,"exportedSymbols":{"IERC20":[37823],"MockERC20":[38747]},"nodeType":"SourceUnit","src":"32:8288:42","nodes":[{"id":38172,"nodeType":"PragmaDirective","src":"32:31:42","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":38174,"nodeType":"ImportDirective","src":"65:48:42","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","nameLocation":"-1:-1:-1","scope":38748,"sourceUnit":37824,"symbolAliases":[{"foreign":{"id":38173,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37823,"src":"73:6:42","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":38747,"nodeType":"ContractDefinition","src":"369:7950:42","nodes":[{"id":38179,"nodeType":"VariableDeclaration","src":"588:21:42","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"604:5:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38178,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38181,"nodeType":"VariableDeclaration","src":"616:23:42","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"632:7:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38180,"name":"string","nodeType":"ElementaryTypeName","src":"616:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38183,"nodeType":"VariableDeclaration","src":"646:24:42","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"661:9:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38182,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":38192,"nodeType":"FunctionDefinition","src":"677:92:42","nodes":[],"body":{"id":38191,"nodeType":"Block","src":"740:29:42","nodes":[],"statements":[{"expression":{"id":38189,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38179,"src":"757:5:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38188,"id":38190,"nodeType":"Return","src":"750:12:42"}]},"baseFunctions":[37810],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"686:4:42","overrides":{"id":38185,"nodeType":"OverrideSpecifier","overrides":[],"src":"707:8:42"},"parameters":{"id":38184,"nodeType":"ParameterList","parameters":[],"src":"690:2:42"},"returnParameters":{"id":38188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38192,"src":"725:13:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38186,"name":"string","nodeType":"ElementaryTypeName","src":"725:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"724:15:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38201,"nodeType":"FunctionDefinition","src":"775:96:42","nodes":[],"body":{"id":38200,"nodeType":"Block","src":"840:31:42","nodes":[],"statements":[{"expression":{"id":38198,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38181,"src":"857:7:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38197,"id":38199,"nodeType":"Return","src":"850:14:42"}]},"baseFunctions":[37816],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"784:6:42","overrides":{"id":38194,"nodeType":"OverrideSpecifier","overrides":[],"src":"807:8:42"},"parameters":{"id":38193,"nodeType":"ParameterList","parameters":[],"src":"790:2:42"},"returnParameters":{"id":38197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38201,"src":"825:13:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38195,"name":"string","nodeType":"ElementaryTypeName","src":"825:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"824:15:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38210,"nodeType":"FunctionDefinition","src":"877:92:42","nodes":[],"body":{"id":38209,"nodeType":"Block","src":"936:33:42","nodes":[],"statements":[{"expression":{"id":38207,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38183,"src":"953:9:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":38206,"id":38208,"nodeType":"Return","src":"946:16:42"}]},"baseFunctions":[37822],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"886:8:42","overrides":{"id":38203,"nodeType":"OverrideSpecifier","overrides":[],"src":"911:8:42"},"parameters":{"id":38202,"nodeType":"ParameterList","parameters":[],"src":"894:2:42"},"returnParameters":{"id":38206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38205,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38210,"src":"929:5:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38204,"name":"uint8","nodeType":"ElementaryTypeName","src":"929:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"928:7:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38212,"nodeType":"VariableDeclaration","src":"1158:29:42","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1175:12:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38211,"name":"uint256","nodeType":"ElementaryTypeName","src":"1158:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38216,"nodeType":"VariableDeclaration","src":"1194:47:42","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1231:10:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38215,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38213,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1194:27:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38214,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":38222,"nodeType":"VariableDeclaration","src":"1248:67:42","nodes":[],"constant":false,"mutability":"mutable","name":"_allowance","nameLocation":"1305:10:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":38221,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38217,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1248:47:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38220,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38218,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1267:27:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38219,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":38231,"nodeType":"FunctionDefinition","src":"1322:100:42","nodes":[],"body":{"id":38230,"nodeType":"Block","src":"1386:36:42","nodes":[],"statements":[{"expression":{"id":38228,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"1403:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38227,"id":38229,"nodeType":"Return","src":"1396:19:42"}]},"baseFunctions":[37754],"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1331:11:42","overrides":{"id":38224,"nodeType":"OverrideSpecifier","overrides":[],"src":"1359:8:42"},"parameters":{"id":38223,"nodeType":"ParameterList","parameters":[],"src":"1342:2:42"},"returnParameters":{"id":38227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38231,"src":"1377:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38225,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1376:9:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38244,"nodeType":"FunctionDefinition","src":"1428:116:42","nodes":[],"body":{"id":38243,"nodeType":"Block","src":"1503:41:42","nodes":[],"statements":[{"expression":{"baseExpression":{"id":38239,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"1520:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38241,"indexExpression":{"id":38240,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38233,"src":"1531:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:17:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38238,"id":38242,"nodeType":"Return","src":"1513:24:42"}]},"baseFunctions":[37762],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1437:9:42","overrides":{"id":38235,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:42"},"parameters":{"id":38234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38233,"mutability":"mutable","name":"owner","nameLocation":"1455:5:42","nodeType":"VariableDeclaration","scope":38244,"src":"1447:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38232,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:15:42"},"returnParameters":{"id":38238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38244,"src":"1494:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38236,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38261,"nodeType":"FunctionDefinition","src":"1550:142:42","nodes":[],"body":{"id":38260,"nodeType":"Block","src":"1642:50:42","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":38254,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"1659:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38256,"indexExpression":{"id":38255,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38246,"src":"1670:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:17:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38258,"indexExpression":{"id":38257,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38248,"src":"1677:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:26:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38253,"id":38259,"nodeType":"Return","src":"1652:33:42"}]},"baseFunctions":[37782],"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1559:9:42","overrides":{"id":38250,"nodeType":"OverrideSpecifier","overrides":[],"src":"1615:8:42"},"parameters":{"id":38249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38246,"mutability":"mutable","name":"owner","nameLocation":"1577:5:42","nodeType":"VariableDeclaration","scope":38261,"src":"1569:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38245,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38248,"mutability":"mutable","name":"spender","nameLocation":"1592:7:42","nodeType":"VariableDeclaration","scope":38261,"src":"1584:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38247,"name":"address","nodeType":"ElementaryTypeName","src":"1584:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1568:32:42"},"returnParameters":{"id":38253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38252,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38261,"src":"1633:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38251,"name":"uint256","nodeType":"ElementaryTypeName","src":"1633:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1632:9:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38263,"nodeType":"VariableDeclaration","src":"1882:33:42","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_CHAIN_ID","nameLocation":"1899:16:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38262,"name":"uint256","nodeType":"ElementaryTypeName","src":"1882:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38265,"nodeType":"VariableDeclaration","src":"1922:41:42","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1939:24:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1922:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":38269,"nodeType":"VariableDeclaration","src":"1970:41:42","nodes":[],"constant":false,"functionSelector":"7ecebe00","mutability":"mutable","name":"nonces","nameLocation":"2005:6:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38268,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38266,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38267,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":38272,"nodeType":"VariableDeclaration","src":"2271:24:42","nodes":[],"constant":false,"documentation":{"id":38270,"nodeType":"StructuredDocumentation","src":"2199:67:42","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2284:11:42","scope":38747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38271,"name":"bool","nodeType":"ElementaryTypeName","src":"2271:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":38315,"nodeType":"FunctionDefinition","src":"2504:365:42","nodes":[],"body":{"id":38314,"nodeType":"Block","src":"2592:277:42","nodes":[],"statements":[{"expression":{"arguments":[{"id":38284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2610:12:42","subExpression":{"id":38283,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38272,"src":"2611:11:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":38285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2624:21:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":38282,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2602:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38287,"nodeType":"ExpressionStatement","src":"2602:44:42"},{"expression":{"id":38290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38288,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38179,"src":"2657:5:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38289,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38275,"src":"2665:5:42","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2657:13:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38291,"nodeType":"ExpressionStatement","src":"2657:13:42"},{"expression":{"id":38294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38292,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38181,"src":"2680:7:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38293,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38277,"src":"2690:7:42","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2680:17:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38295,"nodeType":"ExpressionStatement","src":"2680:17:42"},{"expression":{"id":38298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38296,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38183,"src":"2707:9:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38297,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38279,"src":"2719:9:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2707:21:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":38299,"nodeType":"ExpressionStatement","src":"2707:21:42"},{"expression":{"id":38303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38300,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38263,"src":"2739:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38301,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38746,"src":"2758:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2758:14:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2739:33:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38304,"nodeType":"ExpressionStatement","src":"2739:33:42"},{"expression":{"id":38308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38305,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"2782:24:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38306,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38591,"src":"2809:22:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:24:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2782:51:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38309,"nodeType":"ExpressionStatement","src":"2782:51:42"},{"expression":{"id":38312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38310,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38272,"src":"2844:11:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":38311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2858:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2844:18:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38313,"nodeType":"ExpressionStatement","src":"2844:18:42"}]},"documentation":{"id":38273,"nodeType":"StructuredDocumentation","src":"2302:197:42","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"1624f6c6","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2513:10:42","parameters":{"id":38280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38275,"mutability":"mutable","name":"name_","nameLocation":"2538:5:42","nodeType":"VariableDeclaration","scope":38315,"src":"2524:19:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38274,"name":"string","nodeType":"ElementaryTypeName","src":"2524:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38277,"mutability":"mutable","name":"symbol_","nameLocation":"2559:7:42","nodeType":"VariableDeclaration","scope":38315,"src":"2545:21:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38276,"name":"string","nodeType":"ElementaryTypeName","src":"2545:6:42","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38279,"mutability":"mutable","name":"decimals_","nameLocation":"2574:9:42","nodeType":"VariableDeclaration","scope":38315,"src":"2568:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38278,"name":"uint8","nodeType":"ElementaryTypeName","src":"2568:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2523:61:42"},"returnParameters":{"id":38281,"nodeType":"ParameterList","parameters":[],"src":"2592:0:42"},"scope":38747,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":38344,"nodeType":"FunctionDefinition","src":"3057:221:42","nodes":[],"body":{"id":38343,"nodeType":"Block","src":"3146:132:42","nodes":[],"statements":[{"expression":{"id":38332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38325,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"3156:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38329,"indexExpression":{"expression":{"id":38326,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3167:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3167:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3156:22:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38330,"indexExpression":{"id":38328,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38317,"src":"3179:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3156:31:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38331,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38319,"src":"3190:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3156:40:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38333,"nodeType":"ExpressionStatement","src":"3156:40:42"},{"eventCall":{"arguments":[{"expression":{"id":38335,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3221:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3225:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3221:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38337,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38317,"src":"3233:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38338,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38319,"src":"3242:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38334,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37748,"src":"3212:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:37:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38340,"nodeType":"EmitStatement","src":"3207:42:42"},{"expression":{"hexValue":"74727565","id":38341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3267:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38324,"id":38342,"nodeType":"Return","src":"3260:11:42"}]},"baseFunctions":[37792],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3066:7:42","overrides":{"id":38321,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:42"},"parameters":{"id":38320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38317,"mutability":"mutable","name":"spender","nameLocation":"3082:7:42","nodeType":"VariableDeclaration","scope":38344,"src":"3074:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38316,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38319,"mutability":"mutable","name":"amount","nameLocation":"3099:6:42","nodeType":"VariableDeclaration","scope":38344,"src":"3091:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38318,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3073:33:42"},"returnParameters":{"id":38324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38344,"src":"3140:4:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38322,"name":"bool","nodeType":"ElementaryTypeName","src":"3140:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3139:6:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38388,"nodeType":"FunctionDefinition","src":"3284:288:42","nodes":[],"body":{"id":38387,"nodeType":"Block","src":"3369:203:42","nodes":[],"statements":[{"expression":{"id":38365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38354,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3379:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38357,"indexExpression":{"expression":{"id":38355,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3390:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3390:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3379:22:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38359,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3409:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38362,"indexExpression":{"expression":{"id":38360,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3420:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3420:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3409:22:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38363,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3433:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38358,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"3404:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:36:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:61:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38366,"nodeType":"ExpressionStatement","src":"3379:61:42"},{"expression":{"id":38376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38367,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3450:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38369,"indexExpression":{"id":38368,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38346,"src":"3461:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3450:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38371,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3472:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38373,"indexExpression":{"id":38372,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38346,"src":"3483:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3472:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38374,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3488:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38370,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38686,"src":"3467:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3467:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3450:45:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38377,"nodeType":"ExpressionStatement","src":"3450:45:42"},{"eventCall":{"arguments":[{"expression":{"id":38379,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3520:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3524:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3520:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38381,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38346,"src":"3532:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38382,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3536:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38378,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37739,"src":"3511:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:32:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38384,"nodeType":"EmitStatement","src":"3506:37:42"},{"expression":{"hexValue":"74727565","id":38385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3561:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38353,"id":38386,"nodeType":"Return","src":"3554:11:42"}]},"baseFunctions":[37772],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3293:8:42","overrides":{"id":38350,"nodeType":"OverrideSpecifier","overrides":[],"src":"3345:8:42"},"parameters":{"id":38349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38346,"mutability":"mutable","name":"to","nameLocation":"3310:2:42","nodeType":"VariableDeclaration","scope":38388,"src":"3302:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38345,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38348,"mutability":"mutable","name":"amount","nameLocation":"3322:6:42","nodeType":"VariableDeclaration","scope":38388,"src":"3314:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38347,"name":"uint256","nodeType":"ElementaryTypeName","src":"3314:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3301:28:42"},"returnParameters":{"id":38353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38352,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38388,"src":"3363:4:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38351,"name":"bool","nodeType":"ElementaryTypeName","src":"3363:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3362:6:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38460,"nodeType":"FunctionDefinition","src":"3578:472:42","nodes":[],"body":{"id":38459,"nodeType":"Block","src":"3681:369:42","nodes":[],"statements":[{"assignments":[38401],"declarations":[{"constant":false,"id":38401,"mutability":"mutable","name":"allowed","nameLocation":"3699:7:42","nodeType":"VariableDeclaration","scope":38459,"src":"3691:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38400,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38408,"initialValue":{"baseExpression":{"baseExpression":{"id":38402,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"3709:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38404,"indexExpression":{"id":38403,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"3720:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:16:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38407,"indexExpression":{"expression":{"id":38405,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3726:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3730:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3726:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:28:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3691:46:42"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38409,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38401,"src":"3788:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":38414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3799:11:42","subExpression":{"arguments":[{"hexValue":"30","id":38412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3800:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":38410,"name":"uint256","nodeType":"ElementaryTypeName","src":"3800:7:42","typeDescriptions":{}}},"id":38413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3788:22:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38428,"nodeType":"IfStatement","src":"3784:80:42","trueBody":{"expression":{"id":38426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38416,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"3812:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38420,"indexExpression":{"id":38417,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"3823:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3812:16:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38421,"indexExpression":{"expression":{"id":38418,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3829:3:42","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:6:42","memberName":"sender","nodeType":"MemberAccess","src":"3829:10:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3812:28:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38423,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38401,"src":"3848:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38424,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38394,"src":"3857:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38422,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"3843:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:21:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3812:52:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38427,"nodeType":"ExpressionStatement","src":"3812:52:42"}},{"expression":{"id":38438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38429,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3875:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38431,"indexExpression":{"id":38430,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"3886:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3875:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38433,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3899:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38435,"indexExpression":{"id":38434,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"3910:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3899:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38436,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38394,"src":"3917:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38432,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"3894:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:30:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3875:49:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38439,"nodeType":"ExpressionStatement","src":"3875:49:42"},{"expression":{"id":38449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38440,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3934:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38442,"indexExpression":{"id":38441,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38392,"src":"3945:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3934:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38444,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"3956:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38446,"indexExpression":{"id":38445,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38392,"src":"3967:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3956:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38447,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38394,"src":"3972:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38443,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38686,"src":"3951:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:45:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38450,"nodeType":"ExpressionStatement","src":"3934:45:42"},{"eventCall":{"arguments":[{"id":38452,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38390,"src":"4004:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38453,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38392,"src":"4010:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38454,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38394,"src":"4014:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38451,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37739,"src":"3995:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:26:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38456,"nodeType":"EmitStatement","src":"3990:31:42"},{"expression":{"hexValue":"74727565","id":38457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4039:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38399,"id":38458,"nodeType":"Return","src":"4032:11:42"}]},"baseFunctions":[37804],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3587:12:42","overrides":{"id":38396,"nodeType":"OverrideSpecifier","overrides":[],"src":"3657:8:42"},"parameters":{"id":38395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38390,"mutability":"mutable","name":"from","nameLocation":"3608:4:42","nodeType":"VariableDeclaration","scope":38460,"src":"3600:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38389,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38392,"mutability":"mutable","name":"to","nameLocation":"3622:2:42","nodeType":"VariableDeclaration","scope":38460,"src":"3614:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38391,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38394,"mutability":"mutable","name":"amount","nameLocation":"3634:6:42","nodeType":"VariableDeclaration","scope":38460,"src":"3626:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38393,"name":"uint256","nodeType":"ElementaryTypeName","src":"3626:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:42:42"},"returnParameters":{"id":38399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38460,"src":"3675:4:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38397,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3674:6:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38546,"nodeType":"FunctionDefinition","src":"4239:1182:42","nodes":[],"body":{"id":38545,"nodeType":"Block","src":"4386:1035:42","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38478,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38468,"src":"4404:8:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":38479,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4416:5:42","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":38480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:9:42","memberName":"timestamp","nodeType":"MemberAccess","src":"4416:15:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4404:27:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":38482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4433:25:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":38477,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4396:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:63:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38484,"nodeType":"ExpressionStatement","src":"4396:63:42"},{"assignments":[38486],"declarations":[{"constant":false,"id":38486,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4478:16:42","nodeType":"VariableDeclaration","scope":38545,"src":"4470:24:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38485,"name":"address","nodeType":"ElementaryTypeName","src":"4470:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":38516,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":38491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4585:10:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":38492,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38561,"src":"4617:16:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:18:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":38498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:84:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":38497,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4732:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:157:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38500,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38462,"src":"4919:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38501,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38464,"src":"4954:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38502,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38466,"src":"4991:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5026:15:42","subExpression":{"baseExpression":{"id":38503,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38269,"src":"5026:6:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38505,"indexExpression":{"id":38504,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38462,"src":"5033:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5026:13:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38507,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38468,"src":"5071:8:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":38495,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4692:3:42","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4696:6:42","memberName":"encode","nodeType":"MemberAccess","src":"4692:10:42","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4692:413:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38494,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4657:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:470:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":38489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4547:3:42","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:12:42","memberName":"encodePacked","nodeType":"MemberAccess","src":"4547:16:42","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:598:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38488,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4520:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:639:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38512,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38470,"src":"5173:1:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":38513,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38472,"src":"5188:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38514,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38474,"src":"5203:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":38487,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4497:9:42","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":38515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:717:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4470:744:42"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38518,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38486,"src":"5233:16:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5253:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38519,"name":"address","nodeType":"ElementaryTypeName","src":"5253:7:42","typeDescriptions":{}}},"id":38522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5233:30:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38524,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38486,"src":"5267:16:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38525,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38462,"src":"5287:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5267:25:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5233:59:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":38528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:16:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":38517,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5225:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:86:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38530,"nodeType":"ExpressionStatement","src":"5225:86:42"},{"expression":{"id":38537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38531,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38222,"src":"5322:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38534,"indexExpression":{"id":38532,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38486,"src":"5333:16:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5322:28:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38535,"indexExpression":{"id":38533,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38464,"src":"5351:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5322:37:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38536,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38466,"src":"5362:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:45:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38538,"nodeType":"ExpressionStatement","src":"5322:45:42"},{"eventCall":{"arguments":[{"id":38540,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38462,"src":"5392:5:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38541,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38464,"src":"5399:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38542,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38466,"src":"5408:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38539,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37748,"src":"5383:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:31:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38544,"nodeType":"EmitStatement","src":"5378:36:42"}]},"functionSelector":"d505accf","implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4248:6:42","parameters":{"id":38475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38462,"mutability":"mutable","name":"owner","nameLocation":"4263:5:42","nodeType":"VariableDeclaration","scope":38546,"src":"4255:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38461,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38464,"mutability":"mutable","name":"spender","nameLocation":"4278:7:42","nodeType":"VariableDeclaration","scope":38546,"src":"4270:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38463,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38466,"mutability":"mutable","name":"value","nameLocation":"4295:5:42","nodeType":"VariableDeclaration","scope":38546,"src":"4287:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38465,"name":"uint256","nodeType":"ElementaryTypeName","src":"4287:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38468,"mutability":"mutable","name":"deadline","nameLocation":"4310:8:42","nodeType":"VariableDeclaration","scope":38546,"src":"4302:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38467,"name":"uint256","nodeType":"ElementaryTypeName","src":"4302:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38470,"mutability":"mutable","name":"v","nameLocation":"4326:1:42","nodeType":"VariableDeclaration","scope":38546,"src":"4320:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38469,"name":"uint8","nodeType":"ElementaryTypeName","src":"4320:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":38472,"mutability":"mutable","name":"r","nameLocation":"4337:1:42","nodeType":"VariableDeclaration","scope":38546,"src":"4329:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4329:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38474,"mutability":"mutable","name":"s","nameLocation":"4348:1:42","nodeType":"VariableDeclaration","scope":38546,"src":"4340:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4340:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4254:96:42"},"returnParameters":{"id":38476,"nodeType":"ParameterList","parameters":[],"src":"4386:0:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38561,"nodeType":"FunctionDefinition","src":"5427:178:42","nodes":[],"body":{"id":38560,"nodeType":"Block","src":"5493:112:42","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38551,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38746,"src":"5510:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:14:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38553,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38263,"src":"5528:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5510:34:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38556,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38591,"src":"5574:22:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:24:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5510:88:42","trueExpression":{"id":38555,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"5547:24:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38550,"id":38559,"nodeType":"Return","src":"5503:95:42"}]},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5436:16:42","parameters":{"id":38547,"nodeType":"ParameterList","parameters":[],"src":"5452:2:42"},"returnParameters":{"id":38550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38561,"src":"5484:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5483:9:42"},"scope":38747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":38591,"nodeType":"FunctionDefinition","src":"5611:404:42","nodes":[],"body":{"id":38590,"nodeType":"Block","src":"5685:330:42","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":38570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:84:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":38569,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5753:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:95:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":38575,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38179,"src":"5882:5:42","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":38574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5876:5:42","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":38573,"name":"bytes","nodeType":"ElementaryTypeName","src":"5876:5:42","typeDescriptions":{}}},"id":38576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:12:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":38572,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5866:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:23:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":38579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5917:3:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":38578,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5907:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:14:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":38581,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38746,"src":"5939:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:14:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":38585,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5979:4:42","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38747","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38747","typeString":"contract MockERC20"}],"id":38584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5971:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38583,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:42","typeDescriptions":{}}},"id":38586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5971:13:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":38567,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5725:3:42","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5729:6:42","memberName":"encode","nodeType":"MemberAccess","src":"5725:10:42","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:273:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38566,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5702:9:42","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:306:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38565,"id":38589,"nodeType":"Return","src":"5695:313:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5620:22:42","parameters":{"id":38562,"nodeType":"ParameterList","parameters":[],"src":"5642:2:42"},"returnParameters":{"id":38565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38591,"src":"5676:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5676:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5675:9:42"},"scope":38747,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":38626,"nodeType":"FunctionDefinition","src":"6209:221:42","nodes":[],"body":{"id":38625,"nodeType":"Block","src":"6269:161:42","nodes":[],"statements":[{"expression":{"id":38603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38598,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"6279:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38600,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"6299:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38601,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38595,"src":"6313:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38599,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38686,"src":"6294:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6294:26:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6279:41:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38604,"nodeType":"ExpressionStatement","src":"6279:41:42"},{"expression":{"id":38614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38605,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"6330:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38607,"indexExpression":{"id":38606,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38593,"src":"6341:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38609,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"6352:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38611,"indexExpression":{"id":38610,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38593,"src":"6363:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6352:14:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38612,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38595,"src":"6368:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38608,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38686,"src":"6347:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:45:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38615,"nodeType":"ExpressionStatement","src":"6330:45:42"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":38619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6408:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6400:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38617,"name":"address","nodeType":"ElementaryTypeName","src":"6400:7:42","typeDescriptions":{}}},"id":38620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38621,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38593,"src":"6412:2:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38622,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38595,"src":"6416:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38616,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37739,"src":"6391:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6391:32:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38624,"nodeType":"EmitStatement","src":"6386:37:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6218:5:42","parameters":{"id":38596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38593,"mutability":"mutable","name":"to","nameLocation":"6232:2:42","nodeType":"VariableDeclaration","scope":38626,"src":"6224:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38592,"name":"address","nodeType":"ElementaryTypeName","src":"6224:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38595,"mutability":"mutable","name":"amount","nameLocation":"6244:6:42","nodeType":"VariableDeclaration","scope":38626,"src":"6236:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38594,"name":"uint256","nodeType":"ElementaryTypeName","src":"6236:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:28:42"},"returnParameters":{"id":38597,"nodeType":"ParameterList","parameters":[],"src":"6269:0:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38661,"nodeType":"FunctionDefinition","src":"6436:229:42","nodes":[],"body":{"id":38660,"nodeType":"Block","src":"6498:167:42","nodes":[],"statements":[{"expression":{"id":38642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38633,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"6508:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38635,"indexExpression":{"id":38634,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38628,"src":"6519:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6508:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38637,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38216,"src":"6532:10:42","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38639,"indexExpression":{"id":38638,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38628,"src":"6543:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6532:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38640,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38630,"src":"6550:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38636,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"6527:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:30:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6508:49:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38643,"nodeType":"ExpressionStatement","src":"6508:49:42"},{"expression":{"id":38649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38644,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"6567:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38646,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38212,"src":"6587:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38647,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38630,"src":"6601:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38645,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38707,"src":"6582:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:26:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6567:41:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38650,"nodeType":"ExpressionStatement","src":"6567:41:42"},{"eventCall":{"arguments":[{"id":38652,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38628,"src":"6633:4:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":38655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6647:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38653,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:42","typeDescriptions":{}}},"id":38656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38657,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38630,"src":"6651:6:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38651,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37739,"src":"6624:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:34:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38659,"nodeType":"EmitStatement","src":"6619:39:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6445:5:42","parameters":{"id":38631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38628,"mutability":"mutable","name":"from","nameLocation":"6459:4:42","nodeType":"VariableDeclaration","scope":38661,"src":"6451:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38627,"name":"address","nodeType":"ElementaryTypeName","src":"6451:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38630,"mutability":"mutable","name":"amount","nameLocation":"6473:6:42","nodeType":"VariableDeclaration","scope":38661,"src":"6465:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38629,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6450:30:42"},"returnParameters":{"id":38632,"nodeType":"ParameterList","parameters":[],"src":"6498:0:42"},"scope":38747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38686,"nodeType":"FunctionDefinition","src":"6859:173:42","nodes":[],"body":{"id":38685,"nodeType":"Block","src":"6927:105:42","nodes":[],"statements":[{"assignments":[38671],"declarations":[{"constant":false,"id":38671,"mutability":"mutable","name":"c","nameLocation":"6945:1:42","nodeType":"VariableDeclaration","scope":38685,"src":"6937:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38670,"name":"uint256","nodeType":"ElementaryTypeName","src":"6937:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38675,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38672,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38663,"src":"6949:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":38673,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"6953:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6949:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6937:17:42"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38677,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38671,"src":"6972:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38678,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38663,"src":"6977:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6972:6:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206164646974696f6e206f766572666c6f77","id":38680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6980:26:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""},"value":"ERC20: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""}],"id":38676,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6964:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:43:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38682,"nodeType":"ExpressionStatement","src":"6964:43:42"},{"expression":{"id":38683,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38671,"src":"7024:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38669,"id":38684,"nodeType":"Return","src":"7017:8:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6868:4:42","parameters":{"id":38666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38663,"mutability":"mutable","name":"a","nameLocation":"6881:1:42","nodeType":"VariableDeclaration","scope":38686,"src":"6873:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38662,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38665,"mutability":"mutable","name":"b","nameLocation":"6892:1:42","nodeType":"VariableDeclaration","scope":38686,"src":"6884:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38664,"name":"uint256","nodeType":"ElementaryTypeName","src":"6884:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6872:22:42"},"returnParameters":{"id":38669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38668,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38686,"src":"6918:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38667,"name":"uint256","nodeType":"ElementaryTypeName","src":"6918:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6917:9:42"},"scope":38747,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38707,"nodeType":"FunctionDefinition","src":"7038:154:42","nodes":[],"body":{"id":38706,"nodeType":"Block","src":"7106:86:42","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38696,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38688,"src":"7124:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38697,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38690,"src":"7129:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7124:6:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207375627472616374696f6e20756e646572666c6f77","id":38699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:30:42","typeDescriptions":{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""},"value":"ERC20: subtraction underflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""}],"id":38695,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7116:7:42","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:47:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38701,"nodeType":"ExpressionStatement","src":"7116:47:42"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38702,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38688,"src":"7180:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":38703,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38690,"src":"7184:1:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7180:5:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38694,"id":38705,"nodeType":"Return","src":"7173:12:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sub","nameLocation":"7047:4:42","parameters":{"id":38691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38688,"mutability":"mutable","name":"a","nameLocation":"7060:1:42","nodeType":"VariableDeclaration","scope":38707,"src":"7052:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38687,"name":"uint256","nodeType":"ElementaryTypeName","src":"7052:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38690,"mutability":"mutable","name":"b","nameLocation":"7071:1:42","nodeType":"VariableDeclaration","scope":38707,"src":"7063:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38689,"name":"uint256","nodeType":"ElementaryTypeName","src":"7063:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7051:22:42"},"returnParameters":{"id":38694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38707,"src":"7097:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38692,"name":"uint256","nodeType":"ElementaryTypeName","src":"7097:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7096:9:42"},"scope":38747,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38719,"nodeType":"FunctionDefinition","src":"7735:276:42","nodes":[],"body":{"id":38718,"nodeType":"Block","src":"7798:213:42","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"7893:44:42","statements":[{"nodeType":"YulAssignment","src":"7907:20:42","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"7918:7:42"},"nodeType":"YulFunctionCall","src":"7918:9:42"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"7907:7:42"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38710,"isOffset":false,"isSlot":false,"src":"7907:7:42","valueSize":1}],"id":38712,"nodeType":"InlineAssembly","src":"7884:53:42"},{"expression":{"arguments":[{"id":38715,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7955:4:42","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38747","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38747","typeString":"contract MockERC20"}],"id":38714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7947:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38713,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:42","typeDescriptions":{}}},"id":38716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:13:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":38717,"nodeType":"ExpressionStatement","src":"7947:13:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"7744:12:42","parameters":{"id":38708,"nodeType":"ParameterList","parameters":[],"src":"7756:2:42"},"returnParameters":{"id":38711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38710,"mutability":"mutable","name":"chainId","nameLocation":"7789:7:42","nodeType":"VariableDeclaration","scope":38719,"src":"7781:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38709,"name":"uint256","nodeType":"ElementaryTypeName","src":"7781:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7780:17:42"},"scope":38747,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":38746,"nodeType":"FunctionDefinition","src":"8017:300:42","nodes":[],"body":{"id":38745,"nodeType":"Block","src":"8080:237:42","nodes":[],"statements":[{"assignments":[38729],"declarations":[{"constant":false,"id":38729,"mutability":"mutable","name":"fnIn","nameLocation":"8133:4:42","nodeType":"VariableDeclaration","scope":38745,"src":"8090:47:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":38728,"nodeType":"FunctionTypeName","parameterTypes":{"id":38724,"nodeType":"ParameterList","parameters":[],"src":"8098:2:42"},"returnParameterTypes":{"id":38727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38728,"src":"8124:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38725,"name":"uint256","nodeType":"ElementaryTypeName","src":"8124:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:9:42"},"src":"8090:47:42","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38731,"initialValue":{"id":38730,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38719,"src":"8140:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8090:62:42"},{"assignments":[38737],"declarations":[{"constant":false,"id":38737,"mutability":"mutable","name":"pureChainId","nameLocation":"8205:11:42","nodeType":"VariableDeclaration","scope":38745,"src":"8162:54:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":38736,"nodeType":"FunctionTypeName","parameterTypes":{"id":38732,"nodeType":"ParameterList","parameters":[],"src":"8170:2:42"},"returnParameterTypes":{"id":38735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38734,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38736,"src":"8196:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38733,"name":"uint256","nodeType":"ElementaryTypeName","src":"8196:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8195:9:42"},"src":"8162:54:42","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38738,"nodeType":"VariableDeclarationStatement","src":"8162:54:42"},{"AST":{"nodeType":"YulBlock","src":"8235:43:42","statements":[{"nodeType":"YulAssignment","src":"8249:19:42","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"8264:4:42"},"variableNames":[{"name":"pureChainId","nodeType":"YulIdentifier","src":"8249:11:42"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38729,"isOffset":false,"isSlot":false,"src":"8264:4:42","valueSize":1},{"declaration":38737,"isOffset":false,"isSlot":false,"src":"8249:11:42","valueSize":1}],"id":38739,"nodeType":"InlineAssembly","src":"8226:52:42"},{"expression":{"id":38743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38740,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38722,"src":"8287:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38741,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38737,"src":"8297:11:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8297:13:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8287:23:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38744,"nodeType":"ExpressionStatement","src":"8287:23:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"8026:12:42","parameters":{"id":38720,"nodeType":"ParameterList","parameters":[],"src":"8038:2:42"},"returnParameters":{"id":38723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38722,"mutability":"mutable","name":"chainId","nameLocation":"8071:7:42","nodeType":"VariableDeclaration","scope":38746,"src":"8063:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38721,"name":"uint256","nodeType":"ElementaryTypeName","src":"8063:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8062:17:42"},"scope":38747,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":38176,"name":"IERC20","nameLocations":["391:6:42"],"nodeType":"IdentifierPath","referencedDeclaration":37823,"src":"391:6:42"},"id":38177,"nodeType":"InheritanceSpecifier","src":"391:6:42"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":38175,"nodeType":"StructuredDocumentation","src":"115:254:42","text":"@notice This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol"},"fullyImplemented":true,"linearizedBaseContracts":[38747,37823],"name":"MockERC20","nameLocation":"378:9:42","scope":38748,"usedErrors":[]}],"license":"MIT"},"id":42}
\ No newline at end of file
diff --git a/pkg/contracts/out/PassportScorer.sol/PassportScorer.json b/pkg/contracts/out/PassportScorer.sol/PassportScorer.json
index dab486d13..6655eeb6b 100644
--- a/pkg/contracts/out/PassportScorer.sol/PassportScorer.json
+++ b/pkg/contracts/out/PassportScorer.sol/PassportScorer.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"activateStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"_councilSafe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_passportData","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"canExecuteAction","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"changeListManager","inputs":[{"name":"_newManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Strategy","components":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_listManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"modifyThreshold","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_newThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategies","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"userScores","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListManagerChanged","inputs":[{"name":"oldManager","type":"address","indexed":true,"internalType":"address"},{"name":"newManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyActivated","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"threshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"active","type":"bool","indexed":false,"internalType":"bool"},{"name":"councilSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ThresholdModified","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"newThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserRemoved","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserScoreAdded","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"score","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastUpdated","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"OnlyAuthorized","inputs":[]},{"type":"error","name":"OnlyCouncil","inputs":[]},{"type":"error","name":"OnlyCouncilOrAuthorized","inputs":[]},{"type":"error","name":"StrategyAlreadyExists","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60a080604052346100315730608052611534908161003782396080518181816108c6015281816109e60152610d6b0152f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220fc5b99a07f12d7af75d94d4972be64bcfd595b2425afc33fa578a5eeabe922c964736f6c63430008130033","sourceMap":"452:5909:116:-:0;;;;;;;1088:4:66;1080:13;;452:5909:116;;;;;;1080:13:66;452:5909:116;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220fc5b99a07f12d7af75d94d4972be64bcfd595b2425afc33fa578a5eeabe922c964736f6c63430008130033","sourceMap":"452:5909:116:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;;;;;;;1534:6:47;452:5909:116;;1388:10;:21;:50;;;;452:5909;1384:136;;;3730:9;3769:12;3730:9;;;;;:::i;:::-;3769:12;:::i;:::-;452:5909;;;;;3796:10;452:5909;;;;;;;;3796:36;;;;:87;;;1384:136;3792:148;;;;452:5909;;;;;4063:57;452:5909;;;;;:::i;:::-;;;;;3973:75;;452:5909;;;;;3973:75;;;452:5909;;;;;;;3796:10;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4063:57;452:5909;;3792:148;452:5909;;-1:-1:-1;;;3906:23:116;;;3796:87;452:5909;3836:33;452:5909;;;;3836:47;;;-1:-1:-1;3796:87:116;;;;1384:136;452:5909;;-1:-1:-1;;;1493:16:116;;452:5909;;1493:16;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6227:10;452:5909;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;1324:62:47;;;:::i;:::-;-1:-1:-1;;;;;452:5909:116;;2423:22:47;452:5909:116;;2517:8:47;;;;:::i;:::-;452:5909:116;;;;;;;;689:66:62;;;;452:5909:116;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;-1:-1:-1;;;;;452:5909:116;;;;;;1870:10;452:5909;;;;;;1870:33;452:5909;;;;1856:10;452:5909;;;;;;1856:47;452:5909;;4727:9;;;452:5909;4727:9;;:::i;:::-;452:5909;;;1870:10;452:5909;;;;4747:28;452:5909;;-1:-1:-1;;452:5909:116;;;;;4797:28;452:5909;;4797:28;452:5909;;1852:130;452:5909;;-1:-1:-1;;;1958:13:116;;;452:5909;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;;;;;;;;3301:14:49;3347:34;;;;;;452:5909:116;3346:108:49;;;;452:5909:116;;;;-1:-1:-1;;;452:5909:116;;3551:1:49;452:5909:116;;;;3562:65:49;;452:5909:116;;5366:69:49;452:5909:116;;;;;;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;2264::116;;;:::i;:::-;2287:26;452:5909;;-1:-1:-1;;;;;;452:5909:116;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;3647:99:49;;452:5909:116;;;3647:99:49;452:5909:116;3721:14:49;452:5909:116;;;;;;;;;3551:1:49;452:5909:116;;3721:14:49;452:5909:116;;3562:65:49;-1:-1:-1;;452:5909:116;;;;;3562:65:49;;;452:5909:116;;;;;;689:66:62;;;;452:5909:116;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;3346:108:49;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;452:5909:116;3452:1:49;452:5909:116;;;3436:17:49;3346:108;;3347:34;452:5909:116;3380:1:49;452:5909:116;;;3365:16:49;3347:34;;452:5909:116;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;452:5909:116;;;6004:10;452:5909;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;1534:6:47;452:5909:116;-1:-1:-1;;;;;452:5909:116;;;;1388:10;:21;:50;;;;452:5909;1384:136;;;2975:5;;;;;452:5909;2975:5;;:::i;:::-;452:5909;;;;;2998:10;452:5909;;;;;;;;;3030:18;;;;452:5909;;1384:136;452:5909;;-1:-1:-1;;;1493:16:116;;;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;550:26;452:5909;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;;;;;;;;;1534:6:47;452:5909:116;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;1534:6:47;452:5909:116;;1388:10;:21;:50;;;;452:5909;1384:136;;;2637:5;2701:69;2637:5;;;;;452:5909;2637:5;;:::i;:::-;452:5909;;;;;2653:10;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;2701:69;452:5909;;1384:136;452:5909;;-1:-1:-1;;;1493:16:116;;;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;;;;1324:62:47;;:::i;:::-;2779:6;452:5909:116;;-1:-1:-1;;;;;;452:5909:116;;;;;;;-1:-1:-1;;;;;452:5909:116;-1:-1:-1;;;;;;;;;;;452:5909:116;;2827:40:47;452:5909:116;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1534:6:47;452:5909:116;;;;-1:-1:-1;;;;;452:5909:116;;;;1598:10;:21;:50;;;;452:5909;1598:101;;;;452:5909;1594:196;;;5168:9;;452:5909;5168:9;;;5250:43;5168:9;;:::i;:::-;452:5909;;;;;5188:10;452:5909;;;;;;;;;;;5250:43;452:5909;;1594:196;452:5909;;-1:-1:-1;;;1754:25:116;;;1598:101;452:5909;;;;;;1666:10;452:5909;;;;;;;1666:33;452:5909;;;;1598:10;1652:47;1598:101;;:50;452:5909;;1637:11;452:5909;;1598:10;1623:25;1598:50;;452:5909;;;;;;;;;;;;;;-1:-1:-1;2089:6:66;-1:-1:-1;;;;;452:5909:116;2080:4:66;2072:23;452:5909:116;;;;;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;;;;689:66:62;;;;452:5909:116;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1654:6:66;452:5909:116;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;;2993:17:62;;;;;;;;;;:::i;2906:504::-;452:5909:116;;;;;;;;;;689:66:62;;;3046:52;;;;;;;;;;;;;;2906:504;-1:-1:-1;3042:291:62;;452:5909:116;;-1:-1:-1;;;3262:56:62;;;;;689:66;;;;452:5909:116;689:66:62;;452:5909:116;-1:-1:-1;;;;;;;;;;;452:5909:116;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;;;;;;689:66;;3042:291;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:62;;;452:5909:116;;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;;;452:5909:116;;2204:112:62;452:5909:116;7307:69:78;452:5909:116;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;7265:25:78;;;;;;452:5909:116;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;7307:69:78;:::i;:::-;;2204:112:62;;;;;;;;452:5909:116;-1:-1:-1;452:5909:116;;-1:-1:-1;7307:69:78;:::i;2208:28:62:-;;452:5909:116;2208:28:62;;689:66;452:5909:116;;-1:-1:-1;;;689:66:62;;;;;;;;;452:5909:116;689:66:62;;452:5909:116;689:66:62;452:5909:116;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;452:5909:116;;;3046:52:62;;;;;452:5909:116;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;3273:11:116;;;:::i;:::-;3316;452:5909;;-1:-1:-1;;;;;452:5909:116;;;-1:-1:-1;;;;;;452:5909:116;;;;;;;;;;3377:43;;;;452:5909;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;:::i;:::-;;;;639:46;452:5909;;;;;;;639:46;;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1654:6:66;452:5909:116;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;452:5909:116;;;;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;;2993:17:62;;;;;;;;;;:::i;2906:504::-;452:5909:116;;;;;;;;;;689:66:62;;;3046:52;;;;;;;;;;;;;;2906:504;-1:-1:-1;3042:291:62;;452:5909:116;;-1:-1:-1;;;3262:56:62;;;;;689:66;;;;;;;452:5909:116;-1:-1:-1;;;;;;;;;;;452:5909:116;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;;;;;;689:66;;3042:291;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:62;;;452:5909:116;;;2208:15:62;;;:28;;;2204:112;;2906:504;;;;;;452:5909:116;;2208:28:62;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;452:5909:116;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;1534:6:47;452:5909:116;-1:-1:-1;;;;;452:5909:116;;;;1598:10;:21;:50;;;;452:5909;1598:101;;;;452:5909;1594:196;;;4369:9;;;;;;;:::i;:::-;452:5909;;;;4389:10;452:5909;;;;;;4389:28;;452:5909;;-1:-1:-1;;452:5909:116;;;;4485:26;;;;452:5909;;1594:196;452:5909;;-1:-1:-1;;;1754:25:116;;;1598:101;452:5909;;;;;;1666:10;452:5909;;;;;;;1666:33;452:5909;;;;1598:10;1652:47;1598:101;;:50;452:5909;;1637:11;452:5909;;1598:10;1623:25;1598:50;;452:5909;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;-1:-1:-1;;;;;452:5909:116;;:::i;:::-;;;;583:50;452:5909;;;;;;583:50;;452:5909;;;;;;;;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;:::o;:::-;;;;;-1:-1:-1;;452:5909:116;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;452:5909:116;;;;;;-1:-1:-1;;452:5909:116;;;;:::o;1620:130:47:-;1534:6;452:5909:116;-1:-1:-1;;;;;452:5909:116;965:10:53;1683:23:47;452:5909:116;;1620:130:47:o;452:5909:116:-;;;;689:66:62;;;452:5909:116;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;452:5909:116;;-1:-1:-1;;;;;452:5909:116;;;-1:-1:-1;;;;;;452:5909:116;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;452:5909:116:-;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;-1:-1:-1;;;452:5909:116;;;;;;;1406:259:62;1702:19:78;;:23;452:5909:116;;-1:-1:-1;;;;;;;;;;;452:5909:116;;-1:-1:-1;;;;;;452:5909:116;-1:-1:-1;;;;;452:5909:116;;;;;;;;;1406:259:62:o;452:5909:116:-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;;;7671:628:78;;;;7875:418;;;452:5909:116;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;452:5909:116;;8201:17:78;:::o;452:5909:116:-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;;;;;7875:418:78;452:5909:116;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;452:5909:116;;689:66:62;;;;9324:20:78;;452:5909:116;;9324:20:78;;;;452:5909:116;;;;;;;;;9000:1:78;452:5909:116;;;;;;;;;;;;9000:1:78;452:5909:116;;;;;;;;;;;;;;9324:20:78;;;;452:5909:116;;;;;;;;;;;;;;;;;;;-1:-1:-1;452:5909:116;;;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;;;1994:148;-1:-1:-1;;;;;452:5909:116;2067:22;2063:73;;1994:148::o;2063:73::-;452:5909;;-1:-1:-1;;;2112:13:116;;;;;5465:345;;452:5909;;;;;;;;-1:-1:-1;452:5909:116;5605:10;452:5909;;;;-1:-1:-1;452:5909:116;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;452:5909:116;5659:10;452:5909;;;-1:-1:-1;452:5909:116;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:58;;452:5909;5766:37;;5465:345;:::o;5691:58::-;5727:11;;452:5909;5727:11;:::o","linkReferences":{},"immutableReferences":{"55653":[{"start":2246,"length":32},{"start":2534,"length":32},{"start":3435,"length":32}]}},"methodIdentifiers":{"activateStrategy(address)":"d80ea5a0","addStrategy(address,uint256,address)":"fc2ebdd1","addUserScore(address,(uint256,uint256))":"7814d568","canExecuteAction(address,address)":"42a987a0","changeListManager(address)":"3d476830","getStrategy(address)":"f8806a13","getUserScore(address)":"b34e0c47","initialize(address)":"c4d66de8","listManager()":"8df8b2fe","modifyThreshold(address,uint256)":"642ce76b","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","removeStrategy(address)":"175188e8","removeUser(address)":"98575188","renounceOwnership()":"715018a6","strategies(address)":"39ebf823","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","userScores(address)":"1413d4c0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilOrAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ListManagerChanged\",\"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\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"ThresholdModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"name\":\"UserScoreAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_councilSafe\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"_passportData\",\"type\":\"tuple\"}],\"name\":\"addUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"canExecuteAction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getStrategy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"internalType\":\"struct Strategy\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserScore\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_listManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"modifyThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"removeUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"strategies\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userScores\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"activateStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to activate\"}},\"addStrategy(address,uint256,address)\":{\"params\":{\"_councilSafe\":\"address of the council safe\",\"_threshold\":\"is expressed on a scale of 10**4\"}},\"addUserScore(address,(uint256,uint256))\":{\"params\":{\"_passportData\":\"PassportData struct with the user score and lastUpdated\",\"_user\":\"address of the user to add\"}},\"canExecuteAction(address,address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\",\"_user\":\"address of the user to check\"}},\"changeListManager(address)\":{\"params\":{\"_newManager\":\"address of the new list manager\"}},\"getStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\"}},\"getUserScore(address)\":{\"params\":{\"_user\":\"address of the user to check\"}},\"modifyThreshold(address,uint256)\":{\"params\":{\"_newThreshold\":\"new threshold to set expressed on a scale of 10**4\",\"_strategy\":\"address of the strategy to modify\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to remove\"}},\"removeUser(address)\":{\"params\":{\"_user\":\"address of the user to remove\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateStrategy(address)\":{\"notice\":\"Activate a strategy\"},\"addStrategy(address,uint256,address)\":{\"notice\":\"Add a strategy to the contract\"},\"addUserScore(address,(uint256,uint256))\":{\"notice\":\"Add a userScore to the list\"},\"canExecuteAction(address,address)\":{\"notice\":\"Check if an action can be executed\"},\"changeListManager(address)\":{\"notice\":\"Change the list manager address\"},\"getStrategy(address)\":{\"notice\":\"Get the strategy data\"},\"getUserScore(address)\":{\"notice\":\"Get the score of a user\"},\"modifyThreshold(address,uint256)\":{\"notice\":\"Modify the threshold of a strategy\"},\"removeStrategy(address)\":{\"notice\":\"Remove a strategy from the contract\"},\"removeUser(address)\":{\"notice\":\"Remove a user from the list\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/PassportScorer.sol\":\"PassportScorer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf\",\"dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"OnlyAuthorized"},{"inputs":[],"type":"error","name":"OnlyCouncil"},{"inputs":[],"type":"error","name":"OnlyCouncilOrAuthorized"},{"inputs":[],"type":"error","name":"StrategyAlreadyExists"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"oldManager","type":"address","indexed":true},{"internalType":"address","name":"newManager","type":"address","indexed":true}],"type":"event","name":"ListManagerChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"threshold","type":"uint256","indexed":false},{"internalType":"bool","name":"active","type":"bool","indexed":false},{"internalType":"address","name":"councilSafe","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"newThreshold","type":"uint256","indexed":false}],"type":"event","name":"ThresholdModified","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"UserRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"score","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastUpdated","type":"uint256","indexed":false}],"type":"event","name":"UserScoreAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateStrategy"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"_councilSafe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"struct PassportData","name":"_passportData","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"addUserScore"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"canExecuteAction","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeListManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"struct Strategy","name":"","type":"tuple","components":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserScore","outputs":[{"internalType":"struct PassportData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_listManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"modifyThreshold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"strategies","outputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"userScores","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activateStrategy(address)":{"params":{"_strategy":"address of the strategy to activate"}},"addStrategy(address,uint256,address)":{"params":{"_councilSafe":"address of the council safe","_threshold":"is expressed on a scale of 10**4"}},"addUserScore(address,(uint256,uint256))":{"params":{"_passportData":"PassportData struct with the user score and lastUpdated","_user":"address of the user to add"}},"canExecuteAction(address,address)":{"params":{"_strategy":"address of the strategy to check","_user":"address of the user to check"}},"changeListManager(address)":{"params":{"_newManager":"address of the new list manager"}},"getStrategy(address)":{"params":{"_strategy":"address of the strategy to check"}},"getUserScore(address)":{"params":{"_user":"address of the user to check"}},"modifyThreshold(address,uint256)":{"params":{"_newThreshold":"new threshold to set expressed on a scale of 10**4","_strategy":"address of the strategy to modify"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"removeStrategy(address)":{"params":{"_strategy":"address of the strategy to remove"}},"removeUser(address)":{"params":{"_user":"address of the user to remove"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"activateStrategy(address)":{"notice":"Activate a strategy"},"addStrategy(address,uint256,address)":{"notice":"Add a strategy to the contract"},"addUserScore(address,(uint256,uint256))":{"notice":"Add a userScore to the list"},"canExecuteAction(address,address)":{"notice":"Check if an action can be executed"},"changeListManager(address)":{"notice":"Change the list manager address"},"getStrategy(address)":{"notice":"Get the strategy data"},"getUserScore(address)":{"notice":"Get the score of a user"},"modifyThreshold(address,uint256)":{"notice":"Modify the threshold of a strategy"},"removeStrategy(address)":{"notice":"Remove a strategy from the contract"},"removeUser(address)":{"notice":"Remove a user from the list"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/PassportScorer.sol":"PassportScorer"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b","urls":["bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf","dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":76292,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"listManager","offset":0,"slot":"101","type":"t_address"},{"astId":76297,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"userScores","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(PassportData)76188_storage)"},{"astId":76302,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"strategies","offset":0,"slot":"103","type":"t_mapping(t_address,t_struct(Strategy)76195_storage)"},{"astId":76765,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(PassportData)76188_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct PassportData)","numberOfBytes":"32","value":"t_struct(PassportData)76188_storage"},"t_mapping(t_address,t_struct(Strategy)76195_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Strategy)","numberOfBytes":"32","value":"t_struct(Strategy)76195_storage"},"t_struct(PassportData)76188_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":76185,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":76187,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(Strategy)76195_storage":{"encoding":"inplace","label":"struct Strategy","numberOfBytes":"64","members":[{"astId":76190,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"threshold","offset":0,"slot":"0","type":"t_uint256"},{"astId":76192,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"active","offset":0,"slot":"1","type":"t_bool"},{"astId":76194,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"councilSafe","offset":1,"slot":"1","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/PassportScorer.sol","id":76767,"exportedSymbols":{"ISybilScorer":[76270],"Initializable":[53233],"OwnableUpgradeable":[52984],"PassportData":[76188],"PassportScorer":[76766],"Strategy":[76195],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"46:6316:116","nodes":[{"id":76272,"nodeType":"PragmaDirective","src":"46:24:116","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76276,"nodeType":"ImportDirective","src":"72:72:116","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":76767,"sourceUnit":76271,"symbolAliases":[{"foreign":{"id":76273,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76270,"src":"80:12:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76274,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76188,"src":"94:12:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76275,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76195,"src":"108:8:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76278,"nodeType":"ImportDirective","src":"145:88:116","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":76767,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":76277,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"153:15:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76280,"nodeType":"ImportDirective","src":"234:110:116","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":76767,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":76279,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"242:18:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76282,"nodeType":"ImportDirective","src":"345:105:116","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":76767,"sourceUnit":53234,"symbolAliases":[{"foreign":{"id":76281,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53233,"src":"353:13:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76766,"nodeType":"ContractDefinition","src":"452:5909:116","nodes":[{"id":76292,"nodeType":"VariableDeclaration","src":"550:26:116","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"565:11:116","scope":76766,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76291,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":76297,"nodeType":"VariableDeclaration","src":"583:50:116","nodes":[],"constant":false,"functionSelector":"1413d4c0","mutability":"mutable","name":"userScores","nameLocation":"623:10:116","scope":76766,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76188_storage_$","typeString":"mapping(address => struct PassportData)"},"typeName":{"id":76296,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76293,"name":"address","nodeType":"ElementaryTypeName","src":"591:7:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"583:32:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76188_storage_$","typeString":"mapping(address => struct PassportData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76295,"nodeType":"UserDefinedTypeName","pathNode":{"id":76294,"name":"PassportData","nameLocations":["602:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76188,"src":"602:12:116"},"referencedDeclaration":76188,"src":"602:12:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage_ptr","typeString":"struct PassportData"}}},"visibility":"public"},{"id":76302,"nodeType":"VariableDeclaration","src":"639:46:116","nodes":[],"constant":false,"functionSelector":"39ebf823","mutability":"mutable","name":"strategies","nameLocation":"675:10:116","scope":76766,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy)"},"typeName":{"id":76301,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76298,"name":"address","nodeType":"ElementaryTypeName","src":"647:7:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"639:28:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76300,"nodeType":"UserDefinedTypeName","pathNode":{"id":76299,"name":"Strategy","nameLocations":["658:8:116"],"nodeType":"IdentifierPath","referencedDeclaration":76195,"src":"658:8:116"},"referencedDeclaration":76195,"src":"658:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage_ptr","typeString":"struct Strategy"}}},"visibility":"public"},{"id":76310,"nodeType":"EventDefinition","src":"692:79:116","nodes":[],"anonymous":false,"eventSelector":"1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d","name":"UserScoreAdded","nameLocation":"698:14:116","parameters":{"id":76309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76304,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"729:4:116","nodeType":"VariableDeclaration","scope":76310,"src":"713:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76303,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76306,"indexed":false,"mutability":"mutable","name":"score","nameLocation":"743:5:116","nodeType":"VariableDeclaration","scope":76310,"src":"735:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76305,"name":"uint256","nodeType":"ElementaryTypeName","src":"735:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76308,"indexed":false,"mutability":"mutable","name":"lastUpdated","nameLocation":"758:11:116","nodeType":"VariableDeclaration","scope":76310,"src":"750:19:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76307,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"712:58:116"}},{"id":76314,"nodeType":"EventDefinition","src":"776:40:116","nodes":[],"anonymous":false,"eventSelector":"e9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d","name":"UserRemoved","nameLocation":"782:11:116","parameters":{"id":76313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76312,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"810:4:116","nodeType":"VariableDeclaration","scope":76314,"src":"794:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76311,"name":"address","nodeType":"ElementaryTypeName","src":"794:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"793:22:116"}},{"id":76320,"nodeType":"EventDefinition","src":"821:81:116","nodes":[],"anonymous":false,"eventSelector":"5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc86","name":"ListManagerChanged","nameLocation":"827:18:116","parameters":{"id":76319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76316,"indexed":true,"mutability":"mutable","name":"oldManager","nameLocation":"862:10:116","nodeType":"VariableDeclaration","scope":76320,"src":"846:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76315,"name":"address","nodeType":"ElementaryTypeName","src":"846:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76318,"indexed":true,"mutability":"mutable","name":"newManager","nameLocation":"890:10:116","nodeType":"VariableDeclaration","scope":76320,"src":"874:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76317,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"845:56:116"}},{"id":76330,"nodeType":"EventDefinition","src":"907:99:116","nodes":[],"anonymous":false,"eventSelector":"9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb","name":"StrategyAdded","nameLocation":"913:13:116","parameters":{"id":76329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76322,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"943:8:116","nodeType":"VariableDeclaration","scope":76330,"src":"927:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76321,"name":"address","nodeType":"ElementaryTypeName","src":"927:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76324,"indexed":false,"mutability":"mutable","name":"threshold","nameLocation":"961:9:116","nodeType":"VariableDeclaration","scope":76330,"src":"953:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76323,"name":"uint256","nodeType":"ElementaryTypeName","src":"953:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76326,"indexed":false,"mutability":"mutable","name":"active","nameLocation":"977:6:116","nodeType":"VariableDeclaration","scope":76330,"src":"972:11:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76325,"name":"bool","nodeType":"ElementaryTypeName","src":"972:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76328,"indexed":false,"mutability":"mutable","name":"councilSafe","nameLocation":"993:11:116","nodeType":"VariableDeclaration","scope":76330,"src":"985:19:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76327,"name":"address","nodeType":"ElementaryTypeName","src":"985:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"926:79:116"}},{"id":76334,"nodeType":"EventDefinition","src":"1011:48:116","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"1017:15:116","parameters":{"id":76333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76332,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1049:8:116","nodeType":"VariableDeclaration","scope":76334,"src":"1033:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76331,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1032:26:116"}},{"id":76338,"nodeType":"EventDefinition","src":"1064:50:116","nodes":[],"anonymous":false,"eventSelector":"652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb","name":"StrategyActivated","nameLocation":"1070:17:116","parameters":{"id":76337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76336,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1104:8:116","nodeType":"VariableDeclaration","scope":76338,"src":"1088:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76335,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1087:26:116"}},{"id":76344,"nodeType":"EventDefinition","src":"1119:72:116","nodes":[],"anonymous":false,"eventSelector":"40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09","name":"ThresholdModified","nameLocation":"1125:17:116","parameters":{"id":76343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76340,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1159:8:116","nodeType":"VariableDeclaration","scope":76344,"src":"1143:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76339,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76342,"indexed":false,"mutability":"mutable","name":"newThreshold","nameLocation":"1177:12:116","nodeType":"VariableDeclaration","scope":76344,"src":"1169:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76341,"name":"uint256","nodeType":"ElementaryTypeName","src":"1169:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1142:48:116"}},{"id":76346,"nodeType":"ErrorDefinition","src":"1197:23:116","nodes":[],"errorSelector":"7d7b71b5","name":"OnlyAuthorized","nameLocation":"1203:14:116","parameters":{"id":76345,"nodeType":"ParameterList","parameters":[],"src":"1217:2:116"}},{"id":76348,"nodeType":"ErrorDefinition","src":"1225:32:116","nodes":[],"errorSelector":"e3b6914b","name":"OnlyCouncilOrAuthorized","nameLocation":"1231:23:116","parameters":{"id":76347,"nodeType":"ParameterList","parameters":[],"src":"1254:2:116"}},{"id":76350,"nodeType":"ErrorDefinition","src":"1262:20:116","nodes":[],"errorSelector":"97ffbac9","name":"OnlyCouncil","nameLocation":"1268:11:116","parameters":{"id":76349,"nodeType":"ParameterList","parameters":[],"src":"1279:2:116"}},{"id":76352,"nodeType":"ErrorDefinition","src":"1287:20:116","nodes":[],"errorSelector":"d92e233d","name":"ZeroAddress","nameLocation":"1293:11:116","parameters":{"id":76351,"nodeType":"ParameterList","parameters":[],"src":"1304:2:116"}},{"id":76354,"nodeType":"ErrorDefinition","src":"1312:30:116","nodes":[],"errorSelector":"c45546f7","name":"StrategyAlreadyExists","nameLocation":"1318:21:116","parameters":{"id":76353,"nodeType":"ParameterList","parameters":[],"src":"1339:2:116"}},{"id":76374,"nodeType":"ModifierDefinition","src":"1348:178:116","nodes":[],"body":{"id":76373,"nodeType":"Block","src":"1374:152:116","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76356,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1388:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1392:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1388:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":76358,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52907,"src":"1402:5:116","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":76359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1402:7:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1388:21:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76361,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1413:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1417:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1413:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":76363,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76292,"src":"1427:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1413:25:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1388:50:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76371,"nodeType":"Block","src":"1472:48:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76368,"name":"OnlyAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76346,"src":"1493:14:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1493:16:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76370,"nodeType":"RevertStatement","src":"1486:23:116"}]},"id":76372,"nodeType":"IfStatement","src":"1384:136:116","trueBody":{"id":76367,"nodeType":"Block","src":"1440:26:116","statements":[{"id":76366,"nodeType":"PlaceholderStatement","src":"1454:1:116"}]}}]},"name":"onlyAuthorized","nameLocation":"1357:14:116","parameters":{"id":76355,"nodeType":"ParameterList","parameters":[],"src":"1371:2:116"},"virtual":false,"visibility":"internal"},{"id":76404,"nodeType":"ModifierDefinition","src":"1532:264:116","nodes":[],"body":{"id":76403,"nodeType":"Block","src":"1584:212:116","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76378,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1598:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1602:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1598:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":76380,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52907,"src":"1612:5:116","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":76381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:7:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1598:21:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76383,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1623:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1627:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1623:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":76385,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76292,"src":"1637:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1623:25:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:50:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76388,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1652:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1656:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1652:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":76390,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"1666:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76392,"indexExpression":{"id":76391,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76376,"src":"1677:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1666:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"id":76393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1688:11:116","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":76194,"src":"1666:33:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1652:47:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:101:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76401,"nodeType":"Block","src":"1733:57:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76398,"name":"OnlyCouncilOrAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76348,"src":"1754:23:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:25:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76400,"nodeType":"RevertStatement","src":"1747:32:116"}]},"id":76402,"nodeType":"IfStatement","src":"1594:196:116","trueBody":{"id":76397,"nodeType":"Block","src":"1701:26:116","statements":[{"id":76396,"nodeType":"PlaceholderStatement","src":"1715:1:116"}]}}]},"name":"onlyCouncilOrAuthorized","nameLocation":"1541:23:116","parameters":{"id":76377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76376,"mutability":"mutable","name":"_strategy","nameLocation":"1573:9:116","nodeType":"VariableDeclaration","scope":76404,"src":"1565:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76375,"name":"address","nodeType":"ElementaryTypeName","src":"1565:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1564:19:116"},"virtual":false,"visibility":"internal"},{"id":76423,"nodeType":"ModifierDefinition","src":"1802:186:116","nodes":[],"body":{"id":76422,"nodeType":"Block","src":"1842:146:116","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76408,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1856:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1860:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1856:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":76410,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"1870:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76412,"indexExpression":{"id":76411,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"1881:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1870:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"id":76413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1892:11:116","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":76194,"src":"1870:33:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1856:47:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76420,"nodeType":"Block","src":"1937:45:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76417,"name":"OnlyCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76350,"src":"1958:11:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1958:13:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76419,"nodeType":"RevertStatement","src":"1951:20:116"}]},"id":76421,"nodeType":"IfStatement","src":"1852:130:116","trueBody":{"id":76416,"nodeType":"Block","src":"1905:26:116","statements":[{"id":76415,"nodeType":"PlaceholderStatement","src":"1919:1:116"}]}}]},"name":"onlyCouncil","nameLocation":"1811:11:116","parameters":{"id":76407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76406,"mutability":"mutable","name":"_strategy","nameLocation":"1831:9:116","nodeType":"VariableDeclaration","scope":76423,"src":"1823:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76405,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1822:19:116"},"virtual":false,"visibility":"internal"},{"id":76440,"nodeType":"FunctionDefinition","src":"1994:148:116","nodes":[],"body":{"id":76439,"nodeType":"Block","src":"2053:89:116","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76428,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76425,"src":"2067:8:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":76431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2087:1:116","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2079:7:116","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76429,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:116","typeDescriptions":{}}},"id":76432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2079:10:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2067:22:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76438,"nodeType":"IfStatement","src":"2063:73:116","trueBody":{"id":76437,"nodeType":"Block","src":"2091:45:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76434,"name":"ZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76352,"src":"2112:11:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2112:13:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76436,"nodeType":"RevertStatement","src":"2105:20:116"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"2003:18:116","parameters":{"id":76426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76425,"mutability":"mutable","name":"_address","nameLocation":"2030:8:116","nodeType":"VariableDeclaration","scope":76440,"src":"2022:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76424,"name":"address","nodeType":"ElementaryTypeName","src":"2022:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2021:18:116"},"returnParameters":{"id":76427,"nodeType":"ParameterList","parameters":[],"src":"2053:0:116"},"scope":76766,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":76459,"nodeType":"FunctionDefinition","src":"2148:172:116","nodes":[],"body":{"id":76458,"nodeType":"Block","src":"2209:111:116","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":76447,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"2219:14:116","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":76448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2219:16:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76449,"nodeType":"ExpressionStatement","src":"2219:16:116"},{"expression":{"arguments":[{"id":76451,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76442,"src":"2264:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76450,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"2245:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2245:32:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76453,"nodeType":"ExpressionStatement","src":"2245:32:116"},{"expression":{"id":76456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76454,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76292,"src":"2287:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76455,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76442,"src":"2301:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2287:26:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76457,"nodeType":"ExpressionStatement","src":"2287:26:116"}]},"baseFunctions":[76200],"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":76445,"kind":"modifierInvocation","modifierName":{"id":76444,"name":"initializer","nameLocations":["2197:11:116"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"2197:11:116"},"nodeType":"ModifierInvocation","src":"2197:11:116"}],"name":"initialize","nameLocation":"2157:10:116","parameters":{"id":76443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76442,"mutability":"mutable","name":"_listManager","nameLocation":"2176:12:116","nodeType":"VariableDeclaration","scope":76459,"src":"2168:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76441,"name":"address","nodeType":"ElementaryTypeName","src":"2168:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2167:22:116"},"returnParameters":{"id":76446,"nodeType":"ParameterList","parameters":[],"src":"2209:0:116"},"scope":76766,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":76490,"nodeType":"FunctionDefinition","src":"2503:274:116","nodes":[],"body":{"id":76489,"nodeType":"Block","src":"2608:169:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76472,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76462,"src":"2637:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76471,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"2618:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:25:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76474,"nodeType":"ExpressionStatement","src":"2618:25:116"},{"expression":{"id":76479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76475,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76297,"src":"2653:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76188_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":76477,"indexExpression":{"id":76476,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76462,"src":"2664:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2653:17:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76478,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76465,"src":"2673:13:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"src":"2653:33:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}},"id":76480,"nodeType":"ExpressionStatement","src":"2653:33:116"},{"eventCall":{"arguments":[{"id":76482,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76462,"src":"2716:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76483,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76465,"src":"2723:13:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"id":76484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2737:5:116","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76185,"src":"2723:19:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76485,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76465,"src":"2744:13:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"id":76486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2758:11:116","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":76187,"src":"2744:25:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76481,"name":"UserScoreAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76310,"src":"2701:14:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":76487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:69:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76488,"nodeType":"EmitStatement","src":"2696:74:116"}]},"baseFunctions":[76208],"documentation":{"id":76460,"nodeType":"StructuredDocumentation","src":"2326:172:116","text":"@notice Add a userScore to the list\n @param _user address of the user to add\n @param _passportData PassportData struct with the user score and lastUpdated"},"functionSelector":"7814d568","implemented":true,"kind":"function","modifiers":[{"id":76469,"kind":"modifierInvocation","modifierName":{"id":76468,"name":"onlyAuthorized","nameLocations":["2593:14:116"],"nodeType":"IdentifierPath","referencedDeclaration":76374,"src":"2593:14:116"},"nodeType":"ModifierInvocation","src":"2593:14:116"}],"name":"addUserScore","nameLocation":"2512:12:116","overrides":{"id":76467,"nodeType":"OverrideSpecifier","overrides":[],"src":"2584:8:116"},"parameters":{"id":76466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76462,"mutability":"mutable","name":"_user","nameLocation":"2533:5:116","nodeType":"VariableDeclaration","scope":76490,"src":"2525:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76461,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76465,"mutability":"mutable","name":"_passportData","nameLocation":"2560:13:116","nodeType":"VariableDeclaration","scope":76490,"src":"2540:33:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":76464,"nodeType":"UserDefinedTypeName","pathNode":{"id":76463,"name":"PassportData","nameLocations":["2540:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76188,"src":"2540:12:116"},"referencedDeclaration":76188,"src":"2540:12:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"2524:50:116"},"returnParameters":{"id":76470,"nodeType":"ParameterList","parameters":[],"src":"2608:0:116"},"scope":76766,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76513,"nodeType":"FunctionDefinition","src":"2878:177:116","nodes":[],"body":{"id":76512,"nodeType":"Block","src":"2946:109:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76500,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76493,"src":"2975:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76499,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"2956:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2956:25:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76502,"nodeType":"ExpressionStatement","src":"2956:25:116"},{"expression":{"id":76506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2991:24:116","subExpression":{"baseExpression":{"id":76503,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76297,"src":"2998:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76188_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":76505,"indexExpression":{"id":76504,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76493,"src":"3009:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2998:17:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76507,"nodeType":"ExpressionStatement","src":"2991:24:116"},{"eventCall":{"arguments":[{"id":76509,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76493,"src":"3042:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76508,"name":"UserRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76314,"src":"3030:11:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":76510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3030:18:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76511,"nodeType":"EmitStatement","src":"3025:23:116"}]},"baseFunctions":[76213],"documentation":{"id":76491,"nodeType":"StructuredDocumentation","src":"2783:90:116","text":"@notice Remove a user from the list\n @param _user address of the user to remove"},"functionSelector":"98575188","implemented":true,"kind":"function","modifiers":[{"id":76497,"kind":"modifierInvocation","modifierName":{"id":76496,"name":"onlyAuthorized","nameLocations":["2931:14:116"],"nodeType":"IdentifierPath","referencedDeclaration":76374,"src":"2931:14:116"},"nodeType":"ModifierInvocation","src":"2931:14:116"}],"name":"removeUser","nameLocation":"2887:10:116","overrides":{"id":76495,"nodeType":"OverrideSpecifier","overrides":[],"src":"2922:8:116"},"parameters":{"id":76494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76493,"mutability":"mutable","name":"_user","nameLocation":"2906:5:116","nodeType":"VariableDeclaration","scope":76513,"src":"2898:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76492,"name":"address","nodeType":"ElementaryTypeName","src":"2898:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2897:15:116"},"returnParameters":{"id":76498,"nodeType":"ParameterList","parameters":[],"src":"2946:0:116"},"scope":76766,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76540,"nodeType":"FunctionDefinition","src":"3168:259:116","nodes":[],"body":{"id":76539,"nodeType":"Block","src":"3244:183:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76523,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76516,"src":"3273:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76522,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"3254:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3254:31:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76525,"nodeType":"ExpressionStatement","src":"3254:31:116"},{"assignments":[76527],"declarations":[{"constant":false,"id":76527,"mutability":"mutable","name":"oldManager","nameLocation":"3303:10:116","nodeType":"VariableDeclaration","scope":76539,"src":"3295:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76526,"name":"address","nodeType":"ElementaryTypeName","src":"3295:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":76529,"initialValue":{"id":76528,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76292,"src":"3316:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3295:32:116"},{"expression":{"id":76532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76530,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76292,"src":"3337:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76531,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76516,"src":"3351:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3337:25:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76533,"nodeType":"ExpressionStatement","src":"3337:25:116"},{"eventCall":{"arguments":[{"id":76535,"name":"oldManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76527,"src":"3396:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76536,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76516,"src":"3408:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76534,"name":"ListManagerChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76320,"src":"3377:18:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":76537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:43:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76538,"nodeType":"EmitStatement","src":"3372:48:116"}]},"baseFunctions":[76218],"documentation":{"id":76514,"nodeType":"StructuredDocumentation","src":"3061:102:116","text":"@notice Change the list manager address\n @param _newManager address of the new list manager"},"functionSelector":"3d476830","implemented":true,"kind":"function","modifiers":[{"id":76520,"kind":"modifierInvocation","modifierName":{"id":76519,"name":"onlyOwner","nameLocations":["3234:9:116"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"3234:9:116"},"nodeType":"ModifierInvocation","src":"3234:9:116"}],"name":"changeListManager","nameLocation":"3177:17:116","overrides":{"id":76518,"nodeType":"OverrideSpecifier","overrides":[],"src":"3225:8:116"},"parameters":{"id":76517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76516,"mutability":"mutable","name":"_newManager","nameLocation":"3203:11:116","nodeType":"VariableDeclaration","scope":76540,"src":"3195:19:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76515,"name":"address","nodeType":"ElementaryTypeName","src":"3195:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3194:21:116"},"returnParameters":{"id":76521,"nodeType":"ParameterList","parameters":[],"src":"3244:0:116"},"scope":76766,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76599,"nodeType":"FunctionDefinition","src":"3595:532:116","nodes":[],"body":{"id":76598,"nodeType":"Block","src":"3701:426:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76553,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76543,"src":"3730:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76552,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"3711:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3711:29:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76555,"nodeType":"ExpressionStatement","src":"3711:29:116"},{"expression":{"arguments":[{"id":76557,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76547,"src":"3769:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76556,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"3750:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:32:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76559,"nodeType":"ExpressionStatement","src":"3750:32:116"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76560,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"3796:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76562,"indexExpression":{"id":76561,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76543,"src":"3807:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3796:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"id":76563,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3818:9:116","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":76190,"src":"3796:31:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":76564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3831:1:116","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3796:36:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76566,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"3836:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76568,"indexExpression":{"id":76567,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76543,"src":"3847:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3836:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"id":76569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3858:11:116","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":76194,"src":"3836:33:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":76572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3881:1:116","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3873:7:116","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76570,"name":"address","nodeType":"ElementaryTypeName","src":"3873:7:116","typeDescriptions":{}}},"id":76573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:10:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3836:47:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3796:87:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76580,"nodeType":"IfStatement","src":"3792:148:116","trueBody":{"id":76579,"nodeType":"Block","src":"3885:55:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76576,"name":"StrategyAlreadyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76354,"src":"3906:21:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3906:23:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76578,"nodeType":"RevertStatement","src":"3899:30:116"}]}},{"expression":{"id":76589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76581,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"3949:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76583,"indexExpression":{"id":76582,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76543,"src":"3960:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3949:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":76585,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76545,"src":"3994:10:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":76586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4014:5:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":76587,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76547,"src":"4034:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76584,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76195,"src":"3973:8:116","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Strategy_$76195_storage_ptr_$","typeString":"type(struct Strategy storage pointer)"}},"id":76588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3983:9:116","4006:6:116","4021:11:116"],"names":["threshold","active","councilSafe"],"nodeType":"FunctionCall","src":"3973:75:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_memory_ptr","typeString":"struct Strategy memory"}},"src":"3949:99:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"id":76590,"nodeType":"ExpressionStatement","src":"3949:99:116"},{"eventCall":{"arguments":[{"id":76592,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76543,"src":"4077:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76593,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76545,"src":"4088:10:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":76594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4100:5:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":76595,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76547,"src":"4107:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76591,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"4063:13:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,uint256,bool,address)"}},"id":76596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4063:57:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76597,"nodeType":"EmitStatement","src":"4058:62:116"}]},"baseFunctions":[76243],"documentation":{"id":76541,"nodeType":"StructuredDocumentation","src":"3433:157:116","text":"@notice Add a strategy to the contract\n @param _threshold is expressed on a scale of 10**4\n @param _councilSafe address of the council safe"},"functionSelector":"fc2ebdd1","implemented":true,"kind":"function","modifiers":[{"id":76550,"kind":"modifierInvocation","modifierName":{"id":76549,"name":"onlyAuthorized","nameLocations":["3686:14:116"],"nodeType":"IdentifierPath","referencedDeclaration":76374,"src":"3686:14:116"},"nodeType":"ModifierInvocation","src":"3686:14:116"}],"name":"addStrategy","nameLocation":"3604:11:116","parameters":{"id":76548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76543,"mutability":"mutable","name":"_strategy","nameLocation":"3624:9:116","nodeType":"VariableDeclaration","scope":76599,"src":"3616:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76542,"name":"address","nodeType":"ElementaryTypeName","src":"3616:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76545,"mutability":"mutable","name":"_threshold","nameLocation":"3643:10:116","nodeType":"VariableDeclaration","scope":76599,"src":"3635:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76544,"name":"uint256","nodeType":"ElementaryTypeName","src":"3635:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76547,"mutability":"mutable","name":"_councilSafe","nameLocation":"3663:12:116","nodeType":"VariableDeclaration","scope":76599,"src":"3655:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76546,"name":"address","nodeType":"ElementaryTypeName","src":"3655:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3615:61:116"},"returnParameters":{"id":76551,"nodeType":"ParameterList","parameters":[],"src":"3701:0:116"},"scope":76766,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76632,"nodeType":"FunctionDefinition","src":"4244:274:116","nodes":[],"body":{"id":76631,"nodeType":"Block","src":"4340:178:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76610,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76602,"src":"4369:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76609,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"4350:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4350:29:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76612,"nodeType":"ExpressionStatement","src":"4350:29:116"},{"expression":{"id":76618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":76613,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"4389:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76615,"indexExpression":{"id":76614,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76602,"src":"4400:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4389:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"id":76616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4411:6:116","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":76192,"src":"4389:28:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":76617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4420:5:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4389:36:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76619,"nodeType":"ExpressionStatement","src":"4389:36:116"},{"expression":{"id":76625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":76620,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"4435:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76622,"indexExpression":{"id":76621,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76602,"src":"4446:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4435:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"id":76623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4457:9:116","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":76190,"src":"4435:31:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":76624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4469:1:116","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4435:35:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76626,"nodeType":"ExpressionStatement","src":"4435:35:116"},{"eventCall":{"arguments":[{"id":76628,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76602,"src":"4501:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76627,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76334,"src":"4485:15:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":76629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4485:26:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76630,"nodeType":"EmitStatement","src":"4480:31:116"}]},"baseFunctions":[76248],"documentation":{"id":76600,"nodeType":"StructuredDocumentation","src":"4133:106:116","text":"@notice Remove a strategy from the contract\n @param _strategy address of the strategy to remove"},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":76606,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76602,"src":"4329:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":76607,"kind":"modifierInvocation","modifierName":{"id":76605,"name":"onlyCouncilOrAuthorized","nameLocations":["4305:23:116"],"nodeType":"IdentifierPath","referencedDeclaration":76404,"src":"4305:23:116"},"nodeType":"ModifierInvocation","src":"4305:34:116"}],"name":"removeStrategy","nameLocation":"4253:14:116","overrides":{"id":76604,"nodeType":"OverrideSpecifier","overrides":[],"src":"4296:8:116"},"parameters":{"id":76603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76602,"mutability":"mutable","name":"_strategy","nameLocation":"4276:9:116","nodeType":"VariableDeclaration","scope":76632,"src":"4268:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76601,"name":"address","nodeType":"ElementaryTypeName","src":"4268:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4267:19:116"},"returnParameters":{"id":76608,"nodeType":"ParameterList","parameters":[],"src":"4340:0:116"},"scope":76766,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76657,"nodeType":"FunctionDefinition","src":"4621:211:116","nodes":[],"body":{"id":76656,"nodeType":"Block","src":"4698:134:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76642,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76635,"src":"4727:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76641,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"4708:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:29:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76644,"nodeType":"ExpressionStatement","src":"4708:29:116"},{"expression":{"id":76650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":76645,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"4747:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76647,"indexExpression":{"id":76646,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76635,"src":"4758:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4747:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"id":76648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4769:6:116","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":76192,"src":"4747:28:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":76649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4778:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4747:35:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76651,"nodeType":"ExpressionStatement","src":"4747:35:116"},{"eventCall":{"arguments":[{"id":76653,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76635,"src":"4815:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76652,"name":"StrategyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76338,"src":"4797:17:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":76654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4797:28:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76655,"nodeType":"EmitStatement","src":"4792:33:116"}]},"baseFunctions":[76253],"documentation":{"id":76633,"nodeType":"StructuredDocumentation","src":"4524:92:116","text":"@notice Activate a strategy\n @param _strategy address of the strategy to activate"},"functionSelector":"d80ea5a0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":76638,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76635,"src":"4687:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":76639,"kind":"modifierInvocation","modifierName":{"id":76637,"name":"onlyCouncil","nameLocations":["4675:11:116"],"nodeType":"IdentifierPath","referencedDeclaration":76423,"src":"4675:11:116"},"nodeType":"ModifierInvocation","src":"4675:22:116"}],"name":"activateStrategy","nameLocation":"4630:16:116","parameters":{"id":76636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76635,"mutability":"mutable","name":"_strategy","nameLocation":"4655:9:116","nodeType":"VariableDeclaration","scope":76657,"src":"4647:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76634,"name":"address","nodeType":"ElementaryTypeName","src":"4647:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4646:19:116"},"returnParameters":{"id":76640,"nodeType":"ParameterList","parameters":[],"src":"4698:0:116"},"scope":76766,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76685,"nodeType":"FunctionDefinition","src":"5028:272:116","nodes":[],"body":{"id":76684,"nodeType":"Block","src":"5139:161:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76669,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76660,"src":"5168:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76668,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"5149:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5149:29:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76671,"nodeType":"ExpressionStatement","src":"5149:29:116"},{"expression":{"id":76677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":76672,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"5188:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76674,"indexExpression":{"id":76673,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76660,"src":"5199:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5188:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"id":76675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5210:9:116","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":76190,"src":"5188:31:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76676,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76662,"src":"5222:13:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5188:47:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76678,"nodeType":"ExpressionStatement","src":"5188:47:116"},{"eventCall":{"arguments":[{"id":76680,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76660,"src":"5268:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76681,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76662,"src":"5279:13:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76679,"name":"ThresholdModified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76344,"src":"5250:17:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":76682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5250:43:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76683,"nodeType":"EmitStatement","src":"5245:48:116"}]},"baseFunctions":[76234],"documentation":{"id":76658,"nodeType":"StructuredDocumentation","src":"4838:185:116","text":"@notice Modify the threshold of a strategy\n @param _strategy address of the strategy to modify\n @param _newThreshold new threshold to set expressed on a scale of 10**4"},"functionSelector":"642ce76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":76665,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76660,"src":"5128:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":76666,"kind":"modifierInvocation","modifierName":{"id":76664,"name":"onlyCouncilOrAuthorized","nameLocations":["5104:23:116"],"nodeType":"IdentifierPath","referencedDeclaration":76404,"src":"5104:23:116"},"nodeType":"ModifierInvocation","src":"5104:34:116"}],"name":"modifyThreshold","nameLocation":"5037:15:116","parameters":{"id":76663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76660,"mutability":"mutable","name":"_strategy","nameLocation":"5061:9:116","nodeType":"VariableDeclaration","scope":76685,"src":"5053:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76659,"name":"address","nodeType":"ElementaryTypeName","src":"5053:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76662,"mutability":"mutable","name":"_newThreshold","nameLocation":"5080:13:116","nodeType":"VariableDeclaration","scope":76685,"src":"5072:21:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76661,"name":"uint256","nodeType":"ElementaryTypeName","src":"5072:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5052:42:116"},"returnParameters":{"id":76667,"nodeType":"ParameterList","parameters":[],"src":"5139:0:116"},"scope":76766,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76724,"nodeType":"FunctionDefinition","src":"5465:345:116","nodes":[],"body":{"id":76723,"nodeType":"Block","src":"5563:247:116","nodes":[],"statements":[{"assignments":[76698],"declarations":[{"constant":false,"id":76698,"mutability":"mutable","name":"userScore","nameLocation":"5593:9:116","nodeType":"VariableDeclaration","scope":76723,"src":"5573:29:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":76697,"nodeType":"UserDefinedTypeName","pathNode":{"id":76696,"name":"PassportData","nameLocations":["5573:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76188,"src":"5573:12:116"},"referencedDeclaration":76188,"src":"5573:12:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":76702,"initialValue":{"baseExpression":{"id":76699,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76297,"src":"5605:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76188_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":76701,"indexExpression":{"id":76700,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"5616:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5605:17:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5573:49:116"},{"assignments":[76705],"declarations":[{"constant":false,"id":76705,"mutability":"mutable","name":"strategy","nameLocation":"5648:8:116","nodeType":"VariableDeclaration","scope":76723,"src":"5632:24:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":76704,"nodeType":"UserDefinedTypeName","pathNode":{"id":76703,"name":"Strategy","nameLocations":["5632:8:116"],"nodeType":"IdentifierPath","referencedDeclaration":76195,"src":"5632:8:116"},"referencedDeclaration":76195,"src":"5632:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"id":76709,"initialValue":{"baseExpression":{"id":76706,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"5659:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76708,"indexExpression":{"id":76707,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76690,"src":"5670:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5659:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5632:48:116"},{"condition":{"id":76712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5695:16:116","subExpression":{"expression":{"id":76710,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76705,"src":"5696:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_memory_ptr","typeString":"struct Strategy memory"}},"id":76711,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5705:6:116","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":76192,"src":"5696:15:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76716,"nodeType":"IfStatement","src":"5691:58:116","trueBody":{"id":76715,"nodeType":"Block","src":"5713:36:116","statements":[{"expression":{"hexValue":"74727565","id":76713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5734:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":76695,"id":76714,"nodeType":"Return","src":"5727:11:116"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76717,"name":"userScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76698,"src":"5766:9:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"id":76718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5776:5:116","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76185,"src":"5766:15:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":76719,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76705,"src":"5785:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_memory_ptr","typeString":"struct Strategy memory"}},"id":76720,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5794:9:116","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":76190,"src":"5785:18:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5766:37:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76695,"id":76722,"nodeType":"Return","src":"5759:44:116"}]},"baseFunctions":[76227],"documentation":{"id":76686,"nodeType":"StructuredDocumentation","src":"5306:154:116","text":"@notice Check if an action can be executed\n @param _user address of the user to check\n @param _strategy address of the strategy to check"},"functionSelector":"42a987a0","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteAction","nameLocation":"5474:16:116","overrides":{"id":76692,"nodeType":"OverrideSpecifier","overrides":[],"src":"5539:8:116"},"parameters":{"id":76691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76688,"mutability":"mutable","name":"_user","nameLocation":"5499:5:116","nodeType":"VariableDeclaration","scope":76724,"src":"5491:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76687,"name":"address","nodeType":"ElementaryTypeName","src":"5491:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76690,"mutability":"mutable","name":"_strategy","nameLocation":"5514:9:116","nodeType":"VariableDeclaration","scope":76724,"src":"5506:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76689,"name":"address","nodeType":"ElementaryTypeName","src":"5506:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5490:34:116"},"returnParameters":{"id":76695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76694,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76724,"src":"5557:4:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76693,"name":"bool","nodeType":"ElementaryTypeName","src":"5557:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5556:6:116"},"scope":76766,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76738,"nodeType":"FunctionDefinition","src":"5906:122:116","nodes":[],"body":{"id":76737,"nodeType":"Block","src":"5987:41:116","nodes":[],"statements":[{"expression":{"baseExpression":{"id":76733,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76297,"src":"6004:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76188_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":76735,"indexExpression":{"id":76734,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76727,"src":"6015:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6004:17:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}},"functionReturnParameters":76732,"id":76736,"nodeType":"Return","src":"5997:24:116"}]},"baseFunctions":[76261],"documentation":{"id":76725,"nodeType":"StructuredDocumentation","src":"5816:85:116","text":"@notice Get the score of a user\n @param _user address of the user to check"},"functionSelector":"b34e0c47","implemented":true,"kind":"function","modifiers":[],"name":"getUserScore","nameLocation":"5915:12:116","parameters":{"id":76728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76727,"mutability":"mutable","name":"_user","nameLocation":"5936:5:116","nodeType":"VariableDeclaration","scope":76738,"src":"5928:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76726,"name":"address","nodeType":"ElementaryTypeName","src":"5928:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5927:15:116"},"returnParameters":{"id":76732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76731,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76738,"src":"5966:19:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":76730,"nodeType":"UserDefinedTypeName","pathNode":{"id":76729,"name":"PassportData","nameLocations":["5966:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76188,"src":"5966:12:116"},"referencedDeclaration":76188,"src":"5966:12:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"5965:21:116"},"scope":76766,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76752,"nodeType":"FunctionDefinition","src":"6130:125:116","nodes":[],"body":{"id":76751,"nodeType":"Block","src":"6210:45:116","nodes":[],"statements":[{"expression":{"baseExpression":{"id":76747,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76302,"src":"6227:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76195_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76749,"indexExpression":{"id":76748,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76741,"src":"6238:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6227:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage","typeString":"struct Strategy storage ref"}},"functionReturnParameters":76746,"id":76750,"nodeType":"Return","src":"6220:28:116"}]},"baseFunctions":[76269],"documentation":{"id":76739,"nodeType":"StructuredDocumentation","src":"6034:91:116","text":"@notice Get the strategy data\n @param _strategy address of the strategy to check"},"functionSelector":"f8806a13","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"6139:11:116","parameters":{"id":76742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76741,"mutability":"mutable","name":"_strategy","nameLocation":"6159:9:116","nodeType":"VariableDeclaration","scope":76752,"src":"6151:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76740,"name":"address","nodeType":"ElementaryTypeName","src":"6151:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6150:19:116"},"returnParameters":{"id":76746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76752,"src":"6193:15:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":76744,"nodeType":"UserDefinedTypeName","pathNode":{"id":76743,"name":"Strategy","nameLocations":["6193:8:116"],"nodeType":"IdentifierPath","referencedDeclaration":76195,"src":"6193:8:116"},"referencedDeclaration":76195,"src":"6193:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76195_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"src":"6192:17:116"},"scope":76766,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76761,"nodeType":"FunctionDefinition","src":"6261:66:116","nodes":[],"body":{"id":76760,"nodeType":"Block","src":"6325:2:116","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":76758,"kind":"modifierInvocation","modifierName":{"id":76757,"name":"onlyOwner","nameLocations":["6315:9:116"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"6315:9:116"},"nodeType":"ModifierInvocation","src":"6315:9:116"}],"name":"_authorizeUpgrade","nameLocation":"6270:17:116","overrides":{"id":76756,"nodeType":"OverrideSpecifier","overrides":[],"src":"6306:8:116"},"parameters":{"id":76755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76754,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76761,"src":"6288:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76753,"name":"address","nodeType":"ElementaryTypeName","src":"6288:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6287:9:116"},"returnParameters":{"id":76759,"nodeType":"ParameterList","parameters":[],"src":"6325:0:116"},"scope":76766,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76765,"nodeType":"VariableDeclaration","src":"6333:25:116","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"6353:5:116","scope":76766,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":76762,"name":"uint256","nodeType":"ElementaryTypeName","src":"6333:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76764,"length":{"hexValue":"3530","id":76763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6341:2:116","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"6333:11:116","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":76283,"name":"Initializable","nameLocations":["479:13:116"],"nodeType":"IdentifierPath","referencedDeclaration":53233,"src":"479:13:116"},"id":76284,"nodeType":"InheritanceSpecifier","src":"479:13:116"},{"baseName":{"id":76285,"name":"UUPSUpgradeable","nameLocations":["494:15:116"],"nodeType":"IdentifierPath","referencedDeclaration":55753,"src":"494:15:116"},"id":76286,"nodeType":"InheritanceSpecifier","src":"494:15:116"},{"baseName":{"id":76287,"name":"OwnableUpgradeable","nameLocations":["511:18:116"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"511:18:116"},"id":76288,"nodeType":"InheritanceSpecifier","src":"511:18:116"},{"baseName":{"id":76289,"name":"ISybilScorer","nameLocations":["531:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76270,"src":"531:12:116"},"id":76290,"nodeType":"InheritanceSpecifier","src":"531:12:116"}],"canonicalName":"PassportScorer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[76766,76270,52984,53777,55753,53233,55406,55055,55065],"name":"PassportScorer","nameLocation":"461:14:116","scope":76767,"usedErrors":[76346,76348,76350,76352,76354]}],"license":"AGPL-3.0-or-later"},"id":116}
\ No newline at end of file
+{"abi":[{"type":"function","name":"activateStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"_councilSafe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_passportData","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"canExecuteAction","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"changeListManager","inputs":[{"name":"_newManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Strategy","components":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_listManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"modifyThreshold","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_newThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategies","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"userScores","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListManagerChanged","inputs":[{"name":"oldManager","type":"address","indexed":true,"internalType":"address"},{"name":"newManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyActivated","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"threshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"active","type":"bool","indexed":false,"internalType":"bool"},{"name":"councilSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ThresholdModified","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"newThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserRemoved","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserScoreAdded","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"score","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastUpdated","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"OnlyAuthorized","inputs":[]},{"type":"error","name":"OnlyCouncil","inputs":[]},{"type":"error","name":"OnlyCouncilOrAuthorized","inputs":[]},{"type":"error","name":"StrategyAlreadyExists","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60a080604052346100315730608052611534908161003782396080518181816108c6015281816109e60152610d6b0152f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220955fa1e4b262363a3fe63b633bb92d8ef65c5be221b59195944b6887f1a4117864736f6c63430008130033","sourceMap":"452:5909:116:-:0;;;;;;;1088:4:66;1080:13;;452:5909:116;;;;;;1080:13:66;452:5909:116;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220955fa1e4b262363a3fe63b633bb92d8ef65c5be221b59195944b6887f1a4117864736f6c63430008130033","sourceMap":"452:5909:116:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;;;;;;;1534:6:47;452:5909:116;;1388:10;:21;:50;;;;452:5909;1384:136;;;3730:9;3769:12;3730:9;;;;;:::i;:::-;3769:12;:::i;:::-;452:5909;;;;;3796:10;452:5909;;;;;;;;3796:36;;;;:87;;;1384:136;3792:148;;;;452:5909;;;;;4063:57;452:5909;;;;;:::i;:::-;;;;;3973:75;;452:5909;;;;;3973:75;;;452:5909;;;;;;;3796:10;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4063:57;452:5909;;3792:148;452:5909;;-1:-1:-1;;;3906:23:116;;;3796:87;452:5909;3836:33;452:5909;;;;3836:47;;;-1:-1:-1;3796:87:116;;;;1384:136;452:5909;;-1:-1:-1;;;1493:16:116;;452:5909;;1493:16;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6227:10;452:5909;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;1324:62:47;;;:::i;:::-;-1:-1:-1;;;;;452:5909:116;;2423:22:47;452:5909:116;;2517:8:47;;;;:::i;:::-;452:5909:116;;;;;;;;689:66:62;;;;452:5909:116;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;-1:-1:-1;;;;;452:5909:116;;;;;;1870:10;452:5909;;;;;;1870:33;452:5909;;;;1856:10;452:5909;;;;;;1856:47;452:5909;;4727:9;;;452:5909;4727:9;;:::i;:::-;452:5909;;;1870:10;452:5909;;;;4747:28;452:5909;;-1:-1:-1;;452:5909:116;;;;;4797:28;452:5909;;4797:28;452:5909;;1852:130;452:5909;;-1:-1:-1;;;1958:13:116;;;452:5909;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;;;;;;;;3301:14:49;3347:34;;;;;;452:5909:116;3346:108:49;;;;452:5909:116;;;;-1:-1:-1;;;452:5909:116;;3551:1:49;452:5909:116;;;;3562:65:49;;452:5909:116;;5366:69:49;452:5909:116;;;;;;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;2264::116;;;:::i;:::-;2287:26;452:5909;;-1:-1:-1;;;;;;452:5909:116;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;3647:99:49;;452:5909:116;;;3647:99:49;452:5909:116;3721:14:49;452:5909:116;;;;;;;;;3551:1:49;452:5909:116;;3721:14:49;452:5909:116;;3562:65:49;-1:-1:-1;;452:5909:116;;;;;3562:65:49;;;452:5909:116;;;;;;689:66:62;;;;452:5909:116;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;3346:108:49;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;452:5909:116;3452:1:49;452:5909:116;;;3436:17:49;3346:108;;3347:34;452:5909:116;3380:1:49;452:5909:116;;;3365:16:49;3347:34;;452:5909:116;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;452:5909:116;;;6004:10;452:5909;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;1534:6:47;452:5909:116;-1:-1:-1;;;;;452:5909:116;;;;1388:10;:21;:50;;;;452:5909;1384:136;;;2975:5;;;;;452:5909;2975:5;;:::i;:::-;452:5909;;;;;2998:10;452:5909;;;;;;;;;3030:18;;;;452:5909;;1384:136;452:5909;;-1:-1:-1;;;1493:16:116;;;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;550:26;452:5909;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;;;;;;;;;1534:6:47;452:5909:116;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;1534:6:47;452:5909:116;;1388:10;:21;:50;;;;452:5909;1384:136;;;2637:5;2701:69;2637:5;;;;;452:5909;2637:5;;:::i;:::-;452:5909;;;;;2653:10;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;2701:69;452:5909;;1384:136;452:5909;;-1:-1:-1;;;1493:16:116;;;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;;;;1324:62:47;;:::i;:::-;2779:6;452:5909:116;;-1:-1:-1;;;;;;452:5909:116;;;;;;;-1:-1:-1;;;;;452:5909:116;-1:-1:-1;;;;;;;;;;;452:5909:116;;2827:40:47;452:5909:116;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1534:6:47;452:5909:116;;;;-1:-1:-1;;;;;452:5909:116;;;;1598:10;:21;:50;;;;452:5909;1598:101;;;;452:5909;1594:196;;;5168:9;;452:5909;5168:9;;;5250:43;5168:9;;:::i;:::-;452:5909;;;;;5188:10;452:5909;;;;;;;;;;;5250:43;452:5909;;1594:196;452:5909;;-1:-1:-1;;;1754:25:116;;;1598:101;452:5909;;;;;;1666:10;452:5909;;;;;;;1666:33;452:5909;;;;1598:10;1652:47;1598:101;;:50;452:5909;;1637:11;452:5909;;1598:10;1623:25;1598:50;;452:5909;;;;;;;;;;;;;;-1:-1:-1;2089:6:66;-1:-1:-1;;;;;452:5909:116;2080:4:66;2072:23;452:5909:116;;;;;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;;;;689:66:62;;;;452:5909:116;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1654:6:66;452:5909:116;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;;2993:17:62;;;;;;;;;;:::i;2906:504::-;452:5909:116;;;;;;;;;;689:66:62;;;3046:52;;;;;;;;;;;;;;2906:504;-1:-1:-1;3042:291:62;;452:5909:116;;-1:-1:-1;;;3262:56:62;;;;;689:66;;;;452:5909:116;689:66:62;;452:5909:116;-1:-1:-1;;;;;;;;;;;452:5909:116;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;;;;;;689:66;;3042:291;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:62;;;452:5909:116;;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;;;452:5909:116;;2204:112:62;452:5909:116;7307:69:78;452:5909:116;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;7265:25:78;;;;;;452:5909:116;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;7307:69:78;:::i;:::-;;2204:112:62;;;;;;;;452:5909:116;-1:-1:-1;452:5909:116;;-1:-1:-1;7307:69:78;:::i;2208:28:62:-;;452:5909:116;2208:28:62;;689:66;452:5909:116;;-1:-1:-1;;;689:66:62;;;;;;;;;452:5909:116;689:66:62;;452:5909:116;689:66:62;452:5909:116;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;452:5909:116;;;3046:52:62;;;;;452:5909:116;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;3273:11:116;;;:::i;:::-;3316;452:5909;;-1:-1:-1;;;;;452:5909:116;;;-1:-1:-1;;;;;;452:5909:116;;;;;;;;;;3377:43;;;;452:5909;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;:::i;:::-;;;;639:46;452:5909;;;;;;;639:46;;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1654:6:66;452:5909:116;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;452:5909:116;;;;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;;;2993:17:62;;;;;;;;;;:::i;2906:504::-;452:5909:116;;;;;;;;;;689:66:62;;;3046:52;;;;;;;;;;;;;;2906:504;-1:-1:-1;3042:291:62;;452:5909:116;;-1:-1:-1;;;3262:56:62;;;;;689:66;;;;;;;452:5909:116;-1:-1:-1;;;;;;;;;;;452:5909:116;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;;;;;;689:66;;3042:291;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:62;;;452:5909:116;;;2208:15:62;;;:28;;;2204:112;;2906:504;;;;;;452:5909:116;;2208:28:62;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;452:5909:116;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;:::i;:::-;1534:6:47;452:5909:116;-1:-1:-1;;;;;452:5909:116;;;;1598:10;:21;:50;;;;452:5909;1598:101;;;;452:5909;1594:196;;;4369:9;;;;;;;:::i;:::-;452:5909;;;;4389:10;452:5909;;;;;;4389:28;;452:5909;;-1:-1:-1;;452:5909:116;;;;4485:26;;;;452:5909;;1594:196;452:5909;;-1:-1:-1;;;1754:25:116;;;1598:101;452:5909;;;;;;1666:10;452:5909;;;;;;;1666:33;452:5909;;;;1598:10;1652:47;1598:101;;:50;452:5909;;1637:11;452:5909;;1598:10;1623:25;1598:50;;452:5909;;;;;;;;;-1:-1:-1;;452:5909:116;;;;;;-1:-1:-1;;;;;452:5909:116;;:::i;:::-;;;;583:50;452:5909;;;;;;583:50;;452:5909;;;;;;;;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;:::o;:::-;;;;;-1:-1:-1;;452:5909:116;;;;-1:-1:-1;;;;;452:5909:116;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;452:5909:116;;;;;;-1:-1:-1;;452:5909:116;;;;:::o;1620:130:47:-;1534:6;452:5909:116;-1:-1:-1;;;;;452:5909:116;965:10:53;1683:23:47;452:5909:116;;1620:130:47:o;452:5909:116:-;;;;689:66:62;;;452:5909:116;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;452:5909:116;;-1:-1:-1;;;;;452:5909:116;;;-1:-1:-1;;;;;;452:5909:116;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;452:5909:116:-;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:116;;;;-1:-1:-1;;;452:5909:116;;;;;;;1406:259:62;1702:19:78;;:23;452:5909:116;;-1:-1:-1;;;;;;;;;;;452:5909:116;;-1:-1:-1;;;;;;452:5909:116;-1:-1:-1;;;;;452:5909:116;;;;;;;;;1406:259:62:o;452:5909:116:-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;;;7671:628:78;;;;7875:418;;;452:5909:116;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;452:5909:116;;8201:17:78;:::o;452:5909:116:-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;;;;;7875:418:78;452:5909:116;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;452:5909:116;;689:66:62;;;;9324:20:78;;452:5909:116;;9324:20:78;;;;452:5909:116;;;;;;;;;9000:1:78;452:5909:116;;;;;;;;;;;;9000:1:78;452:5909:116;;;;;;;;;;;;;;9324:20:78;;;;452:5909:116;;;;;;;;;;;;;;;;;;;-1:-1:-1;452:5909:116;;;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:116;;;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:116;;;;;;;1994:148;-1:-1:-1;;;;;452:5909:116;2067:22;2063:73;;1994:148::o;2063:73::-;452:5909;;-1:-1:-1;;;2112:13:116;;;;;5465:345;;452:5909;;;;;;;;-1:-1:-1;452:5909:116;5605:10;452:5909;;;;-1:-1:-1;452:5909:116;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;452:5909:116;5659:10;452:5909;;;-1:-1:-1;452:5909:116;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:58;;452:5909;5766:37;;5465:345;:::o;5691:58::-;5727:11;;452:5909;5727:11;:::o","linkReferences":{},"immutableReferences":{"55653":[{"start":2246,"length":32},{"start":2534,"length":32},{"start":3435,"length":32}]}},"methodIdentifiers":{"activateStrategy(address)":"d80ea5a0","addStrategy(address,uint256,address)":"fc2ebdd1","addUserScore(address,(uint256,uint256))":"7814d568","canExecuteAction(address,address)":"42a987a0","changeListManager(address)":"3d476830","getStrategy(address)":"f8806a13","getUserScore(address)":"b34e0c47","initialize(address)":"c4d66de8","listManager()":"8df8b2fe","modifyThreshold(address,uint256)":"642ce76b","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","removeStrategy(address)":"175188e8","removeUser(address)":"98575188","renounceOwnership()":"715018a6","strategies(address)":"39ebf823","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","userScores(address)":"1413d4c0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilOrAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ListManagerChanged\",\"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\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"ThresholdModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"name\":\"UserScoreAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_councilSafe\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"_passportData\",\"type\":\"tuple\"}],\"name\":\"addUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"canExecuteAction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getStrategy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"internalType\":\"struct Strategy\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserScore\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_listManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"modifyThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"removeUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"strategies\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userScores\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"activateStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to activate\"}},\"addStrategy(address,uint256,address)\":{\"params\":{\"_councilSafe\":\"address of the council safe\",\"_threshold\":\"is expressed on a scale of 10**4\"}},\"addUserScore(address,(uint256,uint256))\":{\"params\":{\"_passportData\":\"PassportData struct with the user score and lastUpdated\",\"_user\":\"address of the user to add\"}},\"canExecuteAction(address,address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\",\"_user\":\"address of the user to check\"}},\"changeListManager(address)\":{\"params\":{\"_newManager\":\"address of the new list manager\"}},\"getStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\"}},\"getUserScore(address)\":{\"params\":{\"_user\":\"address of the user to check\"}},\"modifyThreshold(address,uint256)\":{\"params\":{\"_newThreshold\":\"new threshold to set expressed on a scale of 10**4\",\"_strategy\":\"address of the strategy to modify\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to remove\"}},\"removeUser(address)\":{\"params\":{\"_user\":\"address of the user to remove\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateStrategy(address)\":{\"notice\":\"Activate a strategy\"},\"addStrategy(address,uint256,address)\":{\"notice\":\"Add a strategy to the contract\"},\"addUserScore(address,(uint256,uint256))\":{\"notice\":\"Add a userScore to the list\"},\"canExecuteAction(address,address)\":{\"notice\":\"Check if an action can be executed\"},\"changeListManager(address)\":{\"notice\":\"Change the list manager address\"},\"getStrategy(address)\":{\"notice\":\"Get the strategy data\"},\"getUserScore(address)\":{\"notice\":\"Get the score of a user\"},\"modifyThreshold(address,uint256)\":{\"notice\":\"Modify the threshold of a strategy\"},\"removeStrategy(address)\":{\"notice\":\"Remove a strategy from the contract\"},\"removeUser(address)\":{\"notice\":\"Remove a user from the list\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/PassportScorer.sol\":\"PassportScorer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf\",\"dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"OnlyAuthorized"},{"inputs":[],"type":"error","name":"OnlyCouncil"},{"inputs":[],"type":"error","name":"OnlyCouncilOrAuthorized"},{"inputs":[],"type":"error","name":"StrategyAlreadyExists"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"oldManager","type":"address","indexed":true},{"internalType":"address","name":"newManager","type":"address","indexed":true}],"type":"event","name":"ListManagerChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"threshold","type":"uint256","indexed":false},{"internalType":"bool","name":"active","type":"bool","indexed":false},{"internalType":"address","name":"councilSafe","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"newThreshold","type":"uint256","indexed":false}],"type":"event","name":"ThresholdModified","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"UserRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"score","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastUpdated","type":"uint256","indexed":false}],"type":"event","name":"UserScoreAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateStrategy"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"_councilSafe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"struct PassportData","name":"_passportData","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"addUserScore"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"canExecuteAction","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeListManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"struct Strategy","name":"","type":"tuple","components":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserScore","outputs":[{"internalType":"struct PassportData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_listManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"modifyThreshold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"strategies","outputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"userScores","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activateStrategy(address)":{"params":{"_strategy":"address of the strategy to activate"}},"addStrategy(address,uint256,address)":{"params":{"_councilSafe":"address of the council safe","_threshold":"is expressed on a scale of 10**4"}},"addUserScore(address,(uint256,uint256))":{"params":{"_passportData":"PassportData struct with the user score and lastUpdated","_user":"address of the user to add"}},"canExecuteAction(address,address)":{"params":{"_strategy":"address of the strategy to check","_user":"address of the user to check"}},"changeListManager(address)":{"params":{"_newManager":"address of the new list manager"}},"getStrategy(address)":{"params":{"_strategy":"address of the strategy to check"}},"getUserScore(address)":{"params":{"_user":"address of the user to check"}},"modifyThreshold(address,uint256)":{"params":{"_newThreshold":"new threshold to set expressed on a scale of 10**4","_strategy":"address of the strategy to modify"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"removeStrategy(address)":{"params":{"_strategy":"address of the strategy to remove"}},"removeUser(address)":{"params":{"_user":"address of the user to remove"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"activateStrategy(address)":{"notice":"Activate a strategy"},"addStrategy(address,uint256,address)":{"notice":"Add a strategy to the contract"},"addUserScore(address,(uint256,uint256))":{"notice":"Add a userScore to the list"},"canExecuteAction(address,address)":{"notice":"Check if an action can be executed"},"changeListManager(address)":{"notice":"Change the list manager address"},"getStrategy(address)":{"notice":"Get the strategy data"},"getUserScore(address)":{"notice":"Get the score of a user"},"modifyThreshold(address,uint256)":{"notice":"Modify the threshold of a strategy"},"removeStrategy(address)":{"notice":"Remove a strategy from the contract"},"removeUser(address)":{"notice":"Remove a user from the list"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/PassportScorer.sol":"PassportScorer"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b","urls":["bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf","dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":76352,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"listManager","offset":0,"slot":"101","type":"t_address"},{"astId":76357,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"userScores","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(PassportData)76248_storage)"},{"astId":76362,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"strategies","offset":0,"slot":"103","type":"t_mapping(t_address,t_struct(Strategy)76255_storage)"},{"astId":76825,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(PassportData)76248_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct PassportData)","numberOfBytes":"32","value":"t_struct(PassportData)76248_storage"},"t_mapping(t_address,t_struct(Strategy)76255_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Strategy)","numberOfBytes":"32","value":"t_struct(Strategy)76255_storage"},"t_struct(PassportData)76248_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":76245,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":76247,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(Strategy)76255_storage":{"encoding":"inplace","label":"struct Strategy","numberOfBytes":"64","members":[{"astId":76250,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"threshold","offset":0,"slot":"0","type":"t_uint256"},{"astId":76252,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"active","offset":0,"slot":"1","type":"t_bool"},{"astId":76254,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"councilSafe","offset":1,"slot":"1","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/PassportScorer.sol","id":76827,"exportedSymbols":{"ISybilScorer":[76330],"Initializable":[53233],"OwnableUpgradeable":[52984],"PassportData":[76248],"PassportScorer":[76826],"Strategy":[76255],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"46:6316:116","nodes":[{"id":76332,"nodeType":"PragmaDirective","src":"46:24:116","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76336,"nodeType":"ImportDirective","src":"72:72:116","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":76827,"sourceUnit":76331,"symbolAliases":[{"foreign":{"id":76333,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76330,"src":"80:12:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76334,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76248,"src":"94:12:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76335,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76255,"src":"108:8:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76338,"nodeType":"ImportDirective","src":"145:88:116","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":76827,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":76337,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"153:15:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76340,"nodeType":"ImportDirective","src":"234:110:116","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":76827,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":76339,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"242:18:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76342,"nodeType":"ImportDirective","src":"345:105:116","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":76827,"sourceUnit":53234,"symbolAliases":[{"foreign":{"id":76341,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53233,"src":"353:13:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76826,"nodeType":"ContractDefinition","src":"452:5909:116","nodes":[{"id":76352,"nodeType":"VariableDeclaration","src":"550:26:116","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"565:11:116","scope":76826,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76351,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":76357,"nodeType":"VariableDeclaration","src":"583:50:116","nodes":[],"constant":false,"functionSelector":"1413d4c0","mutability":"mutable","name":"userScores","nameLocation":"623:10:116","scope":76826,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76248_storage_$","typeString":"mapping(address => struct PassportData)"},"typeName":{"id":76356,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76353,"name":"address","nodeType":"ElementaryTypeName","src":"591:7:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"583:32:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76248_storage_$","typeString":"mapping(address => struct PassportData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76355,"nodeType":"UserDefinedTypeName","pathNode":{"id":76354,"name":"PassportData","nameLocations":["602:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76248,"src":"602:12:116"},"referencedDeclaration":76248,"src":"602:12:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage_ptr","typeString":"struct PassportData"}}},"visibility":"public"},{"id":76362,"nodeType":"VariableDeclaration","src":"639:46:116","nodes":[],"constant":false,"functionSelector":"39ebf823","mutability":"mutable","name":"strategies","nameLocation":"675:10:116","scope":76826,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy)"},"typeName":{"id":76361,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76358,"name":"address","nodeType":"ElementaryTypeName","src":"647:7:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"639:28:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76360,"nodeType":"UserDefinedTypeName","pathNode":{"id":76359,"name":"Strategy","nameLocations":["658:8:116"],"nodeType":"IdentifierPath","referencedDeclaration":76255,"src":"658:8:116"},"referencedDeclaration":76255,"src":"658:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage_ptr","typeString":"struct Strategy"}}},"visibility":"public"},{"id":76370,"nodeType":"EventDefinition","src":"692:79:116","nodes":[],"anonymous":false,"eventSelector":"1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d","name":"UserScoreAdded","nameLocation":"698:14:116","parameters":{"id":76369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76364,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"729:4:116","nodeType":"VariableDeclaration","scope":76370,"src":"713:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76363,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76366,"indexed":false,"mutability":"mutable","name":"score","nameLocation":"743:5:116","nodeType":"VariableDeclaration","scope":76370,"src":"735:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76365,"name":"uint256","nodeType":"ElementaryTypeName","src":"735:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76368,"indexed":false,"mutability":"mutable","name":"lastUpdated","nameLocation":"758:11:116","nodeType":"VariableDeclaration","scope":76370,"src":"750:19:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76367,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"712:58:116"}},{"id":76374,"nodeType":"EventDefinition","src":"776:40:116","nodes":[],"anonymous":false,"eventSelector":"e9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d","name":"UserRemoved","nameLocation":"782:11:116","parameters":{"id":76373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76372,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"810:4:116","nodeType":"VariableDeclaration","scope":76374,"src":"794:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76371,"name":"address","nodeType":"ElementaryTypeName","src":"794:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"793:22:116"}},{"id":76380,"nodeType":"EventDefinition","src":"821:81:116","nodes":[],"anonymous":false,"eventSelector":"5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc86","name":"ListManagerChanged","nameLocation":"827:18:116","parameters":{"id":76379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76376,"indexed":true,"mutability":"mutable","name":"oldManager","nameLocation":"862:10:116","nodeType":"VariableDeclaration","scope":76380,"src":"846:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76375,"name":"address","nodeType":"ElementaryTypeName","src":"846:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76378,"indexed":true,"mutability":"mutable","name":"newManager","nameLocation":"890:10:116","nodeType":"VariableDeclaration","scope":76380,"src":"874:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76377,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"845:56:116"}},{"id":76390,"nodeType":"EventDefinition","src":"907:99:116","nodes":[],"anonymous":false,"eventSelector":"9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb","name":"StrategyAdded","nameLocation":"913:13:116","parameters":{"id":76389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76382,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"943:8:116","nodeType":"VariableDeclaration","scope":76390,"src":"927:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76381,"name":"address","nodeType":"ElementaryTypeName","src":"927:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76384,"indexed":false,"mutability":"mutable","name":"threshold","nameLocation":"961:9:116","nodeType":"VariableDeclaration","scope":76390,"src":"953:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76383,"name":"uint256","nodeType":"ElementaryTypeName","src":"953:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76386,"indexed":false,"mutability":"mutable","name":"active","nameLocation":"977:6:116","nodeType":"VariableDeclaration","scope":76390,"src":"972:11:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76385,"name":"bool","nodeType":"ElementaryTypeName","src":"972:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76388,"indexed":false,"mutability":"mutable","name":"councilSafe","nameLocation":"993:11:116","nodeType":"VariableDeclaration","scope":76390,"src":"985:19:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76387,"name":"address","nodeType":"ElementaryTypeName","src":"985:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"926:79:116"}},{"id":76394,"nodeType":"EventDefinition","src":"1011:48:116","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"1017:15:116","parameters":{"id":76393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76392,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1049:8:116","nodeType":"VariableDeclaration","scope":76394,"src":"1033:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76391,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1032:26:116"}},{"id":76398,"nodeType":"EventDefinition","src":"1064:50:116","nodes":[],"anonymous":false,"eventSelector":"652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb","name":"StrategyActivated","nameLocation":"1070:17:116","parameters":{"id":76397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76396,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1104:8:116","nodeType":"VariableDeclaration","scope":76398,"src":"1088:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76395,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1087:26:116"}},{"id":76404,"nodeType":"EventDefinition","src":"1119:72:116","nodes":[],"anonymous":false,"eventSelector":"40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09","name":"ThresholdModified","nameLocation":"1125:17:116","parameters":{"id":76403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76400,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1159:8:116","nodeType":"VariableDeclaration","scope":76404,"src":"1143:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76399,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76402,"indexed":false,"mutability":"mutable","name":"newThreshold","nameLocation":"1177:12:116","nodeType":"VariableDeclaration","scope":76404,"src":"1169:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76401,"name":"uint256","nodeType":"ElementaryTypeName","src":"1169:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1142:48:116"}},{"id":76406,"nodeType":"ErrorDefinition","src":"1197:23:116","nodes":[],"errorSelector":"7d7b71b5","name":"OnlyAuthorized","nameLocation":"1203:14:116","parameters":{"id":76405,"nodeType":"ParameterList","parameters":[],"src":"1217:2:116"}},{"id":76408,"nodeType":"ErrorDefinition","src":"1225:32:116","nodes":[],"errorSelector":"e3b6914b","name":"OnlyCouncilOrAuthorized","nameLocation":"1231:23:116","parameters":{"id":76407,"nodeType":"ParameterList","parameters":[],"src":"1254:2:116"}},{"id":76410,"nodeType":"ErrorDefinition","src":"1262:20:116","nodes":[],"errorSelector":"97ffbac9","name":"OnlyCouncil","nameLocation":"1268:11:116","parameters":{"id":76409,"nodeType":"ParameterList","parameters":[],"src":"1279:2:116"}},{"id":76412,"nodeType":"ErrorDefinition","src":"1287:20:116","nodes":[],"errorSelector":"d92e233d","name":"ZeroAddress","nameLocation":"1293:11:116","parameters":{"id":76411,"nodeType":"ParameterList","parameters":[],"src":"1304:2:116"}},{"id":76414,"nodeType":"ErrorDefinition","src":"1312:30:116","nodes":[],"errorSelector":"c45546f7","name":"StrategyAlreadyExists","nameLocation":"1318:21:116","parameters":{"id":76413,"nodeType":"ParameterList","parameters":[],"src":"1339:2:116"}},{"id":76434,"nodeType":"ModifierDefinition","src":"1348:178:116","nodes":[],"body":{"id":76433,"nodeType":"Block","src":"1374:152:116","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76416,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1388:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1392:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1388:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":76418,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52907,"src":"1402:5:116","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":76419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1402:7:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1388:21:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76421,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1413:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1417:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1413:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":76423,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76352,"src":"1427:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1413:25:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1388:50:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76431,"nodeType":"Block","src":"1472:48:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76428,"name":"OnlyAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"1493:14:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1493:16:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76430,"nodeType":"RevertStatement","src":"1486:23:116"}]},"id":76432,"nodeType":"IfStatement","src":"1384:136:116","trueBody":{"id":76427,"nodeType":"Block","src":"1440:26:116","statements":[{"id":76426,"nodeType":"PlaceholderStatement","src":"1454:1:116"}]}}]},"name":"onlyAuthorized","nameLocation":"1357:14:116","parameters":{"id":76415,"nodeType":"ParameterList","parameters":[],"src":"1371:2:116"},"virtual":false,"visibility":"internal"},{"id":76464,"nodeType":"ModifierDefinition","src":"1532:264:116","nodes":[],"body":{"id":76463,"nodeType":"Block","src":"1584:212:116","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76438,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1598:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1602:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1598:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":76440,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52907,"src":"1612:5:116","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":76441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:7:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1598:21:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76443,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1623:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1627:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1623:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":76445,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76352,"src":"1637:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1623:25:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:50:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76448,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1652:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1656:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1652:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":76450,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"1666:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76452,"indexExpression":{"id":76451,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76436,"src":"1677:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1666:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"id":76453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1688:11:116","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":76254,"src":"1666:33:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1652:47:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:101:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76461,"nodeType":"Block","src":"1733:57:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76458,"name":"OnlyCouncilOrAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76408,"src":"1754:23:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:25:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76460,"nodeType":"RevertStatement","src":"1747:32:116"}]},"id":76462,"nodeType":"IfStatement","src":"1594:196:116","trueBody":{"id":76457,"nodeType":"Block","src":"1701:26:116","statements":[{"id":76456,"nodeType":"PlaceholderStatement","src":"1715:1:116"}]}}]},"name":"onlyCouncilOrAuthorized","nameLocation":"1541:23:116","parameters":{"id":76437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76436,"mutability":"mutable","name":"_strategy","nameLocation":"1573:9:116","nodeType":"VariableDeclaration","scope":76464,"src":"1565:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76435,"name":"address","nodeType":"ElementaryTypeName","src":"1565:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1564:19:116"},"virtual":false,"visibility":"internal"},{"id":76483,"nodeType":"ModifierDefinition","src":"1802:186:116","nodes":[],"body":{"id":76482,"nodeType":"Block","src":"1842:146:116","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76468,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1856:3:116","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1860:6:116","memberName":"sender","nodeType":"MemberAccess","src":"1856:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":76470,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"1870:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76472,"indexExpression":{"id":76471,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76466,"src":"1881:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1870:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"id":76473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1892:11:116","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":76254,"src":"1870:33:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1856:47:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76480,"nodeType":"Block","src":"1937:45:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76477,"name":"OnlyCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76410,"src":"1958:11:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1958:13:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76479,"nodeType":"RevertStatement","src":"1951:20:116"}]},"id":76481,"nodeType":"IfStatement","src":"1852:130:116","trueBody":{"id":76476,"nodeType":"Block","src":"1905:26:116","statements":[{"id":76475,"nodeType":"PlaceholderStatement","src":"1919:1:116"}]}}]},"name":"onlyCouncil","nameLocation":"1811:11:116","parameters":{"id":76467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76466,"mutability":"mutable","name":"_strategy","nameLocation":"1831:9:116","nodeType":"VariableDeclaration","scope":76483,"src":"1823:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76465,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1822:19:116"},"virtual":false,"visibility":"internal"},{"id":76500,"nodeType":"FunctionDefinition","src":"1994:148:116","nodes":[],"body":{"id":76499,"nodeType":"Block","src":"2053:89:116","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76488,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76485,"src":"2067:8:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":76491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2087:1:116","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2079:7:116","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76489,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:116","typeDescriptions":{}}},"id":76492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2079:10:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2067:22:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76498,"nodeType":"IfStatement","src":"2063:73:116","trueBody":{"id":76497,"nodeType":"Block","src":"2091:45:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76494,"name":"ZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76412,"src":"2112:11:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2112:13:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76496,"nodeType":"RevertStatement","src":"2105:20:116"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"2003:18:116","parameters":{"id":76486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76485,"mutability":"mutable","name":"_address","nameLocation":"2030:8:116","nodeType":"VariableDeclaration","scope":76500,"src":"2022:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76484,"name":"address","nodeType":"ElementaryTypeName","src":"2022:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2021:18:116"},"returnParameters":{"id":76487,"nodeType":"ParameterList","parameters":[],"src":"2053:0:116"},"scope":76826,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":76519,"nodeType":"FunctionDefinition","src":"2148:172:116","nodes":[],"body":{"id":76518,"nodeType":"Block","src":"2209:111:116","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":76507,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"2219:14:116","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":76508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2219:16:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76509,"nodeType":"ExpressionStatement","src":"2219:16:116"},{"expression":{"arguments":[{"id":76511,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76502,"src":"2264:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76510,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76500,"src":"2245:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2245:32:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76513,"nodeType":"ExpressionStatement","src":"2245:32:116"},{"expression":{"id":76516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76514,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76352,"src":"2287:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76515,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76502,"src":"2301:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2287:26:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76517,"nodeType":"ExpressionStatement","src":"2287:26:116"}]},"baseFunctions":[76260],"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":76505,"kind":"modifierInvocation","modifierName":{"id":76504,"name":"initializer","nameLocations":["2197:11:116"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"2197:11:116"},"nodeType":"ModifierInvocation","src":"2197:11:116"}],"name":"initialize","nameLocation":"2157:10:116","parameters":{"id":76503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76502,"mutability":"mutable","name":"_listManager","nameLocation":"2176:12:116","nodeType":"VariableDeclaration","scope":76519,"src":"2168:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76501,"name":"address","nodeType":"ElementaryTypeName","src":"2168:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2167:22:116"},"returnParameters":{"id":76506,"nodeType":"ParameterList","parameters":[],"src":"2209:0:116"},"scope":76826,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":76550,"nodeType":"FunctionDefinition","src":"2503:274:116","nodes":[],"body":{"id":76549,"nodeType":"Block","src":"2608:169:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76532,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76522,"src":"2637:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76531,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76500,"src":"2618:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:25:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76534,"nodeType":"ExpressionStatement","src":"2618:25:116"},{"expression":{"id":76539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76535,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76357,"src":"2653:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76248_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":76537,"indexExpression":{"id":76536,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76522,"src":"2664:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2653:17:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76538,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76525,"src":"2673:13:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"src":"2653:33:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}},"id":76540,"nodeType":"ExpressionStatement","src":"2653:33:116"},{"eventCall":{"arguments":[{"id":76542,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76522,"src":"2716:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76543,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76525,"src":"2723:13:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"id":76544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2737:5:116","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76245,"src":"2723:19:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76545,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76525,"src":"2744:13:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"id":76546,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2758:11:116","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":76247,"src":"2744:25:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76541,"name":"UserScoreAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76370,"src":"2701:14:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":76547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:69:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76548,"nodeType":"EmitStatement","src":"2696:74:116"}]},"baseFunctions":[76268],"documentation":{"id":76520,"nodeType":"StructuredDocumentation","src":"2326:172:116","text":"@notice Add a userScore to the list\n @param _user address of the user to add\n @param _passportData PassportData struct with the user score and lastUpdated"},"functionSelector":"7814d568","implemented":true,"kind":"function","modifiers":[{"id":76529,"kind":"modifierInvocation","modifierName":{"id":76528,"name":"onlyAuthorized","nameLocations":["2593:14:116"],"nodeType":"IdentifierPath","referencedDeclaration":76434,"src":"2593:14:116"},"nodeType":"ModifierInvocation","src":"2593:14:116"}],"name":"addUserScore","nameLocation":"2512:12:116","overrides":{"id":76527,"nodeType":"OverrideSpecifier","overrides":[],"src":"2584:8:116"},"parameters":{"id":76526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76522,"mutability":"mutable","name":"_user","nameLocation":"2533:5:116","nodeType":"VariableDeclaration","scope":76550,"src":"2525:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76521,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76525,"mutability":"mutable","name":"_passportData","nameLocation":"2560:13:116","nodeType":"VariableDeclaration","scope":76550,"src":"2540:33:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":76524,"nodeType":"UserDefinedTypeName","pathNode":{"id":76523,"name":"PassportData","nameLocations":["2540:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76248,"src":"2540:12:116"},"referencedDeclaration":76248,"src":"2540:12:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"2524:50:116"},"returnParameters":{"id":76530,"nodeType":"ParameterList","parameters":[],"src":"2608:0:116"},"scope":76826,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76573,"nodeType":"FunctionDefinition","src":"2878:177:116","nodes":[],"body":{"id":76572,"nodeType":"Block","src":"2946:109:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76560,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76553,"src":"2975:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76559,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76500,"src":"2956:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2956:25:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76562,"nodeType":"ExpressionStatement","src":"2956:25:116"},{"expression":{"id":76566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2991:24:116","subExpression":{"baseExpression":{"id":76563,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76357,"src":"2998:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76248_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":76565,"indexExpression":{"id":76564,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76553,"src":"3009:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2998:17:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76567,"nodeType":"ExpressionStatement","src":"2991:24:116"},{"eventCall":{"arguments":[{"id":76569,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76553,"src":"3042:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76568,"name":"UserRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76374,"src":"3030:11:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":76570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3030:18:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76571,"nodeType":"EmitStatement","src":"3025:23:116"}]},"baseFunctions":[76273],"documentation":{"id":76551,"nodeType":"StructuredDocumentation","src":"2783:90:116","text":"@notice Remove a user from the list\n @param _user address of the user to remove"},"functionSelector":"98575188","implemented":true,"kind":"function","modifiers":[{"id":76557,"kind":"modifierInvocation","modifierName":{"id":76556,"name":"onlyAuthorized","nameLocations":["2931:14:116"],"nodeType":"IdentifierPath","referencedDeclaration":76434,"src":"2931:14:116"},"nodeType":"ModifierInvocation","src":"2931:14:116"}],"name":"removeUser","nameLocation":"2887:10:116","overrides":{"id":76555,"nodeType":"OverrideSpecifier","overrides":[],"src":"2922:8:116"},"parameters":{"id":76554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76553,"mutability":"mutable","name":"_user","nameLocation":"2906:5:116","nodeType":"VariableDeclaration","scope":76573,"src":"2898:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76552,"name":"address","nodeType":"ElementaryTypeName","src":"2898:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2897:15:116"},"returnParameters":{"id":76558,"nodeType":"ParameterList","parameters":[],"src":"2946:0:116"},"scope":76826,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76600,"nodeType":"FunctionDefinition","src":"3168:259:116","nodes":[],"body":{"id":76599,"nodeType":"Block","src":"3244:183:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76583,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76576,"src":"3273:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76582,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76500,"src":"3254:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3254:31:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76585,"nodeType":"ExpressionStatement","src":"3254:31:116"},{"assignments":[76587],"declarations":[{"constant":false,"id":76587,"mutability":"mutable","name":"oldManager","nameLocation":"3303:10:116","nodeType":"VariableDeclaration","scope":76599,"src":"3295:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76586,"name":"address","nodeType":"ElementaryTypeName","src":"3295:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":76589,"initialValue":{"id":76588,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76352,"src":"3316:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3295:32:116"},{"expression":{"id":76592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76590,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76352,"src":"3337:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76591,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76576,"src":"3351:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3337:25:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76593,"nodeType":"ExpressionStatement","src":"3337:25:116"},{"eventCall":{"arguments":[{"id":76595,"name":"oldManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76587,"src":"3396:10:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76596,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76576,"src":"3408:11:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76594,"name":"ListManagerChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76380,"src":"3377:18:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":76597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:43:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76598,"nodeType":"EmitStatement","src":"3372:48:116"}]},"baseFunctions":[76278],"documentation":{"id":76574,"nodeType":"StructuredDocumentation","src":"3061:102:116","text":"@notice Change the list manager address\n @param _newManager address of the new list manager"},"functionSelector":"3d476830","implemented":true,"kind":"function","modifiers":[{"id":76580,"kind":"modifierInvocation","modifierName":{"id":76579,"name":"onlyOwner","nameLocations":["3234:9:116"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"3234:9:116"},"nodeType":"ModifierInvocation","src":"3234:9:116"}],"name":"changeListManager","nameLocation":"3177:17:116","overrides":{"id":76578,"nodeType":"OverrideSpecifier","overrides":[],"src":"3225:8:116"},"parameters":{"id":76577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76576,"mutability":"mutable","name":"_newManager","nameLocation":"3203:11:116","nodeType":"VariableDeclaration","scope":76600,"src":"3195:19:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76575,"name":"address","nodeType":"ElementaryTypeName","src":"3195:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3194:21:116"},"returnParameters":{"id":76581,"nodeType":"ParameterList","parameters":[],"src":"3244:0:116"},"scope":76826,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76659,"nodeType":"FunctionDefinition","src":"3595:532:116","nodes":[],"body":{"id":76658,"nodeType":"Block","src":"3701:426:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76613,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76603,"src":"3730:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76612,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76500,"src":"3711:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3711:29:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76615,"nodeType":"ExpressionStatement","src":"3711:29:116"},{"expression":{"arguments":[{"id":76617,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76607,"src":"3769:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76616,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76500,"src":"3750:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:32:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76619,"nodeType":"ExpressionStatement","src":"3750:32:116"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76620,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"3796:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76622,"indexExpression":{"id":76621,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76603,"src":"3807:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3796:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"id":76623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3818:9:116","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":76250,"src":"3796:31:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":76624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3831:1:116","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3796:36:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76626,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"3836:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76628,"indexExpression":{"id":76627,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76603,"src":"3847:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3836:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"id":76629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3858:11:116","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":76254,"src":"3836:33:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":76632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3881:1:116","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3873:7:116","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76630,"name":"address","nodeType":"ElementaryTypeName","src":"3873:7:116","typeDescriptions":{}}},"id":76633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:10:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3836:47:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3796:87:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76640,"nodeType":"IfStatement","src":"3792:148:116","trueBody":{"id":76639,"nodeType":"Block","src":"3885:55:116","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76636,"name":"StrategyAlreadyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76414,"src":"3906:21:116","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3906:23:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76638,"nodeType":"RevertStatement","src":"3899:30:116"}]}},{"expression":{"id":76649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76641,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"3949:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76643,"indexExpression":{"id":76642,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76603,"src":"3960:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3949:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":76645,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76605,"src":"3994:10:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":76646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4014:5:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":76647,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76607,"src":"4034:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76644,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76255,"src":"3973:8:116","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Strategy_$76255_storage_ptr_$","typeString":"type(struct Strategy storage pointer)"}},"id":76648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3983:9:116","4006:6:116","4021:11:116"],"names":["threshold","active","councilSafe"],"nodeType":"FunctionCall","src":"3973:75:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_memory_ptr","typeString":"struct Strategy memory"}},"src":"3949:99:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"id":76650,"nodeType":"ExpressionStatement","src":"3949:99:116"},{"eventCall":{"arguments":[{"id":76652,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76603,"src":"4077:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76653,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76605,"src":"4088:10:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":76654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4100:5:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":76655,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76607,"src":"4107:12:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76651,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76390,"src":"4063:13:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,uint256,bool,address)"}},"id":76656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4063:57:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76657,"nodeType":"EmitStatement","src":"4058:62:116"}]},"baseFunctions":[76303],"documentation":{"id":76601,"nodeType":"StructuredDocumentation","src":"3433:157:116","text":"@notice Add a strategy to the contract\n @param _threshold is expressed on a scale of 10**4\n @param _councilSafe address of the council safe"},"functionSelector":"fc2ebdd1","implemented":true,"kind":"function","modifiers":[{"id":76610,"kind":"modifierInvocation","modifierName":{"id":76609,"name":"onlyAuthorized","nameLocations":["3686:14:116"],"nodeType":"IdentifierPath","referencedDeclaration":76434,"src":"3686:14:116"},"nodeType":"ModifierInvocation","src":"3686:14:116"}],"name":"addStrategy","nameLocation":"3604:11:116","parameters":{"id":76608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76603,"mutability":"mutable","name":"_strategy","nameLocation":"3624:9:116","nodeType":"VariableDeclaration","scope":76659,"src":"3616:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76602,"name":"address","nodeType":"ElementaryTypeName","src":"3616:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76605,"mutability":"mutable","name":"_threshold","nameLocation":"3643:10:116","nodeType":"VariableDeclaration","scope":76659,"src":"3635:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76604,"name":"uint256","nodeType":"ElementaryTypeName","src":"3635:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76607,"mutability":"mutable","name":"_councilSafe","nameLocation":"3663:12:116","nodeType":"VariableDeclaration","scope":76659,"src":"3655:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76606,"name":"address","nodeType":"ElementaryTypeName","src":"3655:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3615:61:116"},"returnParameters":{"id":76611,"nodeType":"ParameterList","parameters":[],"src":"3701:0:116"},"scope":76826,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76692,"nodeType":"FunctionDefinition","src":"4244:274:116","nodes":[],"body":{"id":76691,"nodeType":"Block","src":"4340:178:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76670,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76662,"src":"4369:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76669,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76500,"src":"4350:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4350:29:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76672,"nodeType":"ExpressionStatement","src":"4350:29:116"},{"expression":{"id":76678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":76673,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"4389:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76675,"indexExpression":{"id":76674,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76662,"src":"4400:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4389:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"id":76676,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4411:6:116","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":76252,"src":"4389:28:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":76677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4420:5:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4389:36:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76679,"nodeType":"ExpressionStatement","src":"4389:36:116"},{"expression":{"id":76685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":76680,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"4435:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76682,"indexExpression":{"id":76681,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76662,"src":"4446:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4435:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"id":76683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4457:9:116","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":76250,"src":"4435:31:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":76684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4469:1:116","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4435:35:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76686,"nodeType":"ExpressionStatement","src":"4435:35:116"},{"eventCall":{"arguments":[{"id":76688,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76662,"src":"4501:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76687,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76394,"src":"4485:15:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":76689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4485:26:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76690,"nodeType":"EmitStatement","src":"4480:31:116"}]},"baseFunctions":[76308],"documentation":{"id":76660,"nodeType":"StructuredDocumentation","src":"4133:106:116","text":"@notice Remove a strategy from the contract\n @param _strategy address of the strategy to remove"},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":76666,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76662,"src":"4329:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":76667,"kind":"modifierInvocation","modifierName":{"id":76665,"name":"onlyCouncilOrAuthorized","nameLocations":["4305:23:116"],"nodeType":"IdentifierPath","referencedDeclaration":76464,"src":"4305:23:116"},"nodeType":"ModifierInvocation","src":"4305:34:116"}],"name":"removeStrategy","nameLocation":"4253:14:116","overrides":{"id":76664,"nodeType":"OverrideSpecifier","overrides":[],"src":"4296:8:116"},"parameters":{"id":76663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76662,"mutability":"mutable","name":"_strategy","nameLocation":"4276:9:116","nodeType":"VariableDeclaration","scope":76692,"src":"4268:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76661,"name":"address","nodeType":"ElementaryTypeName","src":"4268:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4267:19:116"},"returnParameters":{"id":76668,"nodeType":"ParameterList","parameters":[],"src":"4340:0:116"},"scope":76826,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76717,"nodeType":"FunctionDefinition","src":"4621:211:116","nodes":[],"body":{"id":76716,"nodeType":"Block","src":"4698:134:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76702,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76695,"src":"4727:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76701,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76500,"src":"4708:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:29:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76704,"nodeType":"ExpressionStatement","src":"4708:29:116"},{"expression":{"id":76710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":76705,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"4747:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76707,"indexExpression":{"id":76706,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76695,"src":"4758:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4747:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"id":76708,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4769:6:116","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":76252,"src":"4747:28:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":76709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4778:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4747:35:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76711,"nodeType":"ExpressionStatement","src":"4747:35:116"},{"eventCall":{"arguments":[{"id":76713,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76695,"src":"4815:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76712,"name":"StrategyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76398,"src":"4797:17:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":76714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4797:28:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76715,"nodeType":"EmitStatement","src":"4792:33:116"}]},"baseFunctions":[76313],"documentation":{"id":76693,"nodeType":"StructuredDocumentation","src":"4524:92:116","text":"@notice Activate a strategy\n @param _strategy address of the strategy to activate"},"functionSelector":"d80ea5a0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":76698,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76695,"src":"4687:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":76699,"kind":"modifierInvocation","modifierName":{"id":76697,"name":"onlyCouncil","nameLocations":["4675:11:116"],"nodeType":"IdentifierPath","referencedDeclaration":76483,"src":"4675:11:116"},"nodeType":"ModifierInvocation","src":"4675:22:116"}],"name":"activateStrategy","nameLocation":"4630:16:116","parameters":{"id":76696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76695,"mutability":"mutable","name":"_strategy","nameLocation":"4655:9:116","nodeType":"VariableDeclaration","scope":76717,"src":"4647:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76694,"name":"address","nodeType":"ElementaryTypeName","src":"4647:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4646:19:116"},"returnParameters":{"id":76700,"nodeType":"ParameterList","parameters":[],"src":"4698:0:116"},"scope":76826,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76745,"nodeType":"FunctionDefinition","src":"5028:272:116","nodes":[],"body":{"id":76744,"nodeType":"Block","src":"5139:161:116","nodes":[],"statements":[{"expression":{"arguments":[{"id":76729,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76720,"src":"5168:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76728,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76500,"src":"5149:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":76730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5149:29:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76731,"nodeType":"ExpressionStatement","src":"5149:29:116"},{"expression":{"id":76737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":76732,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"5188:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76734,"indexExpression":{"id":76733,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76720,"src":"5199:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5188:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"id":76735,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5210:9:116","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":76250,"src":"5188:31:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76736,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76722,"src":"5222:13:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5188:47:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76738,"nodeType":"ExpressionStatement","src":"5188:47:116"},{"eventCall":{"arguments":[{"id":76740,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76720,"src":"5268:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76741,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76722,"src":"5279:13:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76739,"name":"ThresholdModified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76404,"src":"5250:17:116","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":76742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5250:43:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76743,"nodeType":"EmitStatement","src":"5245:48:116"}]},"baseFunctions":[76294],"documentation":{"id":76718,"nodeType":"StructuredDocumentation","src":"4838:185:116","text":"@notice Modify the threshold of a strategy\n @param _strategy address of the strategy to modify\n @param _newThreshold new threshold to set expressed on a scale of 10**4"},"functionSelector":"642ce76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":76725,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76720,"src":"5128:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":76726,"kind":"modifierInvocation","modifierName":{"id":76724,"name":"onlyCouncilOrAuthorized","nameLocations":["5104:23:116"],"nodeType":"IdentifierPath","referencedDeclaration":76464,"src":"5104:23:116"},"nodeType":"ModifierInvocation","src":"5104:34:116"}],"name":"modifyThreshold","nameLocation":"5037:15:116","parameters":{"id":76723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76720,"mutability":"mutable","name":"_strategy","nameLocation":"5061:9:116","nodeType":"VariableDeclaration","scope":76745,"src":"5053:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76719,"name":"address","nodeType":"ElementaryTypeName","src":"5053:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76722,"mutability":"mutable","name":"_newThreshold","nameLocation":"5080:13:116","nodeType":"VariableDeclaration","scope":76745,"src":"5072:21:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76721,"name":"uint256","nodeType":"ElementaryTypeName","src":"5072:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5052:42:116"},"returnParameters":{"id":76727,"nodeType":"ParameterList","parameters":[],"src":"5139:0:116"},"scope":76826,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76784,"nodeType":"FunctionDefinition","src":"5465:345:116","nodes":[],"body":{"id":76783,"nodeType":"Block","src":"5563:247:116","nodes":[],"statements":[{"assignments":[76758],"declarations":[{"constant":false,"id":76758,"mutability":"mutable","name":"userScore","nameLocation":"5593:9:116","nodeType":"VariableDeclaration","scope":76783,"src":"5573:29:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":76757,"nodeType":"UserDefinedTypeName","pathNode":{"id":76756,"name":"PassportData","nameLocations":["5573:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76248,"src":"5573:12:116"},"referencedDeclaration":76248,"src":"5573:12:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":76762,"initialValue":{"baseExpression":{"id":76759,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76357,"src":"5605:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76248_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":76761,"indexExpression":{"id":76760,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76748,"src":"5616:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5605:17:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5573:49:116"},{"assignments":[76765],"declarations":[{"constant":false,"id":76765,"mutability":"mutable","name":"strategy","nameLocation":"5648:8:116","nodeType":"VariableDeclaration","scope":76783,"src":"5632:24:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":76764,"nodeType":"UserDefinedTypeName","pathNode":{"id":76763,"name":"Strategy","nameLocations":["5632:8:116"],"nodeType":"IdentifierPath","referencedDeclaration":76255,"src":"5632:8:116"},"referencedDeclaration":76255,"src":"5632:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"id":76769,"initialValue":{"baseExpression":{"id":76766,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"5659:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76768,"indexExpression":{"id":76767,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76750,"src":"5670:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5659:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5632:48:116"},{"condition":{"id":76772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5695:16:116","subExpression":{"expression":{"id":76770,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76765,"src":"5696:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_memory_ptr","typeString":"struct Strategy memory"}},"id":76771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5705:6:116","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":76252,"src":"5696:15:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76776,"nodeType":"IfStatement","src":"5691:58:116","trueBody":{"id":76775,"nodeType":"Block","src":"5713:36:116","statements":[{"expression":{"hexValue":"74727565","id":76773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5734:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":76755,"id":76774,"nodeType":"Return","src":"5727:11:116"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76777,"name":"userScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76758,"src":"5766:9:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"id":76778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5776:5:116","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76245,"src":"5766:15:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":76779,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76765,"src":"5785:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_memory_ptr","typeString":"struct Strategy memory"}},"id":76780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5794:9:116","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":76250,"src":"5785:18:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5766:37:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76755,"id":76782,"nodeType":"Return","src":"5759:44:116"}]},"baseFunctions":[76287],"documentation":{"id":76746,"nodeType":"StructuredDocumentation","src":"5306:154:116","text":"@notice Check if an action can be executed\n @param _user address of the user to check\n @param _strategy address of the strategy to check"},"functionSelector":"42a987a0","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteAction","nameLocation":"5474:16:116","overrides":{"id":76752,"nodeType":"OverrideSpecifier","overrides":[],"src":"5539:8:116"},"parameters":{"id":76751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76748,"mutability":"mutable","name":"_user","nameLocation":"5499:5:116","nodeType":"VariableDeclaration","scope":76784,"src":"5491:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76747,"name":"address","nodeType":"ElementaryTypeName","src":"5491:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76750,"mutability":"mutable","name":"_strategy","nameLocation":"5514:9:116","nodeType":"VariableDeclaration","scope":76784,"src":"5506:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76749,"name":"address","nodeType":"ElementaryTypeName","src":"5506:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5490:34:116"},"returnParameters":{"id":76755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76754,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76784,"src":"5557:4:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76753,"name":"bool","nodeType":"ElementaryTypeName","src":"5557:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5556:6:116"},"scope":76826,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76798,"nodeType":"FunctionDefinition","src":"5906:122:116","nodes":[],"body":{"id":76797,"nodeType":"Block","src":"5987:41:116","nodes":[],"statements":[{"expression":{"baseExpression":{"id":76793,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76357,"src":"6004:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$76248_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":76795,"indexExpression":{"id":76794,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76787,"src":"6015:5:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6004:17:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}},"functionReturnParameters":76792,"id":76796,"nodeType":"Return","src":"5997:24:116"}]},"baseFunctions":[76321],"documentation":{"id":76785,"nodeType":"StructuredDocumentation","src":"5816:85:116","text":"@notice Get the score of a user\n @param _user address of the user to check"},"functionSelector":"b34e0c47","implemented":true,"kind":"function","modifiers":[],"name":"getUserScore","nameLocation":"5915:12:116","parameters":{"id":76788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76787,"mutability":"mutable","name":"_user","nameLocation":"5936:5:116","nodeType":"VariableDeclaration","scope":76798,"src":"5928:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76786,"name":"address","nodeType":"ElementaryTypeName","src":"5928:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5927:15:116"},"returnParameters":{"id":76792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76791,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76798,"src":"5966:19:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":76790,"nodeType":"UserDefinedTypeName","pathNode":{"id":76789,"name":"PassportData","nameLocations":["5966:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76248,"src":"5966:12:116"},"referencedDeclaration":76248,"src":"5966:12:116","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"5965:21:116"},"scope":76826,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76812,"nodeType":"FunctionDefinition","src":"6130:125:116","nodes":[],"body":{"id":76811,"nodeType":"Block","src":"6210:45:116","nodes":[],"statements":[{"expression":{"baseExpression":{"id":76807,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76362,"src":"6227:10:116","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$76255_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":76809,"indexExpression":{"id":76808,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76801,"src":"6238:9:116","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6227:21:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage","typeString":"struct Strategy storage ref"}},"functionReturnParameters":76806,"id":76810,"nodeType":"Return","src":"6220:28:116"}]},"baseFunctions":[76329],"documentation":{"id":76799,"nodeType":"StructuredDocumentation","src":"6034:91:116","text":"@notice Get the strategy data\n @param _strategy address of the strategy to check"},"functionSelector":"f8806a13","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"6139:11:116","parameters":{"id":76802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76801,"mutability":"mutable","name":"_strategy","nameLocation":"6159:9:116","nodeType":"VariableDeclaration","scope":76812,"src":"6151:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76800,"name":"address","nodeType":"ElementaryTypeName","src":"6151:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6150:19:116"},"returnParameters":{"id":76806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76805,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76812,"src":"6193:15:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":76804,"nodeType":"UserDefinedTypeName","pathNode":{"id":76803,"name":"Strategy","nameLocations":["6193:8:116"],"nodeType":"IdentifierPath","referencedDeclaration":76255,"src":"6193:8:116"},"referencedDeclaration":76255,"src":"6193:8:116","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$76255_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"src":"6192:17:116"},"scope":76826,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76821,"nodeType":"FunctionDefinition","src":"6261:66:116","nodes":[],"body":{"id":76820,"nodeType":"Block","src":"6325:2:116","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":76818,"kind":"modifierInvocation","modifierName":{"id":76817,"name":"onlyOwner","nameLocations":["6315:9:116"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"6315:9:116"},"nodeType":"ModifierInvocation","src":"6315:9:116"}],"name":"_authorizeUpgrade","nameLocation":"6270:17:116","overrides":{"id":76816,"nodeType":"OverrideSpecifier","overrides":[],"src":"6306:8:116"},"parameters":{"id":76815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76814,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76821,"src":"6288:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76813,"name":"address","nodeType":"ElementaryTypeName","src":"6288:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6287:9:116"},"returnParameters":{"id":76819,"nodeType":"ParameterList","parameters":[],"src":"6325:0:116"},"scope":76826,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76825,"nodeType":"VariableDeclaration","src":"6333:25:116","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"6353:5:116","scope":76826,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":76822,"name":"uint256","nodeType":"ElementaryTypeName","src":"6333:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76824,"length":{"hexValue":"3530","id":76823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6341:2:116","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"6333:11:116","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":76343,"name":"Initializable","nameLocations":["479:13:116"],"nodeType":"IdentifierPath","referencedDeclaration":53233,"src":"479:13:116"},"id":76344,"nodeType":"InheritanceSpecifier","src":"479:13:116"},{"baseName":{"id":76345,"name":"UUPSUpgradeable","nameLocations":["494:15:116"],"nodeType":"IdentifierPath","referencedDeclaration":55753,"src":"494:15:116"},"id":76346,"nodeType":"InheritanceSpecifier","src":"494:15:116"},{"baseName":{"id":76347,"name":"OwnableUpgradeable","nameLocations":["511:18:116"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"511:18:116"},"id":76348,"nodeType":"InheritanceSpecifier","src":"511:18:116"},{"baseName":{"id":76349,"name":"ISybilScorer","nameLocations":["531:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":76330,"src":"531:12:116"},"id":76350,"nodeType":"InheritanceSpecifier","src":"531:12:116"}],"canonicalName":"PassportScorer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[76826,76330,52984,53777,55753,53233,55406,55055,55065],"name":"PassportScorer","nameLocation":"461:14:116","scope":76827,"usedErrors":[76406,76408,76410,76412,76414]}],"license":"AGPL-3.0-or-later"},"id":116}
\ No newline at end of file
diff --git a/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json b/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json
index b3fcc4f67..d8e3fed1a 100644
--- a/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json
+++ b/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"passportData","inputs":[],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"passportScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract PassportScorer"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategy","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAddStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCanExecuteAction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByAuthorized","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyOwnerCanChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unauthorizedUser","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"user","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461006b57600160ff198181600c541617600c55601e541617601e55600560018060a01b0319600181601f541617601f5560028160205416176020556003816021541617602155600481602254161760225560235416176023556144d190816100718239f35b600080fdfe60808060405260043610156200001457600080fd5b600090813560e01c908163073a2d8c1462002606575080630778c72c14620023ef5780630a9254e4146200228e5780630c2759da14620021215780631ed7831c146200209b57806324e40b971462001f5e578063258211531462001e2f5780632ade38801462001b9b5780633668aa2914620019df5780633e5e3c2314620019595780633ea7771b146200192e5780633f7286f414620018a85780634905e83114620018795780634f8632ba146200185057806366d9a9a014620016bb5780636c53db9a146200169057806382fad478146200156a57806385226c81146200142a5780638caa5c441462000ef55780638df8b2fe1462000eca578063916a17c61462000c4f5780639693f1281462000aa2578063a8c62e761462000a77578063b5508aa91462000923578063ba414fa614620008fa578063d4dadecb14620006d9578063e20c9f711462000642578063e68393b414620003eb578063ebe69a5f14620001b15763fa7626d4146200018a57600080fd5b34620001ae5780600319360112620001ae57602060ff601e54166040519015158152f35b80fd5b5034620001ae5780600319360112620001ae57601e54604051638da5cb5b60e01b8152906020906001600160a01b039082908490600490829060081c85165afa928315620003e0578493620003a1575b50836000805160206200447c83398151915293843b15620003855760405163ca669fa760e01b81529083166004820152818160248183895af180156200037a5762000389575b5081601e5460081c16803b1562000385578180916024604051809481936303d4768360e41b8352600660048401525af180156200037a5762000362575b505060048282601e5460081c16604051928380926346fc597f60e11b82525afa9283156200035757859362000313575b5050823b156200030e57604460009260405194859384926328a9b0fb60e11b8452166004830152600660248301525afa80156200030257620002f4575080f35b620002ff90620027d7565b80f35b6040513d6000823e3d90fd5b600080fd5b9080929350813d83116200034f575b6200032e818362002807565b810103126200034b576200034290620029f6565b903880620002b4565b8380fd5b503d62000322565b6040513d87823e3d90fd5b6200036d90620027d7565b6200034b57833862000284565b6040513d84823e3d90fd5b5080fd5b6200039490620027d7565b6200034b57833862000247565b9092508181813d8311620003d8575b620003bc818362002807565b810103126200034b57620003d090620029f6565b913862000201565b503d620003b0565b6040513d86823e3d90fd5b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f25760405163ca669fa760e01b918282526004820152838160248183875af1908115620003e05784916200062a575b505083601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e05784916200060e575b505083601f5416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620005f6575b5081601e5460081c168260215416813b15620005f257829160448392604051948593849263642ce76b60e01b84526004840152604b60248401525af180156200037a57620005da575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff9284859186946200058b575b50906200057a62000580926200295f565b62002ab3565b602254169062002a25565b6200057a9450620005809250620005bd915060603d8111620005c7575b620005b4818362002807565b81019062002a85565b9490925062000569565b503d620005a8565b6040513d85823e3d90fd5b620005e590620027d7565b6200038557813862000525565b8280fd5b6200060190620027d7565b62000385578138620004dc565b6200061990620027d7565b620005f2578238620004aa565b8580fd5b6200063590620027d7565b620005f257823862000454565b5034620001ae5780600319360112620001ae57604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b828210620006b857620006b485620006a78189038262002807565b604051918291826200262d565b0390f35b83546001600160a01b0316865294850194600193840193909101906200068c565b5034620001ae5780600319360112620001ae57601f546001600160a01b03908116826000805160206200447c833981519152803b1562000385576040519263ca669fa760e01b9081855260048501526024938381868183875af1908115620003e0578491620008e2575b505084601e5460081c168560205416813b15620008de578491606483926040519485938492630f029aad60e31b845260048401528a548b84015260255460448401525af1908115620003e0578491620008c6575b505084601f5416823b156200034b57848492836040519586948593845260048401525af180156200037a57620008ae575b5082601e5460081c168360205416813b15620005f2578291848392604051948593849263130aea3160e31b845260048401525af180156200037a5762000896575b505060409082601e5460081c1692602054169082518094819363b34e0c4760e01b835260048301525afa9081156200037a57620002ff91602091849162000860575b5062000858815162002907565b015162002907565b62000887915060403d6040116200088e575b6200087e818362002807565b810190620028dc565b386200084b565b503d62000872565b620008a190620027d7565b620005f257823862000809565b620008b990620027d7565b620005f2578238620007c8565b620008d190620027d7565b620005f257823862000797565b8480fd5b620008ed90620027d7565b620005f257823862000743565b5034620001ae5780600319360112620001ae576020620009196200282b565b6040519015158152f35b5034620001ae5780600319360112620001ae576019546200094481620028c4565b62000953604051918262002807565b81815260196000908152602092907f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695908484015b8382106200099f5760405180620006b4878262002771565b60405160009184549160019280841c90848116801562000a6c575b8b8310811462000a58578284528b94939291811562000a3a5750600114620009fd575b50620009ee81600196038262002807565b81520193019101909162000987565b60008881528481209650905b80821062000a225750810183019450620009ee620009dd565b8654838301860152958501958b949091019062000a09565b60ff19168584015250151560051b810183019450620009ee620009dd565b634e487b7160e01b87526022600452602487fd5b91607f1691620009ba565b5034620001ae5780600319360112620001ae576021546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601f546000805160206200447c833981519152906001600160a01b039083908216833b1562000385576040519063ca669fa760e01b82526004820152818160248183885af180156200037a5762000c37575b5081601e5460081c1682602154168360225416823b156200034b576064849283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af180156200037a5762000c1f575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa918215620003e057848591869462000bf6575b50843b156200030e5760009060446040518097819363260a5b1560e21b83526004830152603260248301525afa9081156200030257620002ff94620005809262000be4575b5062002ab3565b62000bef90620027d7565b3862000bdd565b91505062000c1691925060603d8111620005c757620005b4818362002807565b92913862000b98565b62000c2a90620027d7565b620005f257823862000b59565b62000c4290620027d7565b620005f257823862000b07565b5034620001ae5780600319360112620001ae57601c5462000c7081620028c4565b9062000c80604051928362002807565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831062000cc65760405180620006b48782620026b5565b60405162000cd481620027eb565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b81600784011062000e5b578460019794600297946020979462000d6a94549181811062000e3e575b81811062000e21575b81811062000e04575b81811062000de7575b81811062000dca575b81811062000dad575b81811062000d92575b1062000d7d575b50038262002807565b8382015281520192019201919062000cae565b6001600160e01b031916815286013862000d61565b828a1b6001600160e01b0319168452928901928b0162000d5a565b604083901b6001600160e01b0319168452928901928b0162000d51565b606083901b6001600160e01b0319168452928901928b0162000d48565b608083901b6001600160e01b0319168452928901928b0162000d3f565b60a083901b6001600160e01b0319168452928901928b0162000d36565b60c083901b6001600160e01b0319168452928901928b0162000d2d565b60e083901b6001600160e01b0319168452928901928b0162000d24565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e082015201940192019162000cfc565b5034620001ae5780600319360112620001ae57601f546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601f5481906000805160206200447c833981519152906001600160a01b0390811690823b1562001279576040519163ca669fa760e01b9081845260048401526024928581858183895af19081156200141f57869162001407575b5050601e9081549083600892831c1684602154168560225416823b15620012e85760648a9283604051958694859363fc2ebdd160e01b8552600485015260328d85015260448401525af19081156200139c578891620013ef575b50508360225416863b15620012d957604051906303223eab60e11b8252600482015287818781838b5af19081156200139c578891620013d7575b5050838354831c168460215416813b156200131c57889187839260405194859384926306c0752d60e51b845260048401525af19081156200139c578891620013bf575b5050853b1562001398576040516390c5013b60e01b81528781600481838b5af19081156200139c578891620013a7575b505083601f5416863b15620012d95760405190828252600482015287818781838b5af19081156200139c57889162001380575b5050838354831c169360209481865416813b15620012e8578991606483926040519485938492630f029aad60e31b845260048401528c548d84015260255460448401525af1908115620012dd57899162001368575b5050808454841c16916200112886838154169484602154169060405180809581946302154c3d60e51b9a8b84526004840162002a0b565b03915afa90811562001320578a916200132b575b50883b15620012e857604051630c9fd58160e01b81529015156004820152898189818c5afa90811562001320578a9162001304575b505081601f5416883b15620012e857604051918252600482015288818881838c5af1908115620012dd578991620012ec575b5050808454841c16928160215416843b15620012e857899460448692604051978893849263642ce76b60e01b8452600484015260968d8401525af18015620012dd5786948a91620012bc575b505081906200121d9554901c1690808454169060215416926040519586948593849384526004840162002a0b565b03915afa918215620003575785926200127e575b5050823b15620012795783916040518094819363a598288560e01b8352151560048301525afa80156200037a57620012665750f35b6200127190620027d7565b620001ae5780f35b505050fd5b90809250813d8311620012b4575b62001298818362002807565b810103126200127957620012ac9062002a77565b388062001231565b503d6200128c565b620012ca91929550620027d7565b620012d95784928838620011ef565b8780fd5b6040513d8b823e3d90fd5b8980fd5b620012f790620027d7565b620012d9578738620011a3565b6200130f90620027d7565b6200131c57883862001171565b8880fd5b6040513d8c823e3d90fd5b90508681813d831162001360575b62001345818362002807565b81010312620012e857620013599062002a77565b386200113c565b503d62001339565b6200137390620027d7565b620012d9578738620010f1565b6200138b90620027d7565b620013985786386200109c565b8680fd5b6040513d8a823e3d90fd5b620013b290620027d7565b6200139857863862001069565b620013ca90620027d7565b6200139857863862001039565b620013e290620027d7565b6200139857863862000ff6565b620013fa90620027d7565b6200139857863862000fbc565b6200141290620027d7565b620008de57843862000f62565b6040513d88823e3d90fd5b5034620001ae5780600319360112620001ae57601a546200144b81620028c4565b6200145a604051918262002807565b818152601a6000908152602092907f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e908484015b838210620014a65760405180620006b4878262002771565b60405160009184549160019280841c9084811680156200155f575b8b8310811462000a58578284528b94939291811562001541575060011462001504575b50620014f581600196038262002807565b8152019301910190916200148e565b60008881528481209650905b808210620015295750810183019450620014f5620014e4565b8654838301860152958501958b949091019062001510565b60ff19168584015250151560051b810183019450620014f5620014e4565b91607f1691620014c1565b5034620001ae5780600319360112620001ae5760235481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162001678575b5050803b156200165957604051630618f58760e51b8152637d7b71b560e01b60048201529083908290602490829084905af1908115620005cf5783916200165d575b505080601e5460081c169060205416813b156200165957829160248392604051948593849263130aea3160e31b845260048401525af180156200037a57620012665750f35b5050fd5b6200166890620027d7565b6200167557813862001614565b50fd5b6200168390620027d7565b62001659578238620015d2565b5034620001ae5780600319360112620001ae576022546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601b54620016dc81620028c4565b90620016ec604051928362002807565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b838310620017325760405180620006b48782620026b5565b6040516200174081620027eb565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110620017e15784600197946002979460209794620017ce94549181811062000e3e5781811062000e215781811062000e045781811062000de75781811062000dca5781811062000dad5781811062000d92571062000d7d5750038262002807565b838201528152019201920191906200171a565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e082015201940192019162001768565b5034620001ae5780600319360112620001ae57602080546040516001600160a01b039091168152f35b5034620001ae5780600319360112620001ae57601e5460405160089190911c6001600160a01b03168152602090f35b5034620001ae5780600319360112620001ae57604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b8282106200190d57620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620018f2565b5034620001ae5780600319360112620001ae576023546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b828210620019be57620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620019a3565b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f25760405163ca669fa760e01b918282526004820152838160248183875af1908115620003e057849162001b83575b505083601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e057849162001b6b575b50508360225416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620005f6575081601e5460081c168260215416813b15620005f257829160448392604051948593849263642ce76b60e01b84526004840152604b60248401525af180156200037a57620005da57505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff9284859186946200058b5750906200057a62000580926200295f565b62001b7690620027d7565b620005f257823862001a9e565b62001b8e90620027d7565b620005f257823862001a48565b5034620001ae5780600319360112620001ae57601d549062001bbd82620028c4565b62001bcc604051918262002807565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b82841062001cd557858588604051916020830190602084525180915260408301600590604083831b860101939580925b84841062001c3b5786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b82811062001ca757505050505060208060019299019401940192969493919062001c2d565b909192939460208062001cc7600193605f19878203018952895162002673565b970195019392910162001c82565b60405162001ce381620027eb565b82546001600160a01b031681526001830180549062001d0282620028c4565b9162001d12604051938462002807565b808352602083019160005260206000206000925b82841062001d4e57505050506001928260209283600295015281520192019301929062001bfd565b604051600083548060011c90600181161562001e24575b60208210600182161462001e10578184526001811690811562001dec575060011462001db1575b506001928262001da28594602094038262002807565b81520192019301929062001d26565b6000858152602081209092505b81831062001dd55750508101602001600162001d8c565b600181602092548386880101520192019162001dbe565b60ff191660208581019190915291151560051b840190910191506001905062001d8c565b634e487b7160e01b83526022600452602483fd5b90607f169062001d65565b5034620001ae5780600319360112620001ae5760235481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162001f46575b5050803b156200165957604051630618f58760e51b8152637d7b71b560e01b60048201529083908290602490829084905af1908115620005cf57839162001f2e575b505080601e5460081c169060205416813b1562001659578291606483926040519485938492630f029aad60e31b84526004840152602454602484015260255460448401525af180156200037a57620012665750f35b62001f3990620027d7565b6200167557813862001ed9565b62001f5190620027d7565b6200165957823862001e97565b5034620001ae5780600319360112620001ae57601f5481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162002083575b5050803b15620016595782809160646040518094819363f28dceb360e01b835260206004840152602060248401527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448401525af1908115620005cf5783916200206b575b5050601e5460081c16803b1562001675578180916024604051809481936303d4768360e41b8352600660048401525af180156200037a57620012665750f35b6200207690620027d7565b620016755781386200202c565b6200208e90620027d7565b6200165957823862001fc6565b5034620001ae5780600319360112620001ae57604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b8282106200210057620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620020e5565b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f257829160248392604051948593849263ca669fa760e01b845260048401525af180156200037a5762002276575b5081601e5460081c168260205416813b15620005f2578291606483926040519485938492630f029aad60e31b84526004840152602454602484015260255460448401525af180156200037a576200225e575b5050604081601e5460081c169160205416602482518094819363b34e0c4760e01b835260048301525afa9081156200037a57620002ff9160209184916200223a575b506200222e815160245490620029ab565b015160255490620029ab565b62002257915060403d6040116200088e576200087e818362002807565b386200221d565b6200226990620027d7565b62000385578138620021db565b6200228190620027d7565b6200038557813862002189565b5034620001ae5780600319360112620001ae576040516001600160401b039061156b8082019083821183831017620023db5790829162002f118339039083f080156200037a57601f5460405163189acdbd60e31b60208201526001600160a01b0391821660248083019190915281526060810193909181851183861017620023c557846040526104109384840194606086019387851090851117620023b15762002b018739169052604060808301526200234f60a0605f1993018262002673565b03019082f08015620023a457601e8054610100600160a81b03191660089290921b610100600160a81b03169190911790556040516200238e81620027eb565b6064815260204291015260646024554260255580f35b50604051903d90823e3d90fd5b634e487b7160e01b88526041600452602488fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b85526041600452602485fd5b5034620001ae5780600319360112620001ae57601f546001600160a01b03906000805160206200447c833981519152908216813b156200034b5760405163ca669fa760e01b918282526004820152848160248183875af180156200035757620025ee575b5090839183601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e0578491620025d6575b505083601f5416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620025be575b5081601e5460081c168260215416813b15620005f25782916024839260405194859384926302ea311d60e31b845260048401525af180156200037a57620025a6575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff92848591869462002574575b50906200057a620005809262002907565b6200057a94506200058092506200259c915060603d8111620005c757620005b4818362002807565b9490925062002563565b620025b190620027d7565b620003855781386200251f565b620025c990620027d7565b62000385578138620024dd565b620025e190620027d7565b620005f2578238620024ab565b620025fd9094919294620027d7565b92903862002453565b90503462000385578160031936011262000385576040906024546025549082526020820152f35b6020908160408183019282815285518094520193019160005b82811062002655575050505090565b83516001600160a01b03168552938101939281019260010162002646565b919082519283825260005b848110620026a0575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200267e565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510620026ed57505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b8082106200274c5750505090806001929a019501950193969594929190620026da565b82516001600160e01b03191684528a9493840193909201916001919091019062002729565b602080820190808352835180925260408301928160408460051b8301019501936000915b848310620027a65750505050505090565b9091929394958480620027c6600193603f198682030187528a5162002673565b980193019301919493929062002795565b6001600160401b038111620023c557604052565b604081019081106001600160401b03821117620023c557604052565b601f909101601f19168101906001600160401b03821190821017620023c557604052565b60085460ff1680156200283b5790565b50604051630667f9d760e41b81526020816044816000805160206200447c8339815191528060048301526519985a5b195960d21b60248301525afa90811562000302576000916200288d575b50151590565b906020823d8211620028bb575b81620028a96020938362002807565b81010312620001ae5750513862002887565b3d91506200289a565b6001600160401b038111620023c55760051b60200190565b908160409103126200030e57602060405191620028f983620027eb565b805183520151602082015290565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363260a5b1560e21b835260048301528460248301525afa80156200030257620029525750565b6200295d90620027d7565b565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363260a5b1560e21b83526004830152604b60248301525afa80156200030257620029525750565b6000805160206200447c83398151915291823b156200030e576044600092604051948593849263260a5b1560e21b8452600484015260248301525afa80156200030257620029525750565b51906001600160a01b03821682036200030e57565b6001600160a01b0391821681529116602082015260400190565b6000805160206200447c83398151915291823b156200030e576040516328a9b0fb60e11b81529260009284928391829162002a64916004840162002a0b565b03915afa80156200030257620029525750565b519081151582036200030e57565b908160609103126200030e5780519162002ab0604062002aa86020850162002a77565b9301620029f6565b90565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363f7fe347760e01b8352151560048301528460248301525afa8015620003025762002952575056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c6343000813003360a080604052346100315730608052611534908161003782396080518181816108c6015281816109e60152610d6b0152f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220fc5b99a07f12d7af75d94d4972be64bcfd595b2425afc33fa578a5eeabe922c964736f6c634300081300330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220dcacb9c9266b8896d483f4154472cffad41cced3dcda612a578dfcc66b04c59764736f6c63430008130033","sourceMap":"292:5201:129:-:0;;;;;;;3166:4:24;292:5201:129;;;;3166:4:24;292:5201:129;;;3166:4:24;292:5201:129;1038:4:34;292:5201:129;;;1038:4:34;292:5201:129;588:1;292:5201;;;;;;3166:4:24;292:5201:129;405:10;292:5201;;;405:10;292:5201;451:1;292:5201;443:10;292:5201;;;443:10;292:5201;493:1;292:5201;485:10;292:5201;;;485:10;292:5201;538:1;292:5201;530:10;292:5201;;;530:10;292:5201;580:10;292:5201;;;580:10;292:5201;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b600090813560e01c908163073a2d8c1462002606575080630778c72c14620023ef5780630a9254e4146200228e5780630c2759da14620021215780631ed7831c146200209b57806324e40b971462001f5e578063258211531462001e2f5780632ade38801462001b9b5780633668aa2914620019df5780633e5e3c2314620019595780633ea7771b146200192e5780633f7286f414620018a85780634905e83114620018795780634f8632ba146200185057806366d9a9a014620016bb5780636c53db9a146200169057806382fad478146200156a57806385226c81146200142a5780638caa5c441462000ef55780638df8b2fe1462000eca578063916a17c61462000c4f5780639693f1281462000aa2578063a8c62e761462000a77578063b5508aa91462000923578063ba414fa614620008fa578063d4dadecb14620006d9578063e20c9f711462000642578063e68393b414620003eb578063ebe69a5f14620001b15763fa7626d4146200018a57600080fd5b34620001ae5780600319360112620001ae57602060ff601e54166040519015158152f35b80fd5b5034620001ae5780600319360112620001ae57601e54604051638da5cb5b60e01b8152906020906001600160a01b039082908490600490829060081c85165afa928315620003e0578493620003a1575b50836000805160206200447c83398151915293843b15620003855760405163ca669fa760e01b81529083166004820152818160248183895af180156200037a5762000389575b5081601e5460081c16803b1562000385578180916024604051809481936303d4768360e41b8352600660048401525af180156200037a5762000362575b505060048282601e5460081c16604051928380926346fc597f60e11b82525afa9283156200035757859362000313575b5050823b156200030e57604460009260405194859384926328a9b0fb60e11b8452166004830152600660248301525afa80156200030257620002f4575080f35b620002ff90620027d7565b80f35b6040513d6000823e3d90fd5b600080fd5b9080929350813d83116200034f575b6200032e818362002807565b810103126200034b576200034290620029f6565b903880620002b4565b8380fd5b503d62000322565b6040513d87823e3d90fd5b6200036d90620027d7565b6200034b57833862000284565b6040513d84823e3d90fd5b5080fd5b6200039490620027d7565b6200034b57833862000247565b9092508181813d8311620003d8575b620003bc818362002807565b810103126200034b57620003d090620029f6565b913862000201565b503d620003b0565b6040513d86823e3d90fd5b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f25760405163ca669fa760e01b918282526004820152838160248183875af1908115620003e05784916200062a575b505083601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e05784916200060e575b505083601f5416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620005f6575b5081601e5460081c168260215416813b15620005f257829160448392604051948593849263642ce76b60e01b84526004840152604b60248401525af180156200037a57620005da575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff9284859186946200058b575b50906200057a62000580926200295f565b62002ab3565b602254169062002a25565b6200057a9450620005809250620005bd915060603d8111620005c7575b620005b4818362002807565b81019062002a85565b9490925062000569565b503d620005a8565b6040513d85823e3d90fd5b620005e590620027d7565b6200038557813862000525565b8280fd5b6200060190620027d7565b62000385578138620004dc565b6200061990620027d7565b620005f2578238620004aa565b8580fd5b6200063590620027d7565b620005f257823862000454565b5034620001ae5780600319360112620001ae57604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b828210620006b857620006b485620006a78189038262002807565b604051918291826200262d565b0390f35b83546001600160a01b0316865294850194600193840193909101906200068c565b5034620001ae5780600319360112620001ae57601f546001600160a01b03908116826000805160206200447c833981519152803b1562000385576040519263ca669fa760e01b9081855260048501526024938381868183875af1908115620003e0578491620008e2575b505084601e5460081c168560205416813b15620008de578491606483926040519485938492630f029aad60e31b845260048401528a548b84015260255460448401525af1908115620003e0578491620008c6575b505084601f5416823b156200034b57848492836040519586948593845260048401525af180156200037a57620008ae575b5082601e5460081c168360205416813b15620005f2578291848392604051948593849263130aea3160e31b845260048401525af180156200037a5762000896575b505060409082601e5460081c1692602054169082518094819363b34e0c4760e01b835260048301525afa9081156200037a57620002ff91602091849162000860575b5062000858815162002907565b015162002907565b62000887915060403d6040116200088e575b6200087e818362002807565b810190620028dc565b386200084b565b503d62000872565b620008a190620027d7565b620005f257823862000809565b620008b990620027d7565b620005f2578238620007c8565b620008d190620027d7565b620005f257823862000797565b8480fd5b620008ed90620027d7565b620005f257823862000743565b5034620001ae5780600319360112620001ae576020620009196200282b565b6040519015158152f35b5034620001ae5780600319360112620001ae576019546200094481620028c4565b62000953604051918262002807565b81815260196000908152602092907f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695908484015b8382106200099f5760405180620006b4878262002771565b60405160009184549160019280841c90848116801562000a6c575b8b8310811462000a58578284528b94939291811562000a3a5750600114620009fd575b50620009ee81600196038262002807565b81520193019101909162000987565b60008881528481209650905b80821062000a225750810183019450620009ee620009dd565b8654838301860152958501958b949091019062000a09565b60ff19168584015250151560051b810183019450620009ee620009dd565b634e487b7160e01b87526022600452602487fd5b91607f1691620009ba565b5034620001ae5780600319360112620001ae576021546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601f546000805160206200447c833981519152906001600160a01b039083908216833b1562000385576040519063ca669fa760e01b82526004820152818160248183885af180156200037a5762000c37575b5081601e5460081c1682602154168360225416823b156200034b576064849283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af180156200037a5762000c1f575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa918215620003e057848591869462000bf6575b50843b156200030e5760009060446040518097819363260a5b1560e21b83526004830152603260248301525afa9081156200030257620002ff94620005809262000be4575b5062002ab3565b62000bef90620027d7565b3862000bdd565b91505062000c1691925060603d8111620005c757620005b4818362002807565b92913862000b98565b62000c2a90620027d7565b620005f257823862000b59565b62000c4290620027d7565b620005f257823862000b07565b5034620001ae5780600319360112620001ae57601c5462000c7081620028c4565b9062000c80604051928362002807565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831062000cc65760405180620006b48782620026b5565b60405162000cd481620027eb565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b81600784011062000e5b578460019794600297946020979462000d6a94549181811062000e3e575b81811062000e21575b81811062000e04575b81811062000de7575b81811062000dca575b81811062000dad575b81811062000d92575b1062000d7d575b50038262002807565b8382015281520192019201919062000cae565b6001600160e01b031916815286013862000d61565b828a1b6001600160e01b0319168452928901928b0162000d5a565b604083901b6001600160e01b0319168452928901928b0162000d51565b606083901b6001600160e01b0319168452928901928b0162000d48565b608083901b6001600160e01b0319168452928901928b0162000d3f565b60a083901b6001600160e01b0319168452928901928b0162000d36565b60c083901b6001600160e01b0319168452928901928b0162000d2d565b60e083901b6001600160e01b0319168452928901928b0162000d24565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e082015201940192019162000cfc565b5034620001ae5780600319360112620001ae57601f546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601f5481906000805160206200447c833981519152906001600160a01b0390811690823b1562001279576040519163ca669fa760e01b9081845260048401526024928581858183895af19081156200141f57869162001407575b5050601e9081549083600892831c1684602154168560225416823b15620012e85760648a9283604051958694859363fc2ebdd160e01b8552600485015260328d85015260448401525af19081156200139c578891620013ef575b50508360225416863b15620012d957604051906303223eab60e11b8252600482015287818781838b5af19081156200139c578891620013d7575b5050838354831c168460215416813b156200131c57889187839260405194859384926306c0752d60e51b845260048401525af19081156200139c578891620013bf575b5050853b1562001398576040516390c5013b60e01b81528781600481838b5af19081156200139c578891620013a7575b505083601f5416863b15620012d95760405190828252600482015287818781838b5af19081156200139c57889162001380575b5050838354831c169360209481865416813b15620012e8578991606483926040519485938492630f029aad60e31b845260048401528c548d84015260255460448401525af1908115620012dd57899162001368575b5050808454841c16916200112886838154169484602154169060405180809581946302154c3d60e51b9a8b84526004840162002a0b565b03915afa90811562001320578a916200132b575b50883b15620012e857604051630c9fd58160e01b81529015156004820152898189818c5afa90811562001320578a9162001304575b505081601f5416883b15620012e857604051918252600482015288818881838c5af1908115620012dd578991620012ec575b5050808454841c16928160215416843b15620012e857899460448692604051978893849263642ce76b60e01b8452600484015260968d8401525af18015620012dd5786948a91620012bc575b505081906200121d9554901c1690808454169060215416926040519586948593849384526004840162002a0b565b03915afa918215620003575785926200127e575b5050823b15620012795783916040518094819363a598288560e01b8352151560048301525afa80156200037a57620012665750f35b6200127190620027d7565b620001ae5780f35b505050fd5b90809250813d8311620012b4575b62001298818362002807565b810103126200127957620012ac9062002a77565b388062001231565b503d6200128c565b620012ca91929550620027d7565b620012d95784928838620011ef565b8780fd5b6040513d8b823e3d90fd5b8980fd5b620012f790620027d7565b620012d9578738620011a3565b6200130f90620027d7565b6200131c57883862001171565b8880fd5b6040513d8c823e3d90fd5b90508681813d831162001360575b62001345818362002807565b81010312620012e857620013599062002a77565b386200113c565b503d62001339565b6200137390620027d7565b620012d9578738620010f1565b6200138b90620027d7565b620013985786386200109c565b8680fd5b6040513d8a823e3d90fd5b620013b290620027d7565b6200139857863862001069565b620013ca90620027d7565b6200139857863862001039565b620013e290620027d7565b6200139857863862000ff6565b620013fa90620027d7565b6200139857863862000fbc565b6200141290620027d7565b620008de57843862000f62565b6040513d88823e3d90fd5b5034620001ae5780600319360112620001ae57601a546200144b81620028c4565b6200145a604051918262002807565b818152601a6000908152602092907f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e908484015b838210620014a65760405180620006b4878262002771565b60405160009184549160019280841c9084811680156200155f575b8b8310811462000a58578284528b94939291811562001541575060011462001504575b50620014f581600196038262002807565b8152019301910190916200148e565b60008881528481209650905b808210620015295750810183019450620014f5620014e4565b8654838301860152958501958b949091019062001510565b60ff19168584015250151560051b810183019450620014f5620014e4565b91607f1691620014c1565b5034620001ae5780600319360112620001ae5760235481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162001678575b5050803b156200165957604051630618f58760e51b8152637d7b71b560e01b60048201529083908290602490829084905af1908115620005cf5783916200165d575b505080601e5460081c169060205416813b156200165957829160248392604051948593849263130aea3160e31b845260048401525af180156200037a57620012665750f35b5050fd5b6200166890620027d7565b6200167557813862001614565b50fd5b6200168390620027d7565b62001659578238620015d2565b5034620001ae5780600319360112620001ae576022546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601b54620016dc81620028c4565b90620016ec604051928362002807565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b838310620017325760405180620006b48782620026b5565b6040516200174081620027eb565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110620017e15784600197946002979460209794620017ce94549181811062000e3e5781811062000e215781811062000e045781811062000de75781811062000dca5781811062000dad5781811062000d92571062000d7d5750038262002807565b838201528152019201920191906200171a565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e082015201940192019162001768565b5034620001ae5780600319360112620001ae57602080546040516001600160a01b039091168152f35b5034620001ae5780600319360112620001ae57601e5460405160089190911c6001600160a01b03168152602090f35b5034620001ae5780600319360112620001ae57604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b8282106200190d57620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620018f2565b5034620001ae5780600319360112620001ae576023546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b828210620019be57620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620019a3565b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f25760405163ca669fa760e01b918282526004820152838160248183875af1908115620003e057849162001b83575b505083601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e057849162001b6b575b50508360225416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620005f6575081601e5460081c168260215416813b15620005f257829160448392604051948593849263642ce76b60e01b84526004840152604b60248401525af180156200037a57620005da57505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff9284859186946200058b5750906200057a62000580926200295f565b62001b7690620027d7565b620005f257823862001a9e565b62001b8e90620027d7565b620005f257823862001a48565b5034620001ae5780600319360112620001ae57601d549062001bbd82620028c4565b62001bcc604051918262002807565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b82841062001cd557858588604051916020830190602084525180915260408301600590604083831b860101939580925b84841062001c3b5786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b82811062001ca757505050505060208060019299019401940192969493919062001c2d565b909192939460208062001cc7600193605f19878203018952895162002673565b970195019392910162001c82565b60405162001ce381620027eb565b82546001600160a01b031681526001830180549062001d0282620028c4565b9162001d12604051938462002807565b808352602083019160005260206000206000925b82841062001d4e57505050506001928260209283600295015281520192019301929062001bfd565b604051600083548060011c90600181161562001e24575b60208210600182161462001e10578184526001811690811562001dec575060011462001db1575b506001928262001da28594602094038262002807565b81520192019301929062001d26565b6000858152602081209092505b81831062001dd55750508101602001600162001d8c565b600181602092548386880101520192019162001dbe565b60ff191660208581019190915291151560051b840190910191506001905062001d8c565b634e487b7160e01b83526022600452602483fd5b90607f169062001d65565b5034620001ae5780600319360112620001ae5760235481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162001f46575b5050803b156200165957604051630618f58760e51b8152637d7b71b560e01b60048201529083908290602490829084905af1908115620005cf57839162001f2e575b505080601e5460081c169060205416813b1562001659578291606483926040519485938492630f029aad60e31b84526004840152602454602484015260255460448401525af180156200037a57620012665750f35b62001f3990620027d7565b6200167557813862001ed9565b62001f5190620027d7565b6200165957823862001e97565b5034620001ae5780600319360112620001ae57601f5481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162002083575b5050803b15620016595782809160646040518094819363f28dceb360e01b835260206004840152602060248401527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448401525af1908115620005cf5783916200206b575b5050601e5460081c16803b1562001675578180916024604051809481936303d4768360e41b8352600660048401525af180156200037a57620012665750f35b6200207690620027d7565b620016755781386200202c565b6200208e90620027d7565b6200165957823862001fc6565b5034620001ae5780600319360112620001ae57604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b8282106200210057620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620020e5565b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f257829160248392604051948593849263ca669fa760e01b845260048401525af180156200037a5762002276575b5081601e5460081c168260205416813b15620005f2578291606483926040519485938492630f029aad60e31b84526004840152602454602484015260255460448401525af180156200037a576200225e575b5050604081601e5460081c169160205416602482518094819363b34e0c4760e01b835260048301525afa9081156200037a57620002ff9160209184916200223a575b506200222e815160245490620029ab565b015160255490620029ab565b62002257915060403d6040116200088e576200087e818362002807565b386200221d565b6200226990620027d7565b62000385578138620021db565b6200228190620027d7565b6200038557813862002189565b5034620001ae5780600319360112620001ae576040516001600160401b039061156b8082019083821183831017620023db5790829162002f118339039083f080156200037a57601f5460405163189acdbd60e31b60208201526001600160a01b0391821660248083019190915281526060810193909181851183861017620023c557846040526104109384840194606086019387851090851117620023b15762002b018739169052604060808301526200234f60a0605f1993018262002673565b03019082f08015620023a457601e8054610100600160a81b03191660089290921b610100600160a81b03169190911790556040516200238e81620027eb565b6064815260204291015260646024554260255580f35b50604051903d90823e3d90fd5b634e487b7160e01b88526041600452602488fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b85526041600452602485fd5b5034620001ae5780600319360112620001ae57601f546001600160a01b03906000805160206200447c833981519152908216813b156200034b5760405163ca669fa760e01b918282526004820152848160248183875af180156200035757620025ee575b5090839183601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e0578491620025d6575b505083601f5416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620025be575b5081601e5460081c168260215416813b15620005f25782916024839260405194859384926302ea311d60e31b845260048401525af180156200037a57620025a6575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff92848591869462002574575b50906200057a620005809262002907565b6200057a94506200058092506200259c915060603d8111620005c757620005b4818362002807565b9490925062002563565b620025b190620027d7565b620003855781386200251f565b620025c990620027d7565b62000385578138620024dd565b620025e190620027d7565b620005f2578238620024ab565b620025fd9094919294620027d7565b92903862002453565b90503462000385578160031936011262000385576040906024546025549082526020820152f35b6020908160408183019282815285518094520193019160005b82811062002655575050505090565b83516001600160a01b03168552938101939281019260010162002646565b919082519283825260005b848110620026a0575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200267e565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510620026ed57505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b8082106200274c5750505090806001929a019501950193969594929190620026da565b82516001600160e01b03191684528a9493840193909201916001919091019062002729565b602080820190808352835180925260408301928160408460051b8301019501936000915b848310620027a65750505050505090565b9091929394958480620027c6600193603f198682030187528a5162002673565b980193019301919493929062002795565b6001600160401b038111620023c557604052565b604081019081106001600160401b03821117620023c557604052565b601f909101601f19168101906001600160401b03821190821017620023c557604052565b60085460ff1680156200283b5790565b50604051630667f9d760e41b81526020816044816000805160206200447c8339815191528060048301526519985a5b195960d21b60248301525afa90811562000302576000916200288d575b50151590565b906020823d8211620028bb575b81620028a96020938362002807565b81010312620001ae5750513862002887565b3d91506200289a565b6001600160401b038111620023c55760051b60200190565b908160409103126200030e57602060405191620028f983620027eb565b805183520151602082015290565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363260a5b1560e21b835260048301528460248301525afa80156200030257620029525750565b6200295d90620027d7565b565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363260a5b1560e21b83526004830152604b60248301525afa80156200030257620029525750565b6000805160206200447c83398151915291823b156200030e576044600092604051948593849263260a5b1560e21b8452600484015260248301525afa80156200030257620029525750565b51906001600160a01b03821682036200030e57565b6001600160a01b0391821681529116602082015260400190565b6000805160206200447c83398151915291823b156200030e576040516328a9b0fb60e11b81529260009284928391829162002a64916004840162002a0b565b03915afa80156200030257620029525750565b519081151582036200030e57565b908160609103126200030e5780519162002ab0604062002aa86020850162002a77565b9301620029f6565b90565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363f7fe347760e01b8352151560048301528460248301525afa8015620003025762002952575056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c6343000813003360a080604052346100315730608052611534908161003782396080518181816108c6015281816109e60152610d6b0152f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220fc5b99a07f12d7af75d94d4972be64bcfd595b2425afc33fa578a5eeabe922c964736f6c634300081300330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220dcacb9c9266b8896d483f4154472cffad41cced3dcda612a578dfcc66b04c59764736f6c63430008130033","sourceMap":"292:5201:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;421:32;292:5201;421:32;;;292:5201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1016:26:34;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;1821:14;1590::21;292:5201:129;;-1:-1:-1;;;1821:22:129;;292:5201;1821:22;;-1:-1:-1;;;;;292:5201:129;1821:22;;292:5201;;;;;;1590:14:21;;292:5201:129;;1821:22;;;;;;;;;;;292:5201;;;-1:-1:-1;;;;;;;;;;;1812:32:129;;;;;;292:5201;;-1:-1:-1;;;1812:32:129;;292:5201;;;;1812:32;;292:5201;1812:32;292:5201;;;1812:32;;;;;;;;;;292:5201;1590:14:21;;1821::129;1590::21;;;292:5201:129;1854:44;;;;;292:5201;;;;;;192:59:23;;;;;;;1854:44:129;;1799:1;292:5201;1854:44;;292:5201;1854:44;;;;;;;;292:5201;1590:14:21;;292:5201:129;1590:14:21;;1821::129;1590::21;;;292:5201:129;;;192:59:23;;;;;;;1918:28:129;;;;;;;;;;;;;292:5201;3533:24:23;;;;;;;292:5201:129;;;;;192:59:23;;;;;;;;3533:24;;292:5201:129;;3533:24:23;;292:5201:129;1799:1;292:5201;;;;3533:24:23;;;;;;;;292:5201:129;;;3533:24:23;;;;:::i;:::-;292:5201:129;;3533:24:23;292:5201:129;;192:59:23;292:5201:129;192:59:23;;;;;3533:24;292:5201:129;;;1918:28;;;;;;;;;;;;;;;;;:::i;:::-;;;292:5201;;;;;;;:::i;:::-;1918:28;;;;;292:5201;;;;1918:28;;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;1854:44:129;;;;:::i;:::-;292:5201;;1854:44;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;1854:44:129;292:5201;;;1812:32;;;;:::i;:::-;292:5201;;1812:32;;;;1821:22;;;;;;;;;;;;;;;;;:::i;:::-;;;292:5201;;;;;;;:::i;:::-;1821:22;;;;;;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;292:5201:129;;;;;;;;;;;;;3776:11;292:5201;-1:-1:-1;;;;;292:5201:129;;;-1:-1:-1;;;;;;;;;;;292:5201:129;;;3767:21;;;;;292:5201;;192:59:23;;;3767:21:129;;;;292:5201;3767:21;;292:5201;3767:21;;292:5201;3767:21;;;;;;;;;;;;;;292:5201;1590:14:21;;;3798::129;1590::21;;;292:5201:129;;3825:8;292:5201;;;3846:11;292:5201;;3798:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;3798:60:129;;292:5201;3798:60;;292:5201;3719:2;292:5201;;;;;;;;3798:60;;;;;;;;;;;292:5201;;;;3776:11;292:5201;;3869:21;;;;;292:5201;;;;;;3869:21;;;;;;;292:5201;3869:21;;292:5201;3869:21;;;;;;;;292:5201;1590:14:21;;3798::129;1590::21;;;292:5201:129;;3825:8;292:5201;;3900:54;;;;;292:5201;;;;;;;192:59:23;;;;;;;;3900:54:129;;292:5201;3900:54;;292:5201;3754:2;292:5201;;;;3900:54;;;;;;;;292:5201;1590:14:21;;;3798::129;1590::21;;;292:5201:129;;;;3825:8;292:5201;;;;;192:59:23;;;;;;;4039:35:129;;292:5201;4039:35;;292:5201;4039:35;;;;;;;4200:11;4039:35;;;;;;;;292:5201;4110:12;;;4156:5;4110:12;;:::i;:::-;4156:5;:::i;:::-;3846:11;292:5201;;4200:11;;:::i;4039:35::-;4110:12;4039:35;;4156:5;4039:35;;;;;292:5201;4039:35;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;-1:-1:-1;4039:35:129;;;;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;3900:54:129;;;;:::i;:::-;292:5201;;3900:54;;;;;292:5201;;;3869:21;;;;:::i;:::-;292:5201;;3869:21;;;;3798:60;;;;:::i;:::-;292:5201;;3798:60;;;;;292:5201;;;3767:21;;;;:::i;:::-;292:5201;;3767:21;;;;292:5201;;;;;;;;;;;;;;;2421:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1404:11;292:5201;-1:-1:-1;;;;;292:5201:129;;;;-1:-1:-1;;;;;;;;;;;1395:21:129;;;;;292:5201;;192:59:23;;;;1395:21:129;;;;292:5201;1395:21;;292:5201;;1395:21;;;;;;;;;;;;;;;;;;292:5201;1590:14:21;;;1426::129;1590::21;;;292:5201:129;;;;;1426:47;;;;;292:5201;;1590:14:21;292:5201:129;;;;192:59:23;;;;;;;;1426:47:129;;292:5201;1426:47;;292:5201;1590:14:21;;;;;292:5201:129;1590:14:21;;;;;292:5201:129;1426:47;;;;;;;;;;;292:5201;;;;1404:11;292:5201;;1484:21;;;;;292:5201;;;;;;1484:21;;;;;;;292:5201;1484:21;;292:5201;1484:21;;;;;;;;292:5201;1590:14:21;;1426::129;1590::21;;;292:5201:129;;;;;1515:31;;;;;292:5201;;;;;;;192:59:23;;;;;;;;1515:31:129;;292:5201;1515:31;;292:5201;1515:31;;;;;;;;292:5201;1590:14:21;;292:5201:129;1590:14:21;;1426::129;1590::21;;;292:5201:129;;;;;;;;192:59:23;;;;;;;1590:33:129;;292:5201;1590:33;;292:5201;1590:33;;;;;;;1672:35;1590:33;292:5201;1590:33;;;;;292:5201;;1633:29;292:5201;;1633:29;:::i;:::-;1681:22;292:5201;1672:35;:::i;1590:33::-;;;;292:5201;1590:33;292:5201;1590:33;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1515:31;;;;:::i;:::-;292:5201;;1515:31;;;;1484:21;;;;:::i;:::-;292:5201;;1484:21;;;;1426:47;;;;:::i;:::-;292:5201;;1426:47;;;;;292:5201;;;1395:21;;;;:::i;:::-;292:5201;;1395:21;;;;292:5201;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2273:18:27;292:5201:129;;;;:::i;:::-;;;;;;;:::i;:::-;;;;2273:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:5201:129;;;;;;;-1:-1:-1;292:5201:129;;;;;-1:-1:-1;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;292:5201:129;;;;;-1:-1:-1;292:5201:129;;;;;;;;;-1:-1:-1;292:5201:129;;;;-1:-1:-1;;;292:5201:129;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;;;;;;;;;;459:36;292:5201;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;2739:11;292:5201;-1:-1:-1;;;;;;;;;;;292:5201:129;-1:-1:-1;;;;;292:5201:129;;;;;2730:21;;;;;292:5201;;192:59:23;;;;2730:21:129;;292:5201;2730:21;;292:5201;2730:21;;292:5201;2730:21;;;;;;;;;;;292:5201;1590:14:21;;2761::129;1590::21;;;292:5201:129;;2788:8;292:5201;;;2809:11;292:5201;;2761:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;2761:60:129;;292:5201;2761:60;;292:5201;2717:2;292:5201;;;;;;;;2761:60;;;;;;;;292:5201;1590:14:21;;;2761::129;1590::21;;;292:5201:129;;;;2788:8;292:5201;;;;;192:59:23;;;;;;;2906:35:129;;292:5201;2906:35;;292:5201;2906:35;;;;;;;;;;;;;;292:5201;2349:24:23;;;;;;292:5201:129;;;;;192:59:23;;;;;;;2349:24;;292:5201:129;2349:24:23;;292:5201:129;2717:2;292:5201;;;;2349:24:23;;;;;;;3064:11:129;2349:24:23;3020:5:129;2349:24:23;;;292:5201:129;3020:5;;:::i;2349:24:23:-;;;;:::i;:::-;;;;2906:35:129;;;;;;;;292:5201;2906:35;;;;;;;;;:::i;:::-;;;;;;2761:60;;;;:::i;:::-;292:5201;;2761:60;;;;2730:21;;;;:::i;:::-;292:5201;;2730:21;;;;292:5201;;;;;;;;;;;;;3190:18:27;292:5201:129;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3190:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;292:5201:129;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;292:5201:129;192:59:23;292:5201:129;;;192:59:23;;;;;;292:5201:129;;;;;192:59:23;;;;;292:5201:129;;;;192:59:23;292:5201:129;;;192:59:23;;;;;292:5201:129;;;;192:59:23;;292:5201:129;;;;192:59:23;;292:5201:129;192:59:23;;292:5201:129;;;;192:59:23;;292:5201:129;192:59:23;;292:5201:129;;;;192:59:23;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;376:39;292:5201;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;4903:11;292:5201;;;-1:-1:-1;;;;;;;;;;;292:5201:129;-1:-1:-1;;;;;292:5201:129;;;;4894:21;;;;;292:5201;;192:59:23;;;;4894:21:129;;;;292:5201;4894:21;;292:5201;;4894:21;;;;;;;;;;;;;;;;;;292:5201;4925:14;;;1590::21;;;;;;;;;292:5201:129;;4952:8;292:5201;;;4973:11;292:5201;;4925:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;4925:60:129;;292:5201;4925:60;;292:5201;4881:2;292:5201;;;;;;;;4925:60;;;;;;;;;;;292:5201;;;;4973:11;292:5201;;4995:26;;;;;292:5201;;192:59:23;;;;4995:26:129;;292:5201;4995:26;;292:5201;4995:26;;;;;;;;;;;;;;;;;292:5201;1590:14:21;;;;;;;292:5201:129;;4952:8;292:5201;;5031:41;;;;;292:5201;;;;;;;192:59:23;;;;;;;;5031:41:129;;292:5201;5031:41;;292:5201;5031:41;;;;;;;;;;;292:5201;5082:14;;;;;;;292:5201;;-1:-1:-1;;;5082:14:129;;;292:5201;;;5082:14;;;;;;;;;;;;;292:5201;;;;4903:11;292:5201;;5107:21;;;;;292:5201;;5107:21;;;;292:5201;5107:21;;292:5201;5107:21;;;;;;;;;;;;;;;;;292:5201;1590:14:21;;;;;;;292:5201:129;;;;;;;;5138:47;;;;;292:5201;;;;;;;192:59:23;;;;;;;;5138:47:129;;292:5201;5138:47;;292:5201;1590:14:21;;;;;292:5201:129;1590:14:21;;292:5201:129;1590:14:21;;292:5201:129;5138:47;;;;;;;;;;;292:5201;1590:14:21;;;;;;;292:5201:129;;5214:47;292:5201;;;;;;;4952:8;292:5201;;;;;192:59:23;;;;;;;;5214:47:129;;;;292:5201;5214:47;;;:::i;:::-;;;;;;;;;;;;;;292:5201;1657:19:23;;;;;;292:5201:129;;-1:-1:-1;;;1657:19:23;;292:5201:129;;;;1657:19:23;;292:5201:129;1657:19:23;292:5201:129;1657:19:23;292:5201:129;1657:19:23;;;;;;;;;;;;292:5201:129;;;;4903:11;292:5201;;5304:21;;;;;292:5201;;5304:21;;;292:5201;5304:21;;292:5201;5304:21;;;;;;;;;;;;;;;;;292:5201;1590:14:21;;;;;;;292:5201:129;;;4952:8;292:5201;;5335:45;;;;;292:5201;;;;;;;192:59:23;;;;;;;;5335:45:129;;292:5201;5335:45;;292:5201;5376:3;292:5201;;;;5335:45;;;;;;;;;;;;292:5201;1590:14:21;;;;5404:47:129;1590:14:21;;;;292:5201:129;;;;;;;4952:8;292:5201;;;;;5404:47;;;;;;;;;292:5201;5404:47;;;:::i;:::-;;;;;;;;;;;;;;292:5201;1872:20:23;;;;;;;292:5201:129;;;;192:59:23;;;;;;;1872:20;;292:5201:129;;;1872:20:23;;292:5201:129;1872:20:23;;;;;;;;292:5201:129;;1872:20:23;;;;:::i;:::-;292:5201:129;;1872:20:23;292:5201:129;1872:20:23;292:5201:129;;;;5404:47;;;;;;;;;;;;;;;;:::i;:::-;;;292:5201;;;;;;;:::i;:::-;5404:47;;;;;;;;;5335:45;;;;;;;:::i;:::-;292:5201;;5335:45;;;;;;292:5201;;;;5335:45;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;5335:45:129;292:5201;;;5304:21;;;;:::i;:::-;292:5201;;5304:21;;;;1657:19:23;;;;:::i;:::-;292:5201:129;;1657:19:23;;;;292:5201:129;;;;1657:19:23;292:5201:129;;192:59:23;292:5201:129;;192:59:23;;;;5214:47:129;;;;;;;;;;;;;;;;:::i;:::-;;;292:5201;;;;;;;:::i;:::-;5214:47;;;;;;;;5138;;;;:::i;:::-;292:5201;;5138:47;;;;5107:21;;;;:::i;:::-;292:5201;;5107:21;;;;292:5201;;;;5107:21;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;5082:14:129;;;;:::i;:::-;292:5201;;5082:14;;;;5031:41;;;;:::i;:::-;292:5201;;5031:41;;;;4995:26;;;;:::i;:::-;292:5201;;4995:26;;;;4925:60;;;;:::i;:::-;292:5201;;4925:60;;;;4894:21;;;;:::i;:::-;292:5201;;4894:21;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;292:5201:129;;;;;;;;;;;;;2707:18:27;292:5201:129;;;;:::i;:::-;;;;;;;:::i;:::-;;;;2707:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:5201:129;;;;;;;-1:-1:-1;292:5201:129;;;;;-1:-1:-1;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;292:5201:129;;;;;-1:-1:-1;292:5201:129;;;;;;;;;-1:-1:-1;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;2264:16;292:5201;;;-1:-1:-1;;;;;292:5201:129;-1:-1:-1;;;;;;;;;;;292:5201:129;;;2255:26;;;;;292:5201;;192:59:23;;;;2255:26:129;;292:5201;2255:26;;292:5201;2255:26;;292:5201;2255:26;;;;;;;;;;;;;;292:5201;2291:55;;;;;;;292:5201;;-1:-1:-1;;;2291:55:129;;-1:-1:-1;;;292:5201:129;2291:55;;292:5201;;;;;;;;;;;;2291:55;;;;;;;;;;;292:5201;1590:14:21;;;2356::129;1590::21;;;292:5201:129;;;;;2356:31;;;;;292:5201;;;;;;;192:59:23;;;;;;;;2356:31:129;;292:5201;2356:31;;292:5201;2356:31;;;;;;;;292:5201;;2356:31;292:5201;;;2291:55;;;;:::i;:::-;292:5201;;2291:55;;;;292:5201;;;2255:26;;;;:::i;:::-;292:5201;;2255:26;;;;292:5201;;;;;;;;;;;;;501:39;292:5201;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;2883:26:27;292:5201:129;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2883:26:27;292:5201:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;292:5201:129;192:59:23;292:5201:129;;;192:59:23;;;;;;292:5201:129;;;;;192:59:23;;;;;292:5201:129;;;;192:59:23;292:5201:129;;;192:59:23;;;;;292:5201:129;;;;192:59:23;;292:5201:129;;;;192:59:23;;292:5201:129;192:59:23;;292:5201:129;;;;192:59:23;;292:5201:129;192:59:23;;292:5201:129;;;;192:59:23;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;421:32;292:5201;;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;334:36;292:5201;;;;;;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;3038:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;546:44;292:5201;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;3331:16:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4363:11;292:5201;-1:-1:-1;;;;;292:5201:129;;;-1:-1:-1;;;;;;;;;;;292:5201:129;;;4354:21;;;;;292:5201;;192:59:23;;;4354:21:129;;;;292:5201;4354:21;;292:5201;4354:21;;292:5201;4354:21;;;;;;;;;;;;;;292:5201;1590:14:21;;;4385::129;1590::21;;;292:5201:129;;4412:8;292:5201;;;4433:11;292:5201;;4385:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;4385:60:129;;292:5201;4385:60;;292:5201;4306:2;292:5201;;;;;;;;4385:60;;;;;;;;;;;292:5201;;;;4433:11;292:5201;;4456:21;;;;;292:5201;;;;;;4456:21;;;;;;;292:5201;4456:21;;292:5201;4456:21;;;;;;;;1590:14:21;;4385::129;1590::21;;;292:5201:129;;4412:8;292:5201;;4487:54;;;;;292:5201;;;;;;;192:59:23;;;;;;;;4487:54:129;;292:5201;4487:54;;292:5201;4341:2;292:5201;;;;4487:54;;;;;;;;1590:14:21;;;4385::129;1590::21;;;292:5201:129;;;;4412:8;292:5201;;;;;192:59:23;;;;;;;4626:35:129;;292:5201;4626:35;;292:5201;4626:35;;;;;;;4787:11;4626:35;;;;;;;;4697:12;;;4743:5;4697:12;;:::i;4385:60::-;;;;:::i;:::-;292:5201;;4385:60;;;;4354:21;;;;:::i;:::-;292:5201;;4354:21;;;;292:5201;;;;;;;;;;;;;3485:19:27;292:5201:129;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3485:19:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;690:163;;;;;292:5201;690:163;292:5201;;690:163;;;292:5201;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:5201:129;;;;;;-1:-1:-1;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;292:5201:129;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:5201:129;;-1:-1:-1;292:5201:129;;;-1:-1:-1;;;292:5201:129;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;;;;;;;;;;2043:16;292:5201;;;-1:-1:-1;;;;;292:5201:129;-1:-1:-1;;;;;;;;;;;292:5201:129;;;2034:26;;;;;292:5201;;192:59:23;;;;2034:26:129;;292:5201;2034:26;;292:5201;2034:26;;292:5201;2034:26;;;;;;;;;;;;;;292:5201;2070:55;;;;;;;292:5201;;-1:-1:-1;;;2070:55:129;;-1:-1:-1;;;292:5201:129;2070:55;;292:5201;;;;;;;;;;;;2070:55;;;;;;;;;;;292:5201;1590:14:21;;;2135::129;1590::21;;;292:5201:129;;;;;2135:47;;;;;292:5201;;1590:14:21;292:5201:129;;;;192:59:23;;;;;;;;2135:47:129;;292:5201;2135:47;;292:5201;;1590:14:21;292:5201:129;1590:14:21;;292:5201:129;1590:14:21;;;;;292:5201:129;2135:47;;;;;;;;292:5201;;2070:55;;;;:::i;:::-;292:5201;;2070:55;;;;2034:26;;;;:::i;:::-;292:5201;;2034:26;;;;292:5201;;;;;;;;;;;;;2513:11;292:5201;;;-1:-1:-1;;;;;292:5201:129;-1:-1:-1;;;;;;;;;;;292:5201:129;;;2504:21;;;;;292:5201;;192:59:23;;;;2504:21:129;;292:5201;2504:21;;292:5201;2504:21;;292:5201;2504:21;;;;;;;;;;;;;;292:5201;2535:51;;;;;;;292:5201;;;;;;192:59:23;;;;;;;2535:51:129;;292:5201;;2535:51;;292:5201;;;;;;;;;;;2535:51;;;;;;;;;;;292:5201;1590:14:21;;2596::129;1590::21;;;292:5201:129;2596:44;;;;;292:5201;;;;;;192:59:23;;;;;;;2596:44:129;;2491:1;292:5201;2596:44;;292:5201;2596:44;;;;;;;;292:5201;;2535:51;;;;:::i;:::-;292:5201;;2535:51;;;;2504:21;;;;:::i;:::-;292:5201;;2504:21;;;;292:5201;;;;;;;;;;;;;;;2563:16:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1069:11;292:5201;-1:-1:-1;;;;;292:5201:129;;;-1:-1:-1;;;;;;;;;;;292:5201:129;;;1060:21;;;;;292:5201;;;;;;;192:59:23;;;;;;;;1060:21:129;;292:5201;1060:21;;292:5201;1060:21;;;;;;;;292:5201;1590:14:21;;1091::129;1590::21;;;292:5201:129;;;;;1091:47;;;;;292:5201;;1590:14:21;292:5201:129;;;;192:59:23;;;;;;;;1091:47:129;;292:5201;1091:47;;292:5201;;1590:14:21;292:5201:129;1590:14:21;;292:5201:129;1590:14:21;;;;;292:5201:129;1091:47;;;;;;;;292:5201;1590:14:21;;292:5201:129;1590:14:21;1091::129;1590::21;;;292:5201:129;;;;;;;;192:59:23;;;;;;;1182:33:129;;292:5201;1182:33;;292:5201;1182:33;;;;;;;1314:24;1182:33;292:5201;1182:33;;;;;292:5201;;1252:18;292:5201;;;;1252:18;;:::i;:::-;1290:22;292:5201;1590:14:21;292:5201:129;1314:24;;:::i;1182:33::-;;;;292:5201;1182:33;292:5201;1182:33;;;;;;;:::i;:::-;;;;1091:47;;;;:::i;:::-;292:5201;;1091:47;;;;1060:21;;;;:::i;:::-;292:5201;;1060:21;;;;292:5201;;;;;;;;;;;;;;;-1:-1:-1;;;;;728:20:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;830:11;292:5201;;;-1:-1:-1;;;763:80:129;;;;-1:-1:-1;;;;;292:5201:129;;;763:80;;;;292:5201;;;;763:80;;292:5201;192:59:23;;;292:5201:129;;192:59:23;;;;;;;;;;292:5201:129;192:59:23;690:163:129;;;;;;292:5201;690:163;;;;;;;;;;;;;;;292:5201;;;;;;;;;;690:163;;292:5201;;;;:::i;:::-;690:163;;;;;;;;;864:56;292:5201;;-1:-1:-1;;;;;;292:5201:129;;;;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;:::i;:::-;967:3;292:5201;;763:80;985:15;946:56;;292:5201;967:3;763:80;292:5201;985:15;292:5201;;;;690:163;292:5201;;;192:59:23;;;;;;;;690:163:129;-1:-1:-1;;;192:59:23;;;292:5201:129;192:59:23;763:80:129;192:59:23;;;;;;292:5201:129;192:59:23;;292:5201:129;192:59:23;763:80:129;292:5201;192:59:23;728:20:129;-1:-1:-1;;;192:59:23;;;292:5201:129;192:59:23;;;;292:5201:129;;;;;;;;;;;;;3178:11;292:5201;-1:-1:-1;;;;;292:5201:129;-1:-1:-1;;;;;;;;;;;292:5201:129;;;3169:21;;;;;292:5201;;192:59:23;;;3169:21:129;;;;292:5201;3169:21;;292:5201;3169:21;;292:5201;3169:21;;;;;;;;;;;292:5201;1590:14:21;;;;;3200::129;1590::21;;;292:5201:129;;3227:8;292:5201;;;3248:11;292:5201;;3200:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;3200:60:129;;292:5201;3200:60;;292:5201;3156:2;292:5201;;;;;;;;3200:60;;;;;;;;;;;292:5201;;;;3178:11;292:5201;;3271:21;;;;;292:5201;;;;;;3271:21;;;;;;;292:5201;3271:21;;292:5201;3271:21;;;;;;;;292:5201;1590:14:21;;3200::129;1590::21;;;292:5201:129;;3227:8;292:5201;;3302:39;;;;;292:5201;;;;;;;192:59:23;;;;;;;;3302:39:129;;292:5201;3302:39;;292:5201;3302:39;;;;;;;;292:5201;1590:14:21;;;3200::129;1590::21;;;292:5201:129;;;;3227:8;292:5201;;;;;192:59:23;;;;;;;3426:35:129;;292:5201;3426:35;;292:5201;3426:35;;;;;;;3576:11;3426:35;;;;;;;;292:5201;3471:28;;;3532:5;3471:28;;:::i;3426:35::-;3471:28;3426:35;;3532:5;3426:35;;;;;292:5201;3426:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;3426:35:129;;3302:39;;;;:::i;:::-;292:5201;;3302:39;;;;3271:21;;;;:::i;:::-;292:5201;;3271:21;;;;3200:60;;;;:::i;:::-;292:5201;;3200:60;;;;3169:21;;;;;;;;:::i;:::-;;;;;;292:5201;;;;;;;;;;;;;;;;596:32;292:5201;596:32;292:5201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;192:59:23;-1:-1:-1;;;;;192:59:23;;;;728:20:129;192:59:23;:::o;:::-;292:5201:129;192:59:23;;;;;-1:-1:-1;;;;;192:59:23;;;;;292:5201:129;192:59:23;:::o;:::-;292:5201:129;;;;-1:-1:-1;;292:5201:129;192:59:23;;;-1:-1:-1;;;;;192:59:23;;;;;;;;728:20:129;192:59:23;:::o;1243:204::-;1302:7;292:5201:129;;;;;;;1325:14:23;:::o;1298:143::-;292:5201:129;;;192:59:23;;;1377:39;;;292:5201:129;192:59:23;292:5201:129;-1:-1:-1;;;;;;;;;;;1377:39:23;;;;292:5201:129;192:59:23;;;;;;292:5201:129;1377:39:23;;;;;;;-1:-1:-1;1377:39:23;;;1298:143;1377:53;;;1370:60;:::o;1377:39::-;;;;;;;;;;;;;;;;:::i;:::-;;;192:59;;;;;;1377:39;;;;;;-1:-1:-1;1377:39:23;;292:5201:129;-1:-1:-1;;;;;292:5201:129;;;;;;;;;:::o;1590:14:21:-;;;;;;;;;;;292:5201:129;;;;;:::i;:::-;1590:14:21;;;;;;;;;;;:::o;2270:110:23:-;-1:-1:-1;;;;;;;;;;;2349:24:23;;;;;;292:5201:129;;;;;192:59:23;;;;;;;2349:24;;;;;292:5201:129;;;;;;2349:24:23;;;;;;;;2270:110;:::o;2349:24::-;;;;:::i;:::-;2270:110::o;:::-;-1:-1:-1;;;;;;;;;;;2349:24:23;;;;;;;292:5201:129;;;;192:59:23;;;;;;;2349:24;;;;;292:5201:129;4341:2;292:5201;;;;2349:24:23;;;;;;;;2270:110;:::o;:::-;-1:-1:-1;;;;;;;;;;;2349:24:23;;;;;;292:5201:129;2349:24:23;292:5201:129;;;192:59:23;;;;;;;;2349:24;;;;;292:5201:129;;;;;2349:24:23;;;;;;;;2270:110;:::o;292:5201:129:-;;;-1:-1:-1;;;;;292:5201:129;;;;;;:::o;:::-;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;:::o;3454:110:23:-;-1:-1:-1;;;;;;;;;;;3533:24:23;;;;;;292:5201:129;;-1:-1:-1;;;3533:24:23;;292:5201:129;3533:24:23;;292:5201:129;;;;;;3533:24:23;;;;;;:::i;:::-;;;;;;;;;;;3454:110;:::o;292:5201:129:-;;;;;;;;;;:::o;:::-;;;;;;;;;1590:14:21;;292:5201:129;;;;;;;;:::i;:::-;;;;:::i;:::-;;:::o;2026:104:23:-;-1:-1:-1;;;;;;;;;;;2099:24:23;;;;;;292:5201:129;;;;;192:59:23;;;;;;;2099:24;;292:5201:129;;2099:24:23;;;292:5201:129;;;;;;2099:24:23;;;;;;;;2026:104;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","councilSafe()":"6c53db9a","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","listManager()":"8df8b2fe","passportData()":"073a2d8c","passportScorer()":"4905e831","setUp()":"0a9254e4","strategy()":"a8c62e76","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAddStrategy()":"9693f128","testAddUserScore()":"0c2759da","testCanExecuteAction()":"8caa5c44","testChangeListManager()":"ebe69a5f","testModifyThresholdByAuthorized()":"e68393b4","testModifyThresholdByCouncilSafe()":"3668aa29","testOnlyAuthorizedCanAddUserScore()":"25821153","testOnlyAuthorizedCanRemoveUser()":"82fad478","testOnlyOwnerCanChangeListManager()":"24e40b97","testRemoveStrategy()":"0778c72c","testRemoveUser()":"d4dadecb","unauthorizedUser()":"3ea7771b","user()":"4f8632ba"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportScorer\",\"outputs\":[{\"internalType\":\"contract PassportScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCanExecuteAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByAuthorized\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyOwnerCanChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unauthorizedUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/PassportScorerTest.t.sol\":\"PassportScorerTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf\",\"dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac\",\"dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportData","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportScorer","outputs":[{"internalType":"contract PassportScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCanExecuteAction"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByAuthorized"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanRemoveUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyOwnerCanChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveUser"},{"inputs":[],"stateMutability":"view","type":"function","name":"unauthorizedUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"user","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/PassportScorerTest.t.sol":"PassportScorerTest"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b","urls":["bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf","dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b","urls":["bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac","dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":92857,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportScorer","offset":1,"slot":"30","type":"t_contract(PassportScorer)76766"},{"astId":92863,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"listManager","offset":0,"slot":"31","type":"t_address"},{"astId":92869,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"user","offset":0,"slot":"32","type":"t_address"},{"astId":92875,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"strategy","offset":0,"slot":"33","type":"t_address"},{"astId":92881,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"councilSafe","offset":0,"slot":"34","type":"t_address"},{"astId":92887,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"unauthorizedUser","offset":0,"slot":"35","type":"t_address"},{"astId":92890,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportData","offset":0,"slot":"36","type":"t_struct(PassportData)76188_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(PassportScorer)76766":{"encoding":"inplace","label":"contract PassportScorer","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(PassportData)76188_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":76185,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":76187,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/PassportScorerTest.t.sol","id":93466,"exportedSymbols":{"ERC1967Proxy":[55102],"ISybilScorer":[76270],"Initializable":[53233],"OwnableUpgradeable":[52984],"PassportData":[76188],"PassportScorer":[76766],"PassportScorerTest":[93465],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"Strategy":[76195],"Test":[17877],"TestBase":[5876],"UUPSUpgradeable":[55753],"Upgrades":[61257],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"46:5448:129","nodes":[{"id":92846,"nodeType":"PragmaDirective","src":"46:24:129","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":92847,"nodeType":"ImportDirective","src":"72:28:129","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":93466,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":92848,"nodeType":"ImportDirective","src":"101:35:129","nodes":[],"absolutePath":"pkg/contracts/src/PassportScorer.sol","file":"../src/PassportScorer.sol","nameLocation":"-1:-1:-1","scope":93466,"sourceUnit":76767,"symbolAliases":[],"unitAlias":""},{"id":92850,"nodeType":"ImportDirective","src":"138:66:129","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":93466,"sourceUnit":61378,"symbolAliases":[{"foreign":{"id":92849,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61257,"src":"146:8:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":92852,"nodeType":"ImportDirective","src":"206:84:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":93466,"sourceUnit":55103,"symbolAliases":[{"foreign":{"id":92851,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"214:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93465,"nodeType":"ContractDefinition","src":"292:5201:129","nodes":[{"id":92857,"nodeType":"VariableDeclaration","src":"334:36:129","nodes":[],"constant":false,"functionSelector":"4905e831","mutability":"mutable","name":"passportScorer","nameLocation":"356:14:129","scope":93465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"},"typeName":{"id":92856,"nodeType":"UserDefinedTypeName","pathNode":{"id":92855,"name":"PassportScorer","nameLocations":["334:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":76766,"src":"334:14:129"},"referencedDeclaration":76766,"src":"334:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"visibility":"public"},{"id":92863,"nodeType":"VariableDeclaration","src":"376:39:129","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"391:11:129","scope":93465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92858,"name":"address","nodeType":"ElementaryTypeName","src":"376:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"31","id":92861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"413:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":92860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"405:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92859,"name":"address","nodeType":"ElementaryTypeName","src":"405:7:129","typeDescriptions":{}}},"id":92862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"405:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92869,"nodeType":"VariableDeclaration","src":"421:32:129","nodes":[],"constant":false,"functionSelector":"4f8632ba","mutability":"mutable","name":"user","nameLocation":"436:4:129","scope":93465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92864,"name":"address","nodeType":"ElementaryTypeName","src":"421:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"32","id":92867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"451:1:129","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":92866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"443:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92865,"name":"address","nodeType":"ElementaryTypeName","src":"443:7:129","typeDescriptions":{}}},"id":92868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"443:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92875,"nodeType":"VariableDeclaration","src":"459:36:129","nodes":[],"constant":false,"functionSelector":"a8c62e76","mutability":"mutable","name":"strategy","nameLocation":"474:8:129","scope":93465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92870,"name":"address","nodeType":"ElementaryTypeName","src":"459:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"33","id":92873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"493:1:129","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":92872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92871,"name":"address","nodeType":"ElementaryTypeName","src":"485:7:129","typeDescriptions":{}}},"id":92874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92881,"nodeType":"VariableDeclaration","src":"501:39:129","nodes":[],"constant":false,"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"516:11:129","scope":93465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92876,"name":"address","nodeType":"ElementaryTypeName","src":"501:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34","id":92879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"538:1:129","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":92878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"530:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92877,"name":"address","nodeType":"ElementaryTypeName","src":"530:7:129","typeDescriptions":{}}},"id":92880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"530:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92887,"nodeType":"VariableDeclaration","src":"546:44:129","nodes":[],"constant":false,"functionSelector":"3ea7771b","mutability":"mutable","name":"unauthorizedUser","nameLocation":"561:16:129","scope":93465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92882,"name":"address","nodeType":"ElementaryTypeName","src":"546:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"35","id":92885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"588:1:129","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":92884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"580:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92883,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:129","typeDescriptions":{}}},"id":92886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92890,"nodeType":"VariableDeclaration","src":"596:32:129","nodes":[],"constant":false,"functionSelector":"073a2d8c","mutability":"mutable","name":"passportData","nameLocation":"616:12:129","scope":93465,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData"},"typeName":{"id":92889,"nodeType":"UserDefinedTypeName","pathNode":{"id":92888,"name":"PassportData","nameLocations":["596:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":76188,"src":"596:12:129"},"referencedDeclaration":76188,"src":"596:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage_ptr","typeString":"struct PassportData"}},"visibility":"public"},{"id":92939,"nodeType":"FunctionDefinition","src":"635:374:129","nodes":[],"body":{"id":92938,"nodeType":"Block","src":"659:350:129","nodes":[],"statements":[{"assignments":[92895],"declarations":[{"constant":false,"id":92895,"mutability":"mutable","name":"proxy","nameLocation":"682:5:129","nodeType":"VariableDeclaration","scope":92938,"src":"669:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"},"typeName":{"id":92894,"nodeType":"UserDefinedTypeName","pathNode":{"id":92893,"name":"ERC1967Proxy","nameLocations":["669:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"669:12:129"},"referencedDeclaration":55102,"src":"669:12:129","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":92917,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":92903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"728:18:129","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_PassportScorer_$76766_$","typeString":"function () returns (contract PassportScorer)"},"typeName":{"id":92902,"nodeType":"UserDefinedTypeName","pathNode":{"id":92901,"name":"PassportScorer","nameLocations":["732:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":76766,"src":"732:14:129"},"referencedDeclaration":76766,"src":"732:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}}},"id":92904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}],"id":92900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"720:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92899,"name":"address","nodeType":"ElementaryTypeName","src":"720:7:129","typeDescriptions":{}}},"id":92905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"720:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":92908,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76766,"src":"786:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76766_$","typeString":"type(contract PassportScorer)"}},"id":92909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"801:10:129","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":76459,"src":"786:25:129","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function PassportScorer.initialize(address)"}},"id":92910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"812:8:129","memberName":"selector","nodeType":"MemberAccess","src":"786:34:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":92913,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"830:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":92912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"822:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92911,"name":"address","nodeType":"ElementaryTypeName","src":"822:7:129","typeDescriptions":{}}},"id":92914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"822:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92906,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"763:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"767:18:129","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"763:22:129","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":92915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"763:80:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"690:16:129","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55102_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":92897,"nodeType":"UserDefinedTypeName","pathNode":{"id":92896,"name":"ERC1967Proxy","nameLocations":["694:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"694:12:129"},"referencedDeclaration":55102,"src":"694:12:129","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}},"id":92916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"690:163:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"669:184:129"},{"expression":{"id":92928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":92918,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"864:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":92924,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92895,"src":"912:5:129","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}],"id":92923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"904:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92922,"name":"address","nodeType":"ElementaryTypeName","src":"904:7:129","typeDescriptions":{}}},"id":92925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"904:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":92921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"896:8:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":92920,"name":"address","nodeType":"ElementaryTypeName","src":"896:8:129","stateMutability":"payable","typeDescriptions":{}}},"id":92926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"896:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":92919,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76766,"src":"881:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76766_$","typeString":"type(contract PassportScorer)"}},"id":92927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"src":"864:56:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":92929,"nodeType":"ExpressionStatement","src":"864:56:129"},{"expression":{"id":92936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":92930,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92890,"src":"931:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"313030","id":92932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"967:3:129","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":92933,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"985:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":92934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"991:9:129","memberName":"timestamp","nodeType":"MemberAccess","src":"985:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92931,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76188,"src":"946:12:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PassportData_$76188_storage_ptr_$","typeString":"type(struct PassportData storage pointer)"}},"id":92935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["960:5:129","972:11:129"],"names":["score","lastUpdated"],"nodeType":"FunctionCall","src":"946:56:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"src":"931:71:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}},"id":92937,"nodeType":"ExpressionStatement","src":"931:71:129"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"644:5:129","parameters":{"id":92891,"nodeType":"ParameterList","parameters":[],"src":"649:2:129"},"returnParameters":{"id":92892,"nodeType":"ParameterList","parameters":[],"src":"659:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":92978,"nodeType":"FunctionDefinition","src":"1015:331:129","nodes":[],"body":{"id":92977,"nodeType":"Block","src":"1050:296:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":92945,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"1069:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92942,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1060:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":92944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1063:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1060:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":92946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1060:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92947,"nodeType":"ExpressionStatement","src":"1060:21:129"},{"expression":{"arguments":[{"id":92951,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"1119:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92952,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92890,"src":"1125:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":92948,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"1091:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":92950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1106:12:129","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76490,"src":"1091:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$76188_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":92953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1091:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92954,"nodeType":"ExpressionStatement","src":"1091:47:129"},{"assignments":[92957],"declarations":[{"constant":false,"id":92957,"mutability":"mutable","name":"storedData","nameLocation":"1169:10:129","nodeType":"VariableDeclaration","scope":92977,"src":"1149:30:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":92956,"nodeType":"UserDefinedTypeName","pathNode":{"id":92955,"name":"PassportData","nameLocations":["1149:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":76188,"src":"1149:12:129"},"referencedDeclaration":76188,"src":"1149:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":92962,"initialValue":{"arguments":[{"id":92960,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"1210:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92958,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"1182:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":92959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1197:12:129","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":76738,"src":"1182:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$76188_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":92961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1182:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1149:66:129"},{"expression":{"arguments":[{"expression":{"id":92964,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92957,"src":"1234:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"id":92965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1245:5:129","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76185,"src":"1234:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":92966,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92890,"src":"1252:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}},"id":92967,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1265:5:129","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76185,"src":"1252:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92963,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1225:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":92968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:46:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92969,"nodeType":"ExpressionStatement","src":"1225:46:129"},{"expression":{"arguments":[{"expression":{"id":92971,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92957,"src":"1290:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"id":92972,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1301:11:129","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":76187,"src":"1290:22:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":92973,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92890,"src":"1314:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}},"id":92974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1327:11:129","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":76187,"src":"1314:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92970,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1281:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":92975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1281:58:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92976,"nodeType":"ExpressionStatement","src":"1281:58:129"}]},"functionSelector":"0c2759da","implemented":true,"kind":"function","modifiers":[],"name":"testAddUserScore","nameLocation":"1024:16:129","parameters":{"id":92940,"nodeType":"ParameterList","parameters":[],"src":"1040:2:129"},"returnParameters":{"id":92941,"nodeType":"ParameterList","parameters":[],"src":"1050:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93027,"nodeType":"FunctionDefinition","src":"1352:362:129","nodes":[],"body":{"id":93026,"nodeType":"Block","src":"1385:329:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":92984,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"1404:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92981,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1395:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":92983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1398:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1395:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":92985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1395:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92986,"nodeType":"ExpressionStatement","src":"1395:21:129"},{"expression":{"arguments":[{"id":92990,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"1454:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92991,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92890,"src":"1460:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":92987,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"1426:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":92989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1441:12:129","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76490,"src":"1426:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$76188_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":92992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1426:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92993,"nodeType":"ExpressionStatement","src":"1426:47:129"},{"expression":{"arguments":[{"id":92997,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"1493:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92994,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1484:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":92996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1487:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1484:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":92998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1484:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92999,"nodeType":"ExpressionStatement","src":"1484:21:129"},{"expression":{"arguments":[{"id":93003,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"1541:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93000,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"1515:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1530:10:129","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":76513,"src":"1515:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1515:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93005,"nodeType":"ExpressionStatement","src":"1515:31:129"},{"assignments":[93008],"declarations":[{"constant":false,"id":93008,"mutability":"mutable","name":"storedData","nameLocation":"1577:10:129","nodeType":"VariableDeclaration","scope":93026,"src":"1557:30:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":93007,"nodeType":"UserDefinedTypeName","pathNode":{"id":93006,"name":"PassportData","nameLocations":["1557:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":76188,"src":"1557:12:129"},"referencedDeclaration":76188,"src":"1557:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":93013,"initialValue":{"arguments":[{"id":93011,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"1618:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93009,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"1590:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1605:12:129","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":76738,"src":"1590:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$76188_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":93012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1557:66:129"},{"expression":{"arguments":[{"expression":{"id":93015,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93008,"src":"1642:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"id":93016,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1653:5:129","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76185,"src":"1642:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1660:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93014,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1633:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93019,"nodeType":"ExpressionStatement","src":"1633:29:129"},{"expression":{"arguments":[{"expression":{"id":93021,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93008,"src":"1681:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_memory_ptr","typeString":"struct PassportData memory"}},"id":93022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1692:11:129","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":76187,"src":"1681:22:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1705:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93020,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1672:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1672:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93025,"nodeType":"ExpressionStatement","src":"1672:35:129"}]},"functionSelector":"d4dadecb","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveUser","nameLocation":"1361:14:129","parameters":{"id":92979,"nodeType":"ParameterList","parameters":[],"src":"1375:2:129"},"returnParameters":{"id":92980,"nodeType":"ParameterList","parameters":[],"src":"1385:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93059,"nodeType":"FunctionDefinition","src":"1720:246:129","nodes":[],"body":{"id":93058,"nodeType":"Block","src":"1760:206:129","nodes":[],"statements":[{"assignments":[93031],"declarations":[{"constant":false,"id":93031,"mutability":"mutable","name":"newManager","nameLocation":"1778:10:129","nodeType":"VariableDeclaration","scope":93058,"src":"1770:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93030,"name":"address","nodeType":"ElementaryTypeName","src":"1770:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93036,"initialValue":{"arguments":[{"hexValue":"36","id":93034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:1:129","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":93033,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1791:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93032,"name":"address","nodeType":"ElementaryTypeName","src":"1791:7:129","typeDescriptions":{}}},"id":93035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1770:31:129"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93040,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"1821:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1836:5:129","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":52907,"src":"1821:20:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":93042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1821:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93037,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1812:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1815:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1812:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1812:32:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93044,"nodeType":"ExpressionStatement","src":"1812:32:129"},{"expression":{"arguments":[{"id":93048,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93031,"src":"1887:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93045,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"1854:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1869:17:129","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":76540,"src":"1854:32:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1854:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93050,"nodeType":"ExpressionStatement","src":"1854:44:129"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93052,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"1918:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1933:11:129","memberName":"listManager","nodeType":"MemberAccess","referencedDeclaration":76292,"src":"1918:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":93054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93055,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93031,"src":"1948:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93051,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"1909:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1909:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93057,"nodeType":"ExpressionStatement","src":"1909:50:129"}]},"functionSelector":"ebe69a5f","implemented":true,"kind":"function","modifiers":[],"name":"testChangeListManager","nameLocation":"1729:21:129","parameters":{"id":93028,"nodeType":"ParameterList","parameters":[],"src":"1750:2:129"},"returnParameters":{"id":93029,"nodeType":"ParameterList","parameters":[],"src":"1760:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93084,"nodeType":"FunctionDefinition","src":"1972:217:129","nodes":[],"body":{"id":93083,"nodeType":"Block","src":"2024:165:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":93065,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92887,"src":"2043:16:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93062,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2034:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2037:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2034:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2034:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93067,"nodeType":"ExpressionStatement","src":"2034:26:129"},{"expression":{"arguments":[{"expression":{"expression":{"id":93071,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76766,"src":"2086:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76766_$","typeString":"type(contract PassportScorer)"}},"id":93072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2101:14:129","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"2086:29:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":93073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:8:129","memberName":"selector","nodeType":"MemberAccess","src":"2086:38:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":93068,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2070:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2073:12:129","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21494,"src":"2070:15:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":93074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2070:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93075,"nodeType":"ExpressionStatement","src":"2070:55:129"},{"expression":{"arguments":[{"id":93079,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"2163:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93080,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92890,"src":"2169:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93076,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"2135:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2150:12:129","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76490,"src":"2135:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$76188_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93082,"nodeType":"ExpressionStatement","src":"2135:47:129"}]},"functionSelector":"25821153","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanAddUserScore","nameLocation":"1981:33:129","parameters":{"id":93060,"nodeType":"ParameterList","parameters":[],"src":"2014:2:129"},"returnParameters":{"id":93061,"nodeType":"ParameterList","parameters":[],"src":"2024:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93108,"nodeType":"FunctionDefinition","src":"2195:199:129","nodes":[],"body":{"id":93107,"nodeType":"Block","src":"2245:149:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":93090,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92887,"src":"2264:16:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93087,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2255:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2258:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2255:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2255:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93092,"nodeType":"ExpressionStatement","src":"2255:26:129"},{"expression":{"arguments":[{"expression":{"expression":{"id":93096,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76766,"src":"2307:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76766_$","typeString":"type(contract PassportScorer)"}},"id":93097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2322:14:129","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"2307:29:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":93098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2337:8:129","memberName":"selector","nodeType":"MemberAccess","src":"2307:38:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":93093,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2291:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2294:12:129","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21494,"src":"2291:15:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":93099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2291:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93100,"nodeType":"ExpressionStatement","src":"2291:55:129"},{"expression":{"arguments":[{"id":93104,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"2382:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93101,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"2356:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2371:10:129","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":76513,"src":"2356:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2356:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93106,"nodeType":"ExpressionStatement","src":"2356:31:129"}]},"functionSelector":"82fad478","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanRemoveUser","nameLocation":"2204:31:129","parameters":{"id":93085,"nodeType":"ParameterList","parameters":[],"src":"2235:2:129"},"returnParameters":{"id":93086,"nodeType":"ParameterList","parameters":[],"src":"2245:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93137,"nodeType":"FunctionDefinition","src":"2400:247:129","nodes":[],"body":{"id":93136,"nodeType":"Block","src":"2452:195:129","nodes":[],"statements":[{"assignments":[93112],"declarations":[{"constant":false,"id":93112,"mutability":"mutable","name":"newManager","nameLocation":"2470:10:129","nodeType":"VariableDeclaration","scope":93136,"src":"2462:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93111,"name":"address","nodeType":"ElementaryTypeName","src":"2462:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93117,"initialValue":{"arguments":[{"hexValue":"36","id":93115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2491:1:129","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":93114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2483:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93113,"name":"address","nodeType":"ElementaryTypeName","src":"2483:7:129","typeDescriptions":{}}},"id":93116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2483:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2462:31:129"},{"expression":{"arguments":[{"id":93121,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"2513:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93118,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2504:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2504:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2504:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93123,"nodeType":"ExpressionStatement","src":"2504:21:129"},{"expression":{"arguments":[{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":93127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2551:34:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"expression":{"id":93124,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2535:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2538:12:129","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21500,"src":"2535:15:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":93128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2535:51:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93129,"nodeType":"ExpressionStatement","src":"2535:51:129"},{"expression":{"arguments":[{"id":93133,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93112,"src":"2629:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93130,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"2596:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2611:17:129","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":76540,"src":"2596:32:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2596:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93135,"nodeType":"ExpressionStatement","src":"2596:44:129"}]},"functionSelector":"24e40b97","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyOwnerCanChangeListManager","nameLocation":"2409:33:129","parameters":{"id":93109,"nodeType":"ParameterList","parameters":[],"src":"2442:2:129"},"returnParameters":{"id":93110,"nodeType":"ParameterList","parameters":[],"src":"2452:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93185,"nodeType":"FunctionDefinition","src":"2653:430:129","nodes":[],"body":{"id":93184,"nodeType":"Block","src":"2687:396:129","nodes":[],"statements":[{"assignments":[93141],"declarations":[{"constant":false,"id":93141,"mutability":"mutable","name":"threshold","nameLocation":"2705:9:129","nodeType":"VariableDeclaration","scope":93184,"src":"2697:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93140,"name":"uint256","nodeType":"ElementaryTypeName","src":"2697:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93143,"initialValue":{"hexValue":"3530","id":93142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2717:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"2697:22:129"},{"expression":{"arguments":[{"id":93147,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"2739:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93144,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2730:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2733:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2730:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93149,"nodeType":"ExpressionStatement","src":"2730:21:129"},{"expression":{"arguments":[{"id":93153,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"2788:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93154,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93141,"src":"2798:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93155,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"2809:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93150,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"2761:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2776:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76599,"src":"2761:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93157,"nodeType":"ExpressionStatement","src":"2761:60:129"},{"assignments":[93159,93161,93163],"declarations":[{"constant":false,"id":93159,"mutability":"mutable","name":"storedThreshold","nameLocation":"2841:15:129","nodeType":"VariableDeclaration","scope":93184,"src":"2833:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93158,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93161,"mutability":"mutable","name":"storedActive","nameLocation":"2863:12:129","nodeType":"VariableDeclaration","scope":93184,"src":"2858:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93160,"name":"bool","nodeType":"ElementaryTypeName","src":"2858:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93163,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"2885:17:129","nodeType":"VariableDeclaration","scope":93184,"src":"2877:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93162,"name":"address","nodeType":"ElementaryTypeName","src":"2877:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93168,"initialValue":{"arguments":[{"id":93166,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"2932:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93164,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"2906:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2921:10:129","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":76302,"src":"2906:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2906:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"2832:109:129"},{"expression":{"arguments":[{"id":93170,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93159,"src":"2960:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93171,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93141,"src":"2977:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93169,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"2951:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2951:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93173,"nodeType":"ExpressionStatement","src":"2951:36:129"},{"expression":{"arguments":[{"id":93175,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93161,"src":"3006:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3020:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93174,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"2997:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93178,"nodeType":"ExpressionStatement","src":"2997:29:129"},{"expression":{"arguments":[{"id":93180,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93163,"src":"3045:17:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93181,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"3064:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93179,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"3036:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3036:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93183,"nodeType":"ExpressionStatement","src":"3036:40:129"}]},"functionSelector":"9693f128","implemented":true,"kind":"function","modifiers":[],"name":"testAddStrategy","nameLocation":"2662:15:129","parameters":{"id":93138,"nodeType":"ParameterList","parameters":[],"src":"2677:2:129"},"returnParameters":{"id":93139,"nodeType":"ParameterList","parameters":[],"src":"2687:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93245,"nodeType":"FunctionDefinition","src":"3089:544:129","nodes":[],"body":{"id":93244,"nodeType":"Block","src":"3126:507:129","nodes":[],"statements":[{"assignments":[93189],"declarations":[{"constant":false,"id":93189,"mutability":"mutable","name":"threshold","nameLocation":"3144:9:129","nodeType":"VariableDeclaration","scope":93244,"src":"3136:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93188,"name":"uint256","nodeType":"ElementaryTypeName","src":"3136:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93191,"initialValue":{"hexValue":"3530","id":93190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3156:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3136:22:129"},{"expression":{"arguments":[{"id":93195,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"3178:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93192,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3169:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3172:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3169:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3169:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93197,"nodeType":"ExpressionStatement","src":"3169:21:129"},{"expression":{"arguments":[{"id":93201,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"3227:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93202,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93189,"src":"3237:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93203,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"3248:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93198,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"3200:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3215:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76599,"src":"3200:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3200:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93205,"nodeType":"ExpressionStatement","src":"3200:60:129"},{"expression":{"arguments":[{"id":93209,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"3280:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93206,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3271:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3274:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3271:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3271:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93211,"nodeType":"ExpressionStatement","src":"3271:21:129"},{"expression":{"arguments":[{"id":93215,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"3332:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93212,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"3302:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3317:14:129","memberName":"removeStrategy","nodeType":"MemberAccess","referencedDeclaration":76632,"src":"3302:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93217,"nodeType":"ExpressionStatement","src":"3302:39:129"},{"assignments":[93219,93221,93223],"declarations":[{"constant":false,"id":93219,"mutability":"mutable","name":"storedThreshold","nameLocation":"3361:15:129","nodeType":"VariableDeclaration","scope":93244,"src":"3353:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93218,"name":"uint256","nodeType":"ElementaryTypeName","src":"3353:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93221,"mutability":"mutable","name":"storedActive","nameLocation":"3383:12:129","nodeType":"VariableDeclaration","scope":93244,"src":"3378:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93220,"name":"bool","nodeType":"ElementaryTypeName","src":"3378:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93223,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"3405:17:129","nodeType":"VariableDeclaration","scope":93244,"src":"3397:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93222,"name":"address","nodeType":"ElementaryTypeName","src":"3397:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93228,"initialValue":{"arguments":[{"id":93226,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"3452:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93224,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"3426:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3441:10:129","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":76302,"src":"3426:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3426:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3352:109:129"},{"expression":{"arguments":[{"id":93230,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93219,"src":"3480:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3497:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93229,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"3471:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3471:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93233,"nodeType":"ExpressionStatement","src":"3471:28:129"},{"expression":{"arguments":[{"id":93235,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93221,"src":"3518:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3532:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93234,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"3509:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93238,"nodeType":"ExpressionStatement","src":"3509:29:129"},{"expression":{"arguments":[{"id":93240,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93223,"src":"3557:17:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93241,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"3576:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93239,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"3548:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3548:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93243,"nodeType":"ExpressionStatement","src":"3548:40:129"}]},"functionSelector":"0778c72c","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveStrategy","nameLocation":"3098:18:129","parameters":{"id":93186,"nodeType":"ParameterList","parameters":[],"src":"3116:2:129"},"returnParameters":{"id":93187,"nodeType":"ParameterList","parameters":[],"src":"3126:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93310,"nodeType":"FunctionDefinition","src":"3639:580:129","nodes":[],"body":{"id":93309,"nodeType":"Block","src":"3689:530:129","nodes":[],"statements":[{"assignments":[93249],"declarations":[{"constant":false,"id":93249,"mutability":"mutable","name":"threshold","nameLocation":"3707:9:129","nodeType":"VariableDeclaration","scope":93309,"src":"3699:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93248,"name":"uint256","nodeType":"ElementaryTypeName","src":"3699:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93251,"initialValue":{"hexValue":"3530","id":93250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3719:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3699:22:129"},{"assignments":[93253],"declarations":[{"constant":false,"id":93253,"mutability":"mutable","name":"newThreshold","nameLocation":"3739:12:129","nodeType":"VariableDeclaration","scope":93309,"src":"3731:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93252,"name":"uint256","nodeType":"ElementaryTypeName","src":"3731:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93255,"initialValue":{"hexValue":"3735","id":93254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:2:129","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"3731:25:129"},{"expression":{"arguments":[{"id":93259,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"3776:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93256,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3767:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3770:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3767:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3767:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93261,"nodeType":"ExpressionStatement","src":"3767:21:129"},{"expression":{"arguments":[{"id":93265,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"3825:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93266,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93249,"src":"3835:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93267,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"3846:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93262,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"3798:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3813:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76599,"src":"3798:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3798:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93269,"nodeType":"ExpressionStatement","src":"3798:60:129"},{"expression":{"arguments":[{"id":93273,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"3878:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93270,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3869:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3872:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3869:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3869:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93275,"nodeType":"ExpressionStatement","src":"3869:21:129"},{"expression":{"arguments":[{"id":93279,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"3931:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93280,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93253,"src":"3941:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93276,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"3900:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3915:15:129","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":76685,"src":"3900:30:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3900:54:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93282,"nodeType":"ExpressionStatement","src":"3900:54:129"},{"assignments":[93284,93286,93288],"declarations":[{"constant":false,"id":93284,"mutability":"mutable","name":"storedThreshold","nameLocation":"3974:15:129","nodeType":"VariableDeclaration","scope":93309,"src":"3966:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93283,"name":"uint256","nodeType":"ElementaryTypeName","src":"3966:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93286,"mutability":"mutable","name":"storedActive","nameLocation":"3996:12:129","nodeType":"VariableDeclaration","scope":93309,"src":"3991:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93285,"name":"bool","nodeType":"ElementaryTypeName","src":"3991:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93288,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4018:17:129","nodeType":"VariableDeclaration","scope":93309,"src":"4010:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93287,"name":"address","nodeType":"ElementaryTypeName","src":"4010:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93293,"initialValue":{"arguments":[{"id":93291,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"4065:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93289,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"4039:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4054:10:129","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":76302,"src":"4039:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4039:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3965:109:129"},{"expression":{"arguments":[{"id":93295,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93284,"src":"4093:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93296,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93253,"src":"4110:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93294,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"4084:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93298,"nodeType":"ExpressionStatement","src":"4084:39:129"},{"expression":{"arguments":[{"id":93300,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"4142:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4156:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93299,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"4133:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4133:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93303,"nodeType":"ExpressionStatement","src":"4133:29:129"},{"expression":{"arguments":[{"id":93305,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93288,"src":"4181:17:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93306,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"4200:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93304,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"4172:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93308,"nodeType":"ExpressionStatement","src":"4172:40:129"}]},"functionSelector":"e68393b4","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByAuthorized","nameLocation":"3648:31:129","parameters":{"id":93246,"nodeType":"ParameterList","parameters":[],"src":"3679:2:129"},"returnParameters":{"id":93247,"nodeType":"ParameterList","parameters":[],"src":"3689:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93375,"nodeType":"FunctionDefinition","src":"4225:581:129","nodes":[],"body":{"id":93374,"nodeType":"Block","src":"4276:530:129","nodes":[],"statements":[{"assignments":[93314],"declarations":[{"constant":false,"id":93314,"mutability":"mutable","name":"threshold","nameLocation":"4294:9:129","nodeType":"VariableDeclaration","scope":93374,"src":"4286:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93313,"name":"uint256","nodeType":"ElementaryTypeName","src":"4286:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93316,"initialValue":{"hexValue":"3530","id":93315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4306:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4286:22:129"},{"assignments":[93318],"declarations":[{"constant":false,"id":93318,"mutability":"mutable","name":"newThreshold","nameLocation":"4326:12:129","nodeType":"VariableDeclaration","scope":93374,"src":"4318:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93317,"name":"uint256","nodeType":"ElementaryTypeName","src":"4318:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93320,"initialValue":{"hexValue":"3735","id":93319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4341:2:129","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"4318:25:129"},{"expression":{"arguments":[{"id":93324,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"4363:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93321,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4354:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4357:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"4354:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93326,"nodeType":"ExpressionStatement","src":"4354:21:129"},{"expression":{"arguments":[{"id":93330,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"4412:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93331,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93314,"src":"4422:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93332,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"4433:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93327,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"4385:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4400:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76599,"src":"4385:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93334,"nodeType":"ExpressionStatement","src":"4385:60:129"},{"expression":{"arguments":[{"id":93338,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"4465:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93335,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4456:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4459:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"4456:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4456:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93340,"nodeType":"ExpressionStatement","src":"4456:21:129"},{"expression":{"arguments":[{"id":93344,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"4518:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93345,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93318,"src":"4528:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93341,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"4487:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4502:15:129","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":76685,"src":"4487:30:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4487:54:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93347,"nodeType":"ExpressionStatement","src":"4487:54:129"},{"assignments":[93349,93351,93353],"declarations":[{"constant":false,"id":93349,"mutability":"mutable","name":"storedThreshold","nameLocation":"4561:15:129","nodeType":"VariableDeclaration","scope":93374,"src":"4553:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93348,"name":"uint256","nodeType":"ElementaryTypeName","src":"4553:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93351,"mutability":"mutable","name":"storedActive","nameLocation":"4583:12:129","nodeType":"VariableDeclaration","scope":93374,"src":"4578:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93350,"name":"bool","nodeType":"ElementaryTypeName","src":"4578:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93353,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4605:17:129","nodeType":"VariableDeclaration","scope":93374,"src":"4597:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93352,"name":"address","nodeType":"ElementaryTypeName","src":"4597:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93358,"initialValue":{"arguments":[{"id":93356,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"4652:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93354,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"4626:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4641:10:129","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":76302,"src":"4626:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4626:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"4552:109:129"},{"expression":{"arguments":[{"id":93360,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93349,"src":"4680:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93361,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93318,"src":"4697:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93359,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"4671:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4671:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93363,"nodeType":"ExpressionStatement","src":"4671:39:129"},{"expression":{"arguments":[{"id":93365,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93351,"src":"4729:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4743:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93364,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"4720:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93368,"nodeType":"ExpressionStatement","src":"4720:29:129"},{"expression":{"arguments":[{"id":93370,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93353,"src":"4768:17:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93371,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"4787:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93369,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"4759:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4759:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93373,"nodeType":"ExpressionStatement","src":"4759:40:129"}]},"functionSelector":"3668aa29","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByCouncilSafe","nameLocation":"4234:32:129","parameters":{"id":93311,"nodeType":"ParameterList","parameters":[],"src":"4266:2:129"},"returnParameters":{"id":93312,"nodeType":"ParameterList","parameters":[],"src":"4276:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93464,"nodeType":"FunctionDefinition","src":"4812:679:129","nodes":[],"body":{"id":93463,"nodeType":"Block","src":"4851:640:129","nodes":[],"statements":[{"assignments":[93379],"declarations":[{"constant":false,"id":93379,"mutability":"mutable","name":"threshold","nameLocation":"4869:9:129","nodeType":"VariableDeclaration","scope":93463,"src":"4861:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93378,"name":"uint256","nodeType":"ElementaryTypeName","src":"4861:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93381,"initialValue":{"hexValue":"3530","id":93380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4881:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4861:22:129"},{"expression":{"arguments":[{"id":93385,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"4903:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93382,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4894:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4897:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"4894:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93387,"nodeType":"ExpressionStatement","src":"4894:21:129"},{"expression":{"arguments":[{"id":93391,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"4952:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93392,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93379,"src":"4962:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93393,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"4973:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93388,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"4925:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4940:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76599,"src":"4925:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4925:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93395,"nodeType":"ExpressionStatement","src":"4925:60:129"},{"expression":{"arguments":[{"id":93399,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"5009:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93396,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4995:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4998:10:129","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21308,"src":"4995:13:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4995:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93401,"nodeType":"ExpressionStatement","src":"4995:26:129"},{"expression":{"arguments":[{"id":93405,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"5063:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93402,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"5031:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5046:16:129","memberName":"activateStrategy","nodeType":"MemberAccess","referencedDeclaration":76657,"src":"5031:31:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5031:41:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93407,"nodeType":"ExpressionStatement","src":"5031:41:129"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93408,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5082:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5085:9:129","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"5082:12:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5082:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93412,"nodeType":"ExpressionStatement","src":"5082:14:129"},{"expression":{"arguments":[{"id":93416,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"5116:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93413,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5107:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5110:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"5107:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5107:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93418,"nodeType":"ExpressionStatement","src":"5107:21:129"},{"expression":{"arguments":[{"id":93422,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"5166:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93423,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92890,"src":"5172:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$76188_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93419,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"5138:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5153:12:129","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76490,"src":"5138:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$76188_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93425,"nodeType":"ExpressionStatement","src":"5138:47:129"},{"assignments":[93427],"declarations":[{"constant":false,"id":93427,"mutability":"mutable","name":"canExecute","nameLocation":"5201:10:129","nodeType":"VariableDeclaration","scope":93463,"src":"5196:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93426,"name":"bool","nodeType":"ElementaryTypeName","src":"5196:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":93433,"initialValue":{"arguments":[{"id":93430,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"5246:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93431,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"5252:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93428,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"5214:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5229:16:129","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76724,"src":"5214:31:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":93432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5214:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5196:65:129"},{"expression":{"arguments":[{"id":93435,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93427,"src":"5282:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93434,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[6137,6152],"referencedDeclaration":6137,"src":"5271:10:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":93436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5271:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93437,"nodeType":"ExpressionStatement","src":"5271:22:129"},{"expression":{"arguments":[{"id":93441,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92863,"src":"5313:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93438,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5304:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5307:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"5304:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5304:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93443,"nodeType":"ExpressionStatement","src":"5304:21:129"},{"expression":{"arguments":[{"id":93447,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"5366:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313530","id":93448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5376:3:129","typeDescriptions":{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},"value":"150"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"}],"expression":{"id":93444,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"5335:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5350:15:129","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":76685,"src":"5335:30:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5335:45:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93450,"nodeType":"ExpressionStatement","src":"5335:45:129"},{"expression":{"id":93457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93451,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93427,"src":"5391:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":93454,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92869,"src":"5436:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93455,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92875,"src":"5442:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93452,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92857,"src":"5404:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76766","typeString":"contract PassportScorer"}},"id":93453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5419:16:129","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76724,"src":"5404:31:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":93456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5391:60:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":93458,"nodeType":"ExpressionStatement","src":"5391:60:129"},{"expression":{"arguments":[{"id":93460,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93427,"src":"5473:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93459,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6164,6179],"referencedDeclaration":6164,"src":"5461:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":93461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5461:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93462,"nodeType":"ExpressionStatement","src":"5461:23:129"}]},"functionSelector":"8caa5c44","implemented":true,"kind":"function","modifiers":[],"name":"testCanExecuteAction","nameLocation":"4821:20:129","parameters":{"id":93376,"nodeType":"ParameterList","parameters":[],"src":"4841:2:129"},"returnParameters":{"id":93377,"nodeType":"ParameterList","parameters":[],"src":"4851:0:129"},"scope":93465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":92853,"name":"Test","nameLocations":["323:4:129"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"323:4:129"},"id":92854,"nodeType":"InheritanceSpecifier","src":"323:4:129"}],"canonicalName":"PassportScorerTest","contractDependencies":[55102,76766],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[93465,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"PassportScorerTest","nameLocation":"301:18:129","scope":93466,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":129}
\ No newline at end of file
+{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"passportData","inputs":[],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"passportScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract PassportScorer"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategy","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAddStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCanExecuteAction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByAuthorized","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyOwnerCanChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unauthorizedUser","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"user","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461006b57600160ff198181600c541617600c55601e541617601e55600560018060a01b0319600181601f541617601f5560028160205416176020556003816021541617602155600481602254161760225560235416176023556144d190816100718239f35b600080fdfe60808060405260043610156200001457600080fd5b600090813560e01c908163073a2d8c1462002606575080630778c72c14620023ef5780630a9254e4146200228e5780630c2759da14620021215780631ed7831c146200209b57806324e40b971462001f5e578063258211531462001e2f5780632ade38801462001b9b5780633668aa2914620019df5780633e5e3c2314620019595780633ea7771b146200192e5780633f7286f414620018a85780634905e83114620018795780634f8632ba146200185057806366d9a9a014620016bb5780636c53db9a146200169057806382fad478146200156a57806385226c81146200142a5780638caa5c441462000ef55780638df8b2fe1462000eca578063916a17c61462000c4f5780639693f1281462000aa2578063a8c62e761462000a77578063b5508aa91462000923578063ba414fa614620008fa578063d4dadecb14620006d9578063e20c9f711462000642578063e68393b414620003eb578063ebe69a5f14620001b15763fa7626d4146200018a57600080fd5b34620001ae5780600319360112620001ae57602060ff601e54166040519015158152f35b80fd5b5034620001ae5780600319360112620001ae57601e54604051638da5cb5b60e01b8152906020906001600160a01b039082908490600490829060081c85165afa928315620003e0578493620003a1575b50836000805160206200447c83398151915293843b15620003855760405163ca669fa760e01b81529083166004820152818160248183895af180156200037a5762000389575b5081601e5460081c16803b1562000385578180916024604051809481936303d4768360e41b8352600660048401525af180156200037a5762000362575b505060048282601e5460081c16604051928380926346fc597f60e11b82525afa9283156200035757859362000313575b5050823b156200030e57604460009260405194859384926328a9b0fb60e11b8452166004830152600660248301525afa80156200030257620002f4575080f35b620002ff90620027d7565b80f35b6040513d6000823e3d90fd5b600080fd5b9080929350813d83116200034f575b6200032e818362002807565b810103126200034b576200034290620029f6565b903880620002b4565b8380fd5b503d62000322565b6040513d87823e3d90fd5b6200036d90620027d7565b6200034b57833862000284565b6040513d84823e3d90fd5b5080fd5b6200039490620027d7565b6200034b57833862000247565b9092508181813d8311620003d8575b620003bc818362002807565b810103126200034b57620003d090620029f6565b913862000201565b503d620003b0565b6040513d86823e3d90fd5b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f25760405163ca669fa760e01b918282526004820152838160248183875af1908115620003e05784916200062a575b505083601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e05784916200060e575b505083601f5416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620005f6575b5081601e5460081c168260215416813b15620005f257829160448392604051948593849263642ce76b60e01b84526004840152604b60248401525af180156200037a57620005da575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff9284859186946200058b575b50906200057a62000580926200295f565b62002ab3565b602254169062002a25565b6200057a9450620005809250620005bd915060603d8111620005c7575b620005b4818362002807565b81019062002a85565b9490925062000569565b503d620005a8565b6040513d85823e3d90fd5b620005e590620027d7565b6200038557813862000525565b8280fd5b6200060190620027d7565b62000385578138620004dc565b6200061990620027d7565b620005f2578238620004aa565b8580fd5b6200063590620027d7565b620005f257823862000454565b5034620001ae5780600319360112620001ae57604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b828210620006b857620006b485620006a78189038262002807565b604051918291826200262d565b0390f35b83546001600160a01b0316865294850194600193840193909101906200068c565b5034620001ae5780600319360112620001ae57601f546001600160a01b03908116826000805160206200447c833981519152803b1562000385576040519263ca669fa760e01b9081855260048501526024938381868183875af1908115620003e0578491620008e2575b505084601e5460081c168560205416813b15620008de578491606483926040519485938492630f029aad60e31b845260048401528a548b84015260255460448401525af1908115620003e0578491620008c6575b505084601f5416823b156200034b57848492836040519586948593845260048401525af180156200037a57620008ae575b5082601e5460081c168360205416813b15620005f2578291848392604051948593849263130aea3160e31b845260048401525af180156200037a5762000896575b505060409082601e5460081c1692602054169082518094819363b34e0c4760e01b835260048301525afa9081156200037a57620002ff91602091849162000860575b5062000858815162002907565b015162002907565b62000887915060403d6040116200088e575b6200087e818362002807565b810190620028dc565b386200084b565b503d62000872565b620008a190620027d7565b620005f257823862000809565b620008b990620027d7565b620005f2578238620007c8565b620008d190620027d7565b620005f257823862000797565b8480fd5b620008ed90620027d7565b620005f257823862000743565b5034620001ae5780600319360112620001ae576020620009196200282b565b6040519015158152f35b5034620001ae5780600319360112620001ae576019546200094481620028c4565b62000953604051918262002807565b81815260196000908152602092907f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695908484015b8382106200099f5760405180620006b4878262002771565b60405160009184549160019280841c90848116801562000a6c575b8b8310811462000a58578284528b94939291811562000a3a5750600114620009fd575b50620009ee81600196038262002807565b81520193019101909162000987565b60008881528481209650905b80821062000a225750810183019450620009ee620009dd565b8654838301860152958501958b949091019062000a09565b60ff19168584015250151560051b810183019450620009ee620009dd565b634e487b7160e01b87526022600452602487fd5b91607f1691620009ba565b5034620001ae5780600319360112620001ae576021546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601f546000805160206200447c833981519152906001600160a01b039083908216833b1562000385576040519063ca669fa760e01b82526004820152818160248183885af180156200037a5762000c37575b5081601e5460081c1682602154168360225416823b156200034b576064849283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af180156200037a5762000c1f575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa918215620003e057848591869462000bf6575b50843b156200030e5760009060446040518097819363260a5b1560e21b83526004830152603260248301525afa9081156200030257620002ff94620005809262000be4575b5062002ab3565b62000bef90620027d7565b3862000bdd565b91505062000c1691925060603d8111620005c757620005b4818362002807565b92913862000b98565b62000c2a90620027d7565b620005f257823862000b59565b62000c4290620027d7565b620005f257823862000b07565b5034620001ae5780600319360112620001ae57601c5462000c7081620028c4565b9062000c80604051928362002807565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831062000cc65760405180620006b48782620026b5565b60405162000cd481620027eb565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b81600784011062000e5b578460019794600297946020979462000d6a94549181811062000e3e575b81811062000e21575b81811062000e04575b81811062000de7575b81811062000dca575b81811062000dad575b81811062000d92575b1062000d7d575b50038262002807565b8382015281520192019201919062000cae565b6001600160e01b031916815286013862000d61565b828a1b6001600160e01b0319168452928901928b0162000d5a565b604083901b6001600160e01b0319168452928901928b0162000d51565b606083901b6001600160e01b0319168452928901928b0162000d48565b608083901b6001600160e01b0319168452928901928b0162000d3f565b60a083901b6001600160e01b0319168452928901928b0162000d36565b60c083901b6001600160e01b0319168452928901928b0162000d2d565b60e083901b6001600160e01b0319168452928901928b0162000d24565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e082015201940192019162000cfc565b5034620001ae5780600319360112620001ae57601f546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601f5481906000805160206200447c833981519152906001600160a01b0390811690823b1562001279576040519163ca669fa760e01b9081845260048401526024928581858183895af19081156200141f57869162001407575b5050601e9081549083600892831c1684602154168560225416823b15620012e85760648a9283604051958694859363fc2ebdd160e01b8552600485015260328d85015260448401525af19081156200139c578891620013ef575b50508360225416863b15620012d957604051906303223eab60e11b8252600482015287818781838b5af19081156200139c578891620013d7575b5050838354831c168460215416813b156200131c57889187839260405194859384926306c0752d60e51b845260048401525af19081156200139c578891620013bf575b5050853b1562001398576040516390c5013b60e01b81528781600481838b5af19081156200139c578891620013a7575b505083601f5416863b15620012d95760405190828252600482015287818781838b5af19081156200139c57889162001380575b5050838354831c169360209481865416813b15620012e8578991606483926040519485938492630f029aad60e31b845260048401528c548d84015260255460448401525af1908115620012dd57899162001368575b5050808454841c16916200112886838154169484602154169060405180809581946302154c3d60e51b9a8b84526004840162002a0b565b03915afa90811562001320578a916200132b575b50883b15620012e857604051630c9fd58160e01b81529015156004820152898189818c5afa90811562001320578a9162001304575b505081601f5416883b15620012e857604051918252600482015288818881838c5af1908115620012dd578991620012ec575b5050808454841c16928160215416843b15620012e857899460448692604051978893849263642ce76b60e01b8452600484015260968d8401525af18015620012dd5786948a91620012bc575b505081906200121d9554901c1690808454169060215416926040519586948593849384526004840162002a0b565b03915afa918215620003575785926200127e575b5050823b15620012795783916040518094819363a598288560e01b8352151560048301525afa80156200037a57620012665750f35b6200127190620027d7565b620001ae5780f35b505050fd5b90809250813d8311620012b4575b62001298818362002807565b810103126200127957620012ac9062002a77565b388062001231565b503d6200128c565b620012ca91929550620027d7565b620012d95784928838620011ef565b8780fd5b6040513d8b823e3d90fd5b8980fd5b620012f790620027d7565b620012d9578738620011a3565b6200130f90620027d7565b6200131c57883862001171565b8880fd5b6040513d8c823e3d90fd5b90508681813d831162001360575b62001345818362002807565b81010312620012e857620013599062002a77565b386200113c565b503d62001339565b6200137390620027d7565b620012d9578738620010f1565b6200138b90620027d7565b620013985786386200109c565b8680fd5b6040513d8a823e3d90fd5b620013b290620027d7565b6200139857863862001069565b620013ca90620027d7565b6200139857863862001039565b620013e290620027d7565b6200139857863862000ff6565b620013fa90620027d7565b6200139857863862000fbc565b6200141290620027d7565b620008de57843862000f62565b6040513d88823e3d90fd5b5034620001ae5780600319360112620001ae57601a546200144b81620028c4565b6200145a604051918262002807565b818152601a6000908152602092907f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e908484015b838210620014a65760405180620006b4878262002771565b60405160009184549160019280841c9084811680156200155f575b8b8310811462000a58578284528b94939291811562001541575060011462001504575b50620014f581600196038262002807565b8152019301910190916200148e565b60008881528481209650905b808210620015295750810183019450620014f5620014e4565b8654838301860152958501958b949091019062001510565b60ff19168584015250151560051b810183019450620014f5620014e4565b91607f1691620014c1565b5034620001ae5780600319360112620001ae5760235481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162001678575b5050803b156200165957604051630618f58760e51b8152637d7b71b560e01b60048201529083908290602490829084905af1908115620005cf5783916200165d575b505080601e5460081c169060205416813b156200165957829160248392604051948593849263130aea3160e31b845260048401525af180156200037a57620012665750f35b5050fd5b6200166890620027d7565b6200167557813862001614565b50fd5b6200168390620027d7565b62001659578238620015d2565b5034620001ae5780600319360112620001ae576022546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601b54620016dc81620028c4565b90620016ec604051928362002807565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b838310620017325760405180620006b48782620026b5565b6040516200174081620027eb565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110620017e15784600197946002979460209794620017ce94549181811062000e3e5781811062000e215781811062000e045781811062000de75781811062000dca5781811062000dad5781811062000d92571062000d7d5750038262002807565b838201528152019201920191906200171a565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e082015201940192019162001768565b5034620001ae5780600319360112620001ae57602080546040516001600160a01b039091168152f35b5034620001ae5780600319360112620001ae57601e5460405160089190911c6001600160a01b03168152602090f35b5034620001ae5780600319360112620001ae57604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b8282106200190d57620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620018f2565b5034620001ae5780600319360112620001ae576023546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b828210620019be57620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620019a3565b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f25760405163ca669fa760e01b918282526004820152838160248183875af1908115620003e057849162001b83575b505083601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e057849162001b6b575b50508360225416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620005f6575081601e5460081c168260215416813b15620005f257829160448392604051948593849263642ce76b60e01b84526004840152604b60248401525af180156200037a57620005da57505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff9284859186946200058b5750906200057a62000580926200295f565b62001b7690620027d7565b620005f257823862001a9e565b62001b8e90620027d7565b620005f257823862001a48565b5034620001ae5780600319360112620001ae57601d549062001bbd82620028c4565b62001bcc604051918262002807565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b82841062001cd557858588604051916020830190602084525180915260408301600590604083831b860101939580925b84841062001c3b5786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b82811062001ca757505050505060208060019299019401940192969493919062001c2d565b909192939460208062001cc7600193605f19878203018952895162002673565b970195019392910162001c82565b60405162001ce381620027eb565b82546001600160a01b031681526001830180549062001d0282620028c4565b9162001d12604051938462002807565b808352602083019160005260206000206000925b82841062001d4e57505050506001928260209283600295015281520192019301929062001bfd565b604051600083548060011c90600181161562001e24575b60208210600182161462001e10578184526001811690811562001dec575060011462001db1575b506001928262001da28594602094038262002807565b81520192019301929062001d26565b6000858152602081209092505b81831062001dd55750508101602001600162001d8c565b600181602092548386880101520192019162001dbe565b60ff191660208581019190915291151560051b840190910191506001905062001d8c565b634e487b7160e01b83526022600452602483fd5b90607f169062001d65565b5034620001ae5780600319360112620001ae5760235481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162001f46575b5050803b156200165957604051630618f58760e51b8152637d7b71b560e01b60048201529083908290602490829084905af1908115620005cf57839162001f2e575b505080601e5460081c169060205416813b1562001659578291606483926040519485938492630f029aad60e31b84526004840152602454602484015260255460448401525af180156200037a57620012665750f35b62001f3990620027d7565b6200167557813862001ed9565b62001f5190620027d7565b6200165957823862001e97565b5034620001ae5780600319360112620001ae57601f5481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162002083575b5050803b15620016595782809160646040518094819363f28dceb360e01b835260206004840152602060248401527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448401525af1908115620005cf5783916200206b575b5050601e5460081c16803b1562001675578180916024604051809481936303d4768360e41b8352600660048401525af180156200037a57620012665750f35b6200207690620027d7565b620016755781386200202c565b6200208e90620027d7565b6200165957823862001fc6565b5034620001ae5780600319360112620001ae57604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b8282106200210057620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620020e5565b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f257829160248392604051948593849263ca669fa760e01b845260048401525af180156200037a5762002276575b5081601e5460081c168260205416813b15620005f2578291606483926040519485938492630f029aad60e31b84526004840152602454602484015260255460448401525af180156200037a576200225e575b5050604081601e5460081c169160205416602482518094819363b34e0c4760e01b835260048301525afa9081156200037a57620002ff9160209184916200223a575b506200222e815160245490620029ab565b015160255490620029ab565b62002257915060403d6040116200088e576200087e818362002807565b386200221d565b6200226990620027d7565b62000385578138620021db565b6200228190620027d7565b6200038557813862002189565b5034620001ae5780600319360112620001ae576040516001600160401b039061156b8082019083821183831017620023db5790829162002f118339039083f080156200037a57601f5460405163189acdbd60e31b60208201526001600160a01b0391821660248083019190915281526060810193909181851183861017620023c557846040526104109384840194606086019387851090851117620023b15762002b018739169052604060808301526200234f60a0605f1993018262002673565b03019082f08015620023a457601e8054610100600160a81b03191660089290921b610100600160a81b03169190911790556040516200238e81620027eb565b6064815260204291015260646024554260255580f35b50604051903d90823e3d90fd5b634e487b7160e01b88526041600452602488fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b85526041600452602485fd5b5034620001ae5780600319360112620001ae57601f546001600160a01b03906000805160206200447c833981519152908216813b156200034b5760405163ca669fa760e01b918282526004820152848160248183875af180156200035757620025ee575b5090839183601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e0578491620025d6575b505083601f5416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620025be575b5081601e5460081c168260215416813b15620005f25782916024839260405194859384926302ea311d60e31b845260048401525af180156200037a57620025a6575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff92848591869462002574575b50906200057a620005809262002907565b6200057a94506200058092506200259c915060603d8111620005c757620005b4818362002807565b9490925062002563565b620025b190620027d7565b620003855781386200251f565b620025c990620027d7565b62000385578138620024dd565b620025e190620027d7565b620005f2578238620024ab565b620025fd9094919294620027d7565b92903862002453565b90503462000385578160031936011262000385576040906024546025549082526020820152f35b6020908160408183019282815285518094520193019160005b82811062002655575050505090565b83516001600160a01b03168552938101939281019260010162002646565b919082519283825260005b848110620026a0575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200267e565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510620026ed57505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b8082106200274c5750505090806001929a019501950193969594929190620026da565b82516001600160e01b03191684528a9493840193909201916001919091019062002729565b602080820190808352835180925260408301928160408460051b8301019501936000915b848310620027a65750505050505090565b9091929394958480620027c6600193603f198682030187528a5162002673565b980193019301919493929062002795565b6001600160401b038111620023c557604052565b604081019081106001600160401b03821117620023c557604052565b601f909101601f19168101906001600160401b03821190821017620023c557604052565b60085460ff1680156200283b5790565b50604051630667f9d760e41b81526020816044816000805160206200447c8339815191528060048301526519985a5b195960d21b60248301525afa90811562000302576000916200288d575b50151590565b906020823d8211620028bb575b81620028a96020938362002807565b81010312620001ae5750513862002887565b3d91506200289a565b6001600160401b038111620023c55760051b60200190565b908160409103126200030e57602060405191620028f983620027eb565b805183520151602082015290565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363260a5b1560e21b835260048301528460248301525afa80156200030257620029525750565b6200295d90620027d7565b565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363260a5b1560e21b83526004830152604b60248301525afa80156200030257620029525750565b6000805160206200447c83398151915291823b156200030e576044600092604051948593849263260a5b1560e21b8452600484015260248301525afa80156200030257620029525750565b51906001600160a01b03821682036200030e57565b6001600160a01b0391821681529116602082015260400190565b6000805160206200447c83398151915291823b156200030e576040516328a9b0fb60e11b81529260009284928391829162002a64916004840162002a0b565b03915afa80156200030257620029525750565b519081151582036200030e57565b908160609103126200030e5780519162002ab0604062002aa86020850162002a77565b9301620029f6565b90565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363f7fe347760e01b8352151560048301528460248301525afa8015620003025762002952575056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220bd02083f1eefe03574f312a3ba1c3ed2140a06407378fe5c4ae3a9f36933687464736f6c6343000813003360a080604052346100315730608052611534908161003782396080518181816108c6015281816109e60152610d6b0152f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220955fa1e4b262363a3fe63b633bb92d8ef65c5be221b59195944b6887f1a4117864736f6c634300081300330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220eb8672b13b4aee6bac01550935bd7cc34f7256bcc632570a83189181dc08580564736f6c63430008130033","sourceMap":"292:5201:129:-:0;;;;;;;3166:4:24;292:5201:129;;;;3166:4:24;292:5201:129;;;3166:4:24;292:5201:129;1038:4:34;292:5201:129;;;1038:4:34;292:5201:129;588:1;292:5201;;;;;;3166:4:24;292:5201:129;405:10;292:5201;;;405:10;292:5201;451:1;292:5201;443:10;292:5201;;;443:10;292:5201;493:1;292:5201;485:10;292:5201;;;485:10;292:5201;538:1;292:5201;530:10;292:5201;;;530:10;292:5201;580:10;292:5201;;;580:10;292:5201;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b600090813560e01c908163073a2d8c1462002606575080630778c72c14620023ef5780630a9254e4146200228e5780630c2759da14620021215780631ed7831c146200209b57806324e40b971462001f5e578063258211531462001e2f5780632ade38801462001b9b5780633668aa2914620019df5780633e5e3c2314620019595780633ea7771b146200192e5780633f7286f414620018a85780634905e83114620018795780634f8632ba146200185057806366d9a9a014620016bb5780636c53db9a146200169057806382fad478146200156a57806385226c81146200142a5780638caa5c441462000ef55780638df8b2fe1462000eca578063916a17c61462000c4f5780639693f1281462000aa2578063a8c62e761462000a77578063b5508aa91462000923578063ba414fa614620008fa578063d4dadecb14620006d9578063e20c9f711462000642578063e68393b414620003eb578063ebe69a5f14620001b15763fa7626d4146200018a57600080fd5b34620001ae5780600319360112620001ae57602060ff601e54166040519015158152f35b80fd5b5034620001ae5780600319360112620001ae57601e54604051638da5cb5b60e01b8152906020906001600160a01b039082908490600490829060081c85165afa928315620003e0578493620003a1575b50836000805160206200447c83398151915293843b15620003855760405163ca669fa760e01b81529083166004820152818160248183895af180156200037a5762000389575b5081601e5460081c16803b1562000385578180916024604051809481936303d4768360e41b8352600660048401525af180156200037a5762000362575b505060048282601e5460081c16604051928380926346fc597f60e11b82525afa9283156200035757859362000313575b5050823b156200030e57604460009260405194859384926328a9b0fb60e11b8452166004830152600660248301525afa80156200030257620002f4575080f35b620002ff90620027d7565b80f35b6040513d6000823e3d90fd5b600080fd5b9080929350813d83116200034f575b6200032e818362002807565b810103126200034b576200034290620029f6565b903880620002b4565b8380fd5b503d62000322565b6040513d87823e3d90fd5b6200036d90620027d7565b6200034b57833862000284565b6040513d84823e3d90fd5b5080fd5b6200039490620027d7565b6200034b57833862000247565b9092508181813d8311620003d8575b620003bc818362002807565b810103126200034b57620003d090620029f6565b913862000201565b503d620003b0565b6040513d86823e3d90fd5b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f25760405163ca669fa760e01b918282526004820152838160248183875af1908115620003e05784916200062a575b505083601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e05784916200060e575b505083601f5416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620005f6575b5081601e5460081c168260215416813b15620005f257829160448392604051948593849263642ce76b60e01b84526004840152604b60248401525af180156200037a57620005da575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff9284859186946200058b575b50906200057a62000580926200295f565b62002ab3565b602254169062002a25565b6200057a9450620005809250620005bd915060603d8111620005c7575b620005b4818362002807565b81019062002a85565b9490925062000569565b503d620005a8565b6040513d85823e3d90fd5b620005e590620027d7565b6200038557813862000525565b8280fd5b6200060190620027d7565b62000385578138620004dc565b6200061990620027d7565b620005f2578238620004aa565b8580fd5b6200063590620027d7565b620005f257823862000454565b5034620001ae5780600319360112620001ae57604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b828210620006b857620006b485620006a78189038262002807565b604051918291826200262d565b0390f35b83546001600160a01b0316865294850194600193840193909101906200068c565b5034620001ae5780600319360112620001ae57601f546001600160a01b03908116826000805160206200447c833981519152803b1562000385576040519263ca669fa760e01b9081855260048501526024938381868183875af1908115620003e0578491620008e2575b505084601e5460081c168560205416813b15620008de578491606483926040519485938492630f029aad60e31b845260048401528a548b84015260255460448401525af1908115620003e0578491620008c6575b505084601f5416823b156200034b57848492836040519586948593845260048401525af180156200037a57620008ae575b5082601e5460081c168360205416813b15620005f2578291848392604051948593849263130aea3160e31b845260048401525af180156200037a5762000896575b505060409082601e5460081c1692602054169082518094819363b34e0c4760e01b835260048301525afa9081156200037a57620002ff91602091849162000860575b5062000858815162002907565b015162002907565b62000887915060403d6040116200088e575b6200087e818362002807565b810190620028dc565b386200084b565b503d62000872565b620008a190620027d7565b620005f257823862000809565b620008b990620027d7565b620005f2578238620007c8565b620008d190620027d7565b620005f257823862000797565b8480fd5b620008ed90620027d7565b620005f257823862000743565b5034620001ae5780600319360112620001ae576020620009196200282b565b6040519015158152f35b5034620001ae5780600319360112620001ae576019546200094481620028c4565b62000953604051918262002807565b81815260196000908152602092907f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695908484015b8382106200099f5760405180620006b4878262002771565b60405160009184549160019280841c90848116801562000a6c575b8b8310811462000a58578284528b94939291811562000a3a5750600114620009fd575b50620009ee81600196038262002807565b81520193019101909162000987565b60008881528481209650905b80821062000a225750810183019450620009ee620009dd565b8654838301860152958501958b949091019062000a09565b60ff19168584015250151560051b810183019450620009ee620009dd565b634e487b7160e01b87526022600452602487fd5b91607f1691620009ba565b5034620001ae5780600319360112620001ae576021546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601f546000805160206200447c833981519152906001600160a01b039083908216833b1562000385576040519063ca669fa760e01b82526004820152818160248183885af180156200037a5762000c37575b5081601e5460081c1682602154168360225416823b156200034b576064849283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af180156200037a5762000c1f575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa918215620003e057848591869462000bf6575b50843b156200030e5760009060446040518097819363260a5b1560e21b83526004830152603260248301525afa9081156200030257620002ff94620005809262000be4575b5062002ab3565b62000bef90620027d7565b3862000bdd565b91505062000c1691925060603d8111620005c757620005b4818362002807565b92913862000b98565b62000c2a90620027d7565b620005f257823862000b59565b62000c4290620027d7565b620005f257823862000b07565b5034620001ae5780600319360112620001ae57601c5462000c7081620028c4565b9062000c80604051928362002807565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831062000cc65760405180620006b48782620026b5565b60405162000cd481620027eb565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b81600784011062000e5b578460019794600297946020979462000d6a94549181811062000e3e575b81811062000e21575b81811062000e04575b81811062000de7575b81811062000dca575b81811062000dad575b81811062000d92575b1062000d7d575b50038262002807565b8382015281520192019201919062000cae565b6001600160e01b031916815286013862000d61565b828a1b6001600160e01b0319168452928901928b0162000d5a565b604083901b6001600160e01b0319168452928901928b0162000d51565b606083901b6001600160e01b0319168452928901928b0162000d48565b608083901b6001600160e01b0319168452928901928b0162000d3f565b60a083901b6001600160e01b0319168452928901928b0162000d36565b60c083901b6001600160e01b0319168452928901928b0162000d2d565b60e083901b6001600160e01b0319168452928901928b0162000d24565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e082015201940192019162000cfc565b5034620001ae5780600319360112620001ae57601f546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601f5481906000805160206200447c833981519152906001600160a01b0390811690823b1562001279576040519163ca669fa760e01b9081845260048401526024928581858183895af19081156200141f57869162001407575b5050601e9081549083600892831c1684602154168560225416823b15620012e85760648a9283604051958694859363fc2ebdd160e01b8552600485015260328d85015260448401525af19081156200139c578891620013ef575b50508360225416863b15620012d957604051906303223eab60e11b8252600482015287818781838b5af19081156200139c578891620013d7575b5050838354831c168460215416813b156200131c57889187839260405194859384926306c0752d60e51b845260048401525af19081156200139c578891620013bf575b5050853b1562001398576040516390c5013b60e01b81528781600481838b5af19081156200139c578891620013a7575b505083601f5416863b15620012d95760405190828252600482015287818781838b5af19081156200139c57889162001380575b5050838354831c169360209481865416813b15620012e8578991606483926040519485938492630f029aad60e31b845260048401528c548d84015260255460448401525af1908115620012dd57899162001368575b5050808454841c16916200112886838154169484602154169060405180809581946302154c3d60e51b9a8b84526004840162002a0b565b03915afa90811562001320578a916200132b575b50883b15620012e857604051630c9fd58160e01b81529015156004820152898189818c5afa90811562001320578a9162001304575b505081601f5416883b15620012e857604051918252600482015288818881838c5af1908115620012dd578991620012ec575b5050808454841c16928160215416843b15620012e857899460448692604051978893849263642ce76b60e01b8452600484015260968d8401525af18015620012dd5786948a91620012bc575b505081906200121d9554901c1690808454169060215416926040519586948593849384526004840162002a0b565b03915afa918215620003575785926200127e575b5050823b15620012795783916040518094819363a598288560e01b8352151560048301525afa80156200037a57620012665750f35b6200127190620027d7565b620001ae5780f35b505050fd5b90809250813d8311620012b4575b62001298818362002807565b810103126200127957620012ac9062002a77565b388062001231565b503d6200128c565b620012ca91929550620027d7565b620012d95784928838620011ef565b8780fd5b6040513d8b823e3d90fd5b8980fd5b620012f790620027d7565b620012d9578738620011a3565b6200130f90620027d7565b6200131c57883862001171565b8880fd5b6040513d8c823e3d90fd5b90508681813d831162001360575b62001345818362002807565b81010312620012e857620013599062002a77565b386200113c565b503d62001339565b6200137390620027d7565b620012d9578738620010f1565b6200138b90620027d7565b620013985786386200109c565b8680fd5b6040513d8a823e3d90fd5b620013b290620027d7565b6200139857863862001069565b620013ca90620027d7565b6200139857863862001039565b620013e290620027d7565b6200139857863862000ff6565b620013fa90620027d7565b6200139857863862000fbc565b6200141290620027d7565b620008de57843862000f62565b6040513d88823e3d90fd5b5034620001ae5780600319360112620001ae57601a546200144b81620028c4565b6200145a604051918262002807565b818152601a6000908152602092907f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e908484015b838210620014a65760405180620006b4878262002771565b60405160009184549160019280841c9084811680156200155f575b8b8310811462000a58578284528b94939291811562001541575060011462001504575b50620014f581600196038262002807565b8152019301910190916200148e565b60008881528481209650905b808210620015295750810183019450620014f5620014e4565b8654838301860152958501958b949091019062001510565b60ff19168584015250151560051b810183019450620014f5620014e4565b91607f1691620014c1565b5034620001ae5780600319360112620001ae5760235481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162001678575b5050803b156200165957604051630618f58760e51b8152637d7b71b560e01b60048201529083908290602490829084905af1908115620005cf5783916200165d575b505080601e5460081c169060205416813b156200165957829160248392604051948593849263130aea3160e31b845260048401525af180156200037a57620012665750f35b5050fd5b6200166890620027d7565b6200167557813862001614565b50fd5b6200168390620027d7565b62001659578238620015d2565b5034620001ae5780600319360112620001ae576022546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57601b54620016dc81620028c4565b90620016ec604051928362002807565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b838310620017325760405180620006b48782620026b5565b6040516200174081620027eb565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110620017e15784600197946002979460209794620017ce94549181811062000e3e5781811062000e215781811062000e045781811062000de75781811062000dca5781811062000dad5781811062000d92571062000d7d5750038262002807565b838201528152019201920191906200171a565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e082015201940192019162001768565b5034620001ae5780600319360112620001ae57602080546040516001600160a01b039091168152f35b5034620001ae5780600319360112620001ae57601e5460405160089190911c6001600160a01b03168152602090f35b5034620001ae5780600319360112620001ae57604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b8282106200190d57620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620018f2565b5034620001ae5780600319360112620001ae576023546040516001600160a01b039091168152602090f35b5034620001ae5780600319360112620001ae57604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b828210620019be57620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620019a3565b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f25760405163ca669fa760e01b918282526004820152838160248183875af1908115620003e057849162001b83575b505083601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e057849162001b6b575b50508360225416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620005f6575081601e5460081c168260215416813b15620005f257829160448392604051948593849263642ce76b60e01b84526004840152604b60248401525af180156200037a57620005da57505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff9284859186946200058b5750906200057a62000580926200295f565b62001b7690620027d7565b620005f257823862001a9e565b62001b8e90620027d7565b620005f257823862001a48565b5034620001ae5780600319360112620001ae57601d549062001bbd82620028c4565b62001bcc604051918262002807565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b82841062001cd557858588604051916020830190602084525180915260408301600590604083831b860101939580925b84841062001c3b5786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b82811062001ca757505050505060208060019299019401940192969493919062001c2d565b909192939460208062001cc7600193605f19878203018952895162002673565b970195019392910162001c82565b60405162001ce381620027eb565b82546001600160a01b031681526001830180549062001d0282620028c4565b9162001d12604051938462002807565b808352602083019160005260206000206000925b82841062001d4e57505050506001928260209283600295015281520192019301929062001bfd565b604051600083548060011c90600181161562001e24575b60208210600182161462001e10578184526001811690811562001dec575060011462001db1575b506001928262001da28594602094038262002807565b81520192019301929062001d26565b6000858152602081209092505b81831062001dd55750508101602001600162001d8c565b600181602092548386880101520192019162001dbe565b60ff191660208581019190915291151560051b840190910191506001905062001d8c565b634e487b7160e01b83526022600452602483fd5b90607f169062001d65565b5034620001ae5780600319360112620001ae5760235481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162001f46575b5050803b156200165957604051630618f58760e51b8152637d7b71b560e01b60048201529083908290602490829084905af1908115620005cf57839162001f2e575b505080601e5460081c169060205416813b1562001659578291606483926040519485938492630f029aad60e31b84526004840152602454602484015260255460448401525af180156200037a57620012665750f35b62001f3990620027d7565b6200167557813862001ed9565b62001f5190620027d7565b6200165957823862001e97565b5034620001ae5780600319360112620001ae57601f5481906001600160a01b03906000805160206200447c833981519152908216813b1562001279576040519063ca669fa760e01b82526004820152838160248183865af1908115620003e057849162002083575b5050803b15620016595782809160646040518094819363f28dceb360e01b835260206004840152602060248401527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448401525af1908115620005cf5783916200206b575b5050601e5460081c16803b1562001675578180916024604051809481936303d4768360e41b8352600660048401525af180156200037a57620012665750f35b6200207690620027d7565b620016755781386200202c565b6200208e90620027d7565b6200165957823862001fc6565b5034620001ae5780600319360112620001ae57604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b8282106200210057620006b485620006a78189038262002807565b83546001600160a01b031686529485019460019384019390910190620020e5565b5034620001ae5780600319360112620001ae57601f546001600160a01b039082906000805160206200447c833981519152908316813b15620005f257829160248392604051948593849263ca669fa760e01b845260048401525af180156200037a5762002276575b5081601e5460081c168260205416813b15620005f2578291606483926040519485938492630f029aad60e31b84526004840152602454602484015260255460448401525af180156200037a576200225e575b5050604081601e5460081c169160205416602482518094819363b34e0c4760e01b835260048301525afa9081156200037a57620002ff9160209184916200223a575b506200222e815160245490620029ab565b015160255490620029ab565b62002257915060403d6040116200088e576200087e818362002807565b386200221d565b6200226990620027d7565b62000385578138620021db565b6200228190620027d7565b6200038557813862002189565b5034620001ae5780600319360112620001ae576040516001600160401b039061156b8082019083821183831017620023db5790829162002f118339039083f080156200037a57601f5460405163189acdbd60e31b60208201526001600160a01b0391821660248083019190915281526060810193909181851183861017620023c557846040526104109384840194606086019387851090851117620023b15762002b018739169052604060808301526200234f60a0605f1993018262002673565b03019082f08015620023a457601e8054610100600160a81b03191660089290921b610100600160a81b03169190911790556040516200238e81620027eb565b6064815260204291015260646024554260255580f35b50604051903d90823e3d90fd5b634e487b7160e01b88526041600452602488fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b85526041600452602485fd5b5034620001ae5780600319360112620001ae57601f546001600160a01b03906000805160206200447c833981519152908216813b156200034b5760405163ca669fa760e01b918282526004820152848160248183875af180156200035757620025ee575b5090839183601e5460081c1684602154168560225416823b1562000626576064869283604051958694859363fc2ebdd160e01b855260048501526032602485015260448401525af1908115620003e0578491620025d6575b505083601f5416823b156200034b5760248492836040519586948593845260048401525af180156200037a57620025be575b5081601e5460081c168260215416813b15620005f25782916024839260405194859384926302ea311d60e31b845260048401525af180156200037a57620025a6575b505080601e5460081c1690606081602154166024604051809581936339ebf82360e01b835260048301525afa908115620005cf57620002ff92848591869462002574575b50906200057a620005809262002907565b6200057a94506200058092506200259c915060603d8111620005c757620005b4818362002807565b9490925062002563565b620025b190620027d7565b620003855781386200251f565b620025c990620027d7565b62000385578138620024dd565b620025e190620027d7565b620005f2578238620024ab565b620025fd9094919294620027d7565b92903862002453565b90503462000385578160031936011262000385576040906024546025549082526020820152f35b6020908160408183019282815285518094520193019160005b82811062002655575050505090565b83516001600160a01b03168552938101939281019260010162002646565b919082519283825260005b848110620026a0575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200267e565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510620026ed57505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b8082106200274c5750505090806001929a019501950193969594929190620026da565b82516001600160e01b03191684528a9493840193909201916001919091019062002729565b602080820190808352835180925260408301928160408460051b8301019501936000915b848310620027a65750505050505090565b9091929394958480620027c6600193603f198682030187528a5162002673565b980193019301919493929062002795565b6001600160401b038111620023c557604052565b604081019081106001600160401b03821117620023c557604052565b601f909101601f19168101906001600160401b03821190821017620023c557604052565b60085460ff1680156200283b5790565b50604051630667f9d760e41b81526020816044816000805160206200447c8339815191528060048301526519985a5b195960d21b60248301525afa90811562000302576000916200288d575b50151590565b906020823d8211620028bb575b81620028a96020938362002807565b81010312620001ae5750513862002887565b3d91506200289a565b6001600160401b038111620023c55760051b60200190565b908160409103126200030e57602060405191620028f983620027eb565b805183520151602082015290565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363260a5b1560e21b835260048301528460248301525afa80156200030257620029525750565b6200295d90620027d7565b565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363260a5b1560e21b83526004830152604b60248301525afa80156200030257620029525750565b6000805160206200447c83398151915291823b156200030e576044600092604051948593849263260a5b1560e21b8452600484015260248301525afa80156200030257620029525750565b51906001600160a01b03821682036200030e57565b6001600160a01b0391821681529116602082015260400190565b6000805160206200447c83398151915291823b156200030e576040516328a9b0fb60e11b81529260009284928391829162002a64916004840162002a0b565b03915afa80156200030257620029525750565b519081151582036200030e57565b908160609103126200030e5780519162002ab0604062002aa86020850162002a77565b9301620029f6565b90565b6000805160206200447c83398151915290813b156200030e5760009060446040518094819363f7fe347760e01b8352151560048301528460248301525afa8015620003025762002952575056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220bd02083f1eefe03574f312a3ba1c3ed2140a06407378fe5c4ae3a9f36933687464736f6c6343000813003360a080604052346100315730608052611534908161003782396080518181816108c6015281816109e60152610d6b0152f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220955fa1e4b262363a3fe63b633bb92d8ef65c5be221b59195944b6887f1a4117864736f6c634300081300330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220eb8672b13b4aee6bac01550935bd7cc34f7256bcc632570a83189181dc08580564736f6c63430008130033","sourceMap":"292:5201:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;421:32;292:5201;421:32;;;292:5201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1016:26:34;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;1821:14;1590::21;292:5201:129;;-1:-1:-1;;;1821:22:129;;292:5201;1821:22;;-1:-1:-1;;;;;292:5201:129;1821:22;;292:5201;;;;;;1590:14:21;;292:5201:129;;1821:22;;;;;;;;;;;292:5201;;;-1:-1:-1;;;;;;;;;;;1812:32:129;;;;;;292:5201;;-1:-1:-1;;;1812:32:129;;292:5201;;;;1812:32;;292:5201;1812:32;292:5201;;;1812:32;;;;;;;;;;292:5201;1590:14:21;;1821::129;1590::21;;;292:5201:129;1854:44;;;;;292:5201;;;;;;192:59:23;;;;;;;1854:44:129;;1799:1;292:5201;1854:44;;292:5201;1854:44;;;;;;;;292:5201;1590:14:21;;292:5201:129;1590:14:21;;1821::129;1590::21;;;292:5201:129;;;192:59:23;;;;;;;1918:28:129;;;;;;;;;;;;;292:5201;3533:24:23;;;;;;;292:5201:129;;;;;192:59:23;;;;;;;;3533:24;;292:5201:129;;3533:24:23;;292:5201:129;1799:1;292:5201;;;;3533:24:23;;;;;;;;292:5201:129;;;3533:24:23;;;;:::i;:::-;292:5201:129;;3533:24:23;292:5201:129;;192:59:23;292:5201:129;192:59:23;;;;;3533:24;292:5201:129;;;1918:28;;;;;;;;;;;;;;;;;:::i;:::-;;;292:5201;;;;;;;:::i;:::-;1918:28;;;;;292:5201;;;;1918:28;;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;1854:44:129;;;;:::i;:::-;292:5201;;1854:44;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;1854:44:129;292:5201;;;1812:32;;;;:::i;:::-;292:5201;;1812:32;;;;1821:22;;;;;;;;;;;;;;;;;:::i;:::-;;;292:5201;;;;;;;:::i;:::-;1821:22;;;;;;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;292:5201:129;;;;;;;;;;;;;3776:11;292:5201;-1:-1:-1;;;;;292:5201:129;;;-1:-1:-1;;;;;;;;;;;292:5201:129;;;3767:21;;;;;292:5201;;192:59:23;;;3767:21:129;;;;292:5201;3767:21;;292:5201;3767:21;;292:5201;3767:21;;;;;;;;;;;;;;292:5201;1590:14:21;;;3798::129;1590::21;;;292:5201:129;;3825:8;292:5201;;;3846:11;292:5201;;3798:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;3798:60:129;;292:5201;3798:60;;292:5201;3719:2;292:5201;;;;;;;;3798:60;;;;;;;;;;;292:5201;;;;3776:11;292:5201;;3869:21;;;;;292:5201;;;;;;3869:21;;;;;;;292:5201;3869:21;;292:5201;3869:21;;;;;;;;292:5201;1590:14:21;;3798::129;1590::21;;;292:5201:129;;3825:8;292:5201;;3900:54;;;;;292:5201;;;;;;;192:59:23;;;;;;;;3900:54:129;;292:5201;3900:54;;292:5201;3754:2;292:5201;;;;3900:54;;;;;;;;292:5201;1590:14:21;;;3798::129;1590::21;;;292:5201:129;;;;3825:8;292:5201;;;;;192:59:23;;;;;;;4039:35:129;;292:5201;4039:35;;292:5201;4039:35;;;;;;;4200:11;4039:35;;;;;;;;292:5201;4110:12;;;4156:5;4110:12;;:::i;:::-;4156:5;:::i;:::-;3846:11;292:5201;;4200:11;;:::i;4039:35::-;4110:12;4039:35;;4156:5;4039:35;;;;;292:5201;4039:35;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;-1:-1:-1;4039:35:129;;;;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;3900:54:129;;;;:::i;:::-;292:5201;;3900:54;;;;;292:5201;;;3869:21;;;;:::i;:::-;292:5201;;3869:21;;;;3798:60;;;;:::i;:::-;292:5201;;3798:60;;;;;292:5201;;;3767:21;;;;:::i;:::-;292:5201;;3767:21;;;;292:5201;;;;;;;;;;;;;;;2421:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1404:11;292:5201;-1:-1:-1;;;;;292:5201:129;;;;-1:-1:-1;;;;;;;;;;;1395:21:129;;;;;292:5201;;192:59:23;;;;1395:21:129;;;;292:5201;1395:21;;292:5201;;1395:21;;;;;;;;;;;;;;;;;;292:5201;1590:14:21;;;1426::129;1590::21;;;292:5201:129;;;;;1426:47;;;;;292:5201;;1590:14:21;292:5201:129;;;;192:59:23;;;;;;;;1426:47:129;;292:5201;1426:47;;292:5201;1590:14:21;;;;;292:5201:129;1590:14:21;;;;;292:5201:129;1426:47;;;;;;;;;;;292:5201;;;;1404:11;292:5201;;1484:21;;;;;292:5201;;;;;;1484:21;;;;;;;292:5201;1484:21;;292:5201;1484:21;;;;;;;;292:5201;1590:14:21;;1426::129;1590::21;;;292:5201:129;;;;;1515:31;;;;;292:5201;;;;;;;192:59:23;;;;;;;;1515:31:129;;292:5201;1515:31;;292:5201;1515:31;;;;;;;;292:5201;1590:14:21;;292:5201:129;1590:14:21;;1426::129;1590::21;;;292:5201:129;;;;;;;;192:59:23;;;;;;;1590:33:129;;292:5201;1590:33;;292:5201;1590:33;;;;;;;1672:35;1590:33;292:5201;1590:33;;;;;292:5201;;1633:29;292:5201;;1633:29;:::i;:::-;1681:22;292:5201;1672:35;:::i;1590:33::-;;;;292:5201;1590:33;292:5201;1590:33;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1515:31;;;;:::i;:::-;292:5201;;1515:31;;;;1484:21;;;;:::i;:::-;292:5201;;1484:21;;;;1426:47;;;;:::i;:::-;292:5201;;1426:47;;;;;292:5201;;;1395:21;;;;:::i;:::-;292:5201;;1395:21;;;;292:5201;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2273:18:27;292:5201:129;;;;:::i;:::-;;;;;;;:::i;:::-;;;;2273:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:5201:129;;;;;;;-1:-1:-1;292:5201:129;;;;;-1:-1:-1;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;292:5201:129;;;;;-1:-1:-1;292:5201:129;;;;;;;;;-1:-1:-1;292:5201:129;;;;-1:-1:-1;;;292:5201:129;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;;;;;;;;;;459:36;292:5201;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;2739:11;292:5201;-1:-1:-1;;;;;;;;;;;292:5201:129;-1:-1:-1;;;;;292:5201:129;;;;;2730:21;;;;;292:5201;;192:59:23;;;;2730:21:129;;292:5201;2730:21;;292:5201;2730:21;;292:5201;2730:21;;;;;;;;;;;292:5201;1590:14:21;;2761::129;1590::21;;;292:5201:129;;2788:8;292:5201;;;2809:11;292:5201;;2761:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;2761:60:129;;292:5201;2761:60;;292:5201;2717:2;292:5201;;;;;;;;2761:60;;;;;;;;292:5201;1590:14:21;;;2761::129;1590::21;;;292:5201:129;;;;2788:8;292:5201;;;;;192:59:23;;;;;;;2906:35:129;;292:5201;2906:35;;292:5201;2906:35;;;;;;;;;;;;;;292:5201;2349:24:23;;;;;;292:5201:129;;;;;192:59:23;;;;;;;2349:24;;292:5201:129;2349:24:23;;292:5201:129;2717:2;292:5201;;;;2349:24:23;;;;;;;3064:11:129;2349:24:23;3020:5:129;2349:24:23;;;292:5201:129;3020:5;;:::i;2349:24:23:-;;;;:::i;:::-;;;;2906:35:129;;;;;;;;292:5201;2906:35;;;;;;;;;:::i;:::-;;;;;;2761:60;;;;:::i;:::-;292:5201;;2761:60;;;;2730:21;;;;:::i;:::-;292:5201;;2730:21;;;;292:5201;;;;;;;;;;;;;3190:18:27;292:5201:129;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3190:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;292:5201:129;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;292:5201:129;192:59:23;292:5201:129;;;192:59:23;;;;;;292:5201:129;;;;;192:59:23;;;;;292:5201:129;;;;192:59:23;292:5201:129;;;192:59:23;;;;;292:5201:129;;;;192:59:23;;292:5201:129;;;;192:59:23;;292:5201:129;192:59:23;;292:5201:129;;;;192:59:23;;292:5201:129;192:59:23;;292:5201:129;;;;192:59:23;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;376:39;292:5201;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;4903:11;292:5201;;;-1:-1:-1;;;;;;;;;;;292:5201:129;-1:-1:-1;;;;;292:5201:129;;;;4894:21;;;;;292:5201;;192:59:23;;;;4894:21:129;;;;292:5201;4894:21;;292:5201;;4894:21;;;;;;;;;;;;;;;;;;292:5201;4925:14;;;1590::21;;;;;;;;;292:5201:129;;4952:8;292:5201;;;4973:11;292:5201;;4925:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;4925:60:129;;292:5201;4925:60;;292:5201;4881:2;292:5201;;;;;;;;4925:60;;;;;;;;;;;292:5201;;;;4973:11;292:5201;;4995:26;;;;;292:5201;;192:59:23;;;;4995:26:129;;292:5201;4995:26;;292:5201;4995:26;;;;;;;;;;;;;;;;;292:5201;1590:14:21;;;;;;;292:5201:129;;4952:8;292:5201;;5031:41;;;;;292:5201;;;;;;;192:59:23;;;;;;;;5031:41:129;;292:5201;5031:41;;292:5201;5031:41;;;;;;;;;;;292:5201;5082:14;;;;;;;292:5201;;-1:-1:-1;;;5082:14:129;;;292:5201;;;5082:14;;;;;;;;;;;;;292:5201;;;;4903:11;292:5201;;5107:21;;;;;292:5201;;5107:21;;;;292:5201;5107:21;;292:5201;5107:21;;;;;;;;;;;;;;;;;292:5201;1590:14:21;;;;;;;292:5201:129;;;;;;;;5138:47;;;;;292:5201;;;;;;;192:59:23;;;;;;;;5138:47:129;;292:5201;5138:47;;292:5201;1590:14:21;;;;;292:5201:129;1590:14:21;;292:5201:129;1590:14:21;;292:5201:129;5138:47;;;;;;;;;;;292:5201;1590:14:21;;;;;;;292:5201:129;;5214:47;292:5201;;;;;;;4952:8;292:5201;;;;;192:59:23;;;;;;;;5214:47:129;;;;292:5201;5214:47;;;:::i;:::-;;;;;;;;;;;;;;292:5201;1657:19:23;;;;;;292:5201:129;;-1:-1:-1;;;1657:19:23;;292:5201:129;;;;1657:19:23;;292:5201:129;1657:19:23;292:5201:129;1657:19:23;292:5201:129;1657:19:23;;;;;;;;;;;;292:5201:129;;;;4903:11;292:5201;;5304:21;;;;;292:5201;;5304:21;;;292:5201;5304:21;;292:5201;5304:21;;;;;;;;;;;;;;;;;292:5201;1590:14:21;;;;;;;292:5201:129;;;4952:8;292:5201;;5335:45;;;;;292:5201;;;;;;;192:59:23;;;;;;;;5335:45:129;;292:5201;5335:45;;292:5201;5376:3;292:5201;;;;5335:45;;;;;;;;;;;;292:5201;1590:14:21;;;;5404:47:129;1590:14:21;;;;292:5201:129;;;;;;;4952:8;292:5201;;;;;5404:47;;;;;;;;;292:5201;5404:47;;;:::i;:::-;;;;;;;;;;;;;;292:5201;1872:20:23;;;;;;;292:5201:129;;;;192:59:23;;;;;;;1872:20;;292:5201:129;;;1872:20:23;;292:5201:129;1872:20:23;;;;;;;;292:5201:129;;1872:20:23;;;;:::i;:::-;292:5201:129;;1872:20:23;292:5201:129;1872:20:23;292:5201:129;;;;5404:47;;;;;;;;;;;;;;;;:::i;:::-;;;292:5201;;;;;;;:::i;:::-;5404:47;;;;;;;;;5335:45;;;;;;;:::i;:::-;292:5201;;5335:45;;;;;;292:5201;;;;5335:45;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;5335:45:129;292:5201;;;5304:21;;;;:::i;:::-;292:5201;;5304:21;;;;1657:19:23;;;;:::i;:::-;292:5201:129;;1657:19:23;;;;292:5201:129;;;;1657:19:23;292:5201:129;;192:59:23;292:5201:129;;192:59:23;;;;5214:47:129;;;;;;;;;;;;;;;;:::i;:::-;;;292:5201;;;;;;;:::i;:::-;5214:47;;;;;;;;5138;;;;:::i;:::-;292:5201;;5138:47;;;;5107:21;;;;:::i;:::-;292:5201;;5107:21;;;;292:5201;;;;5107:21;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;5082:14:129;;;;:::i;:::-;292:5201;;5082:14;;;;5031:41;;;;:::i;:::-;292:5201;;5031:41;;;;4995:26;;;;:::i;:::-;292:5201;;4995:26;;;;4925:60;;;;:::i;:::-;292:5201;;4925:60;;;;4894:21;;;;:::i;:::-;292:5201;;4894:21;;;;;292:5201;;192:59:23;292:5201:129;;192:59:23;;;;292:5201:129;;;;;;;;;;;;;2707:18:27;292:5201:129;;;;:::i;:::-;;;;;;;:::i;:::-;;;;2707:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:5201:129;;;;;;;-1:-1:-1;292:5201:129;;;;;-1:-1:-1;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;292:5201:129;;;;;-1:-1:-1;292:5201:129;;;;;;;;;-1:-1:-1;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;2264:16;292:5201;;;-1:-1:-1;;;;;292:5201:129;-1:-1:-1;;;;;;;;;;;292:5201:129;;;2255:26;;;;;292:5201;;192:59:23;;;;2255:26:129;;292:5201;2255:26;;292:5201;2255:26;;292:5201;2255:26;;;;;;;;;;;;;;292:5201;2291:55;;;;;;;292:5201;;-1:-1:-1;;;2291:55:129;;-1:-1:-1;;;292:5201:129;2291:55;;292:5201;;;;;;;;;;;;2291:55;;;;;;;;;;;292:5201;1590:14:21;;;2356::129;1590::21;;;292:5201:129;;;;;2356:31;;;;;292:5201;;;;;;;192:59:23;;;;;;;;2356:31:129;;292:5201;2356:31;;292:5201;2356:31;;;;;;;;292:5201;;2356:31;292:5201;;;2291:55;;;;:::i;:::-;292:5201;;2291:55;;;;292:5201;;;2255:26;;;;:::i;:::-;292:5201;;2255:26;;;;292:5201;;;;;;;;;;;;;501:39;292:5201;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;2883:26:27;292:5201:129;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2883:26:27;292:5201:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;292:5201:129;192:59:23;292:5201:129;;;192:59:23;;;;;;292:5201:129;;;;;192:59:23;;;;;292:5201:129;;;;192:59:23;292:5201:129;;;192:59:23;;;;;292:5201:129;;;;192:59:23;;292:5201:129;;;;192:59:23;;292:5201:129;192:59:23;;292:5201:129;;;;192:59:23;;292:5201:129;192:59:23;;292:5201:129;;;;192:59:23;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;421:32;292:5201;;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;334:36;292:5201;;;;;;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;3038:18:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;546:44;292:5201;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;3331:16:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4363:11;292:5201;-1:-1:-1;;;;;292:5201:129;;;-1:-1:-1;;;;;;;;;;;292:5201:129;;;4354:21;;;;;292:5201;;192:59:23;;;4354:21:129;;;;292:5201;4354:21;;292:5201;4354:21;;292:5201;4354:21;;;;;;;;;;;;;;292:5201;1590:14:21;;;4385::129;1590::21;;;292:5201:129;;4412:8;292:5201;;;4433:11;292:5201;;4385:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;4385:60:129;;292:5201;4385:60;;292:5201;4306:2;292:5201;;;;;;;;4385:60;;;;;;;;;;;292:5201;;;;4433:11;292:5201;;4456:21;;;;;292:5201;;;;;;4456:21;;;;;;;292:5201;4456:21;;292:5201;4456:21;;;;;;;;1590:14:21;;4385::129;1590::21;;;292:5201:129;;4412:8;292:5201;;4487:54;;;;;292:5201;;;;;;;192:59:23;;;;;;;;4487:54:129;;292:5201;4487:54;;292:5201;4341:2;292:5201;;;;4487:54;;;;;;;;1590:14:21;;;4385::129;1590::21;;;292:5201:129;;;;4412:8;292:5201;;;;;192:59:23;;;;;;;4626:35:129;;292:5201;4626:35;;292:5201;4626:35;;;;;;;4787:11;4626:35;;;;;;;;4697:12;;;4743:5;4697:12;;:::i;4385:60::-;;;;:::i;:::-;292:5201;;4385:60;;;;4354:21;;;;:::i;:::-;292:5201;;4354:21;;;;292:5201;;;;;;;;;;;;;3485:19:27;292:5201:129;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3485:19:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;690:163;;;;;292:5201;690:163;292:5201;;690:163;;;292:5201;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:5201:129;;;;;;-1:-1:-1;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;292:5201:129;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:5201:129;;-1:-1:-1;292:5201:129;;;-1:-1:-1;;;292:5201:129;;;;;;192:59:23;292:5201:129;;;;;;;;;;;;;;;;;;;;;2043:16;292:5201;;;-1:-1:-1;;;;;292:5201:129;-1:-1:-1;;;;;;;;;;;292:5201:129;;;2034:26;;;;;292:5201;;192:59:23;;;;2034:26:129;;292:5201;2034:26;;292:5201;2034:26;;292:5201;2034:26;;;;;;;;;;;;;;292:5201;2070:55;;;;;;;292:5201;;-1:-1:-1;;;2070:55:129;;-1:-1:-1;;;292:5201:129;2070:55;;292:5201;;;;;;;;;;;;2070:55;;;;;;;;;;;292:5201;1590:14:21;;;2135::129;1590::21;;;292:5201:129;;;;;2135:47;;;;;292:5201;;1590:14:21;292:5201:129;;;;192:59:23;;;;;;;;2135:47:129;;292:5201;2135:47;;292:5201;;1590:14:21;292:5201:129;1590:14:21;;292:5201:129;1590:14:21;;;;;292:5201:129;2135:47;;;;;;;;292:5201;;2070:55;;;;:::i;:::-;292:5201;;2070:55;;;;2034:26;;;;:::i;:::-;292:5201;;2034:26;;;;292:5201;;;;;;;;;;;;;2513:11;292:5201;;;-1:-1:-1;;;;;292:5201:129;-1:-1:-1;;;;;;;;;;;292:5201:129;;;2504:21;;;;;292:5201;;192:59:23;;;;2504:21:129;;292:5201;2504:21;;292:5201;2504:21;;292:5201;2504:21;;;;;;;;;;;;;;292:5201;2535:51;;;;;;;292:5201;;;;;;192:59:23;;;;;;;2535:51:129;;292:5201;;2535:51;;292:5201;;;;;;;;;;;2535:51;;;;;;;;;;;292:5201;1590:14:21;;2596::129;1590::21;;;292:5201:129;2596:44;;;;;292:5201;;;;;;192:59:23;;;;;;;2596:44:129;;2491:1;292:5201;2596:44;;292:5201;2596:44;;;;;;;;292:5201;;2535:51;;;;:::i;:::-;292:5201;;2535:51;;;;2504:21;;;;:::i;:::-;292:5201;;2504:21;;;;292:5201;;;;;;;;;;;;;;;2563:16:27;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1069:11;292:5201;-1:-1:-1;;;;;292:5201:129;;;-1:-1:-1;;;;;;;;;;;292:5201:129;;;1060:21;;;;;292:5201;;;;;;;192:59:23;;;;;;;;1060:21:129;;292:5201;1060:21;;292:5201;1060:21;;;;;;;;292:5201;1590:14:21;;1091::129;1590::21;;;292:5201:129;;;;;1091:47;;;;;292:5201;;1590:14:21;292:5201:129;;;;192:59:23;;;;;;;;1091:47:129;;292:5201;1091:47;;292:5201;;1590:14:21;292:5201:129;1590:14:21;;292:5201:129;1590:14:21;;;;;292:5201:129;1091:47;;;;;;;;292:5201;1590:14:21;;292:5201:129;1590:14:21;1091::129;1590::21;;;292:5201:129;;;;;;;;192:59:23;;;;;;;1182:33:129;;292:5201;1182:33;;292:5201;1182:33;;;;;;;1314:24;1182:33;292:5201;1182:33;;;;;292:5201;;1252:18;292:5201;;;;1252:18;;:::i;:::-;1290:22;292:5201;1590:14:21;292:5201:129;1314:24;;:::i;1182:33::-;;;;292:5201;1182:33;292:5201;1182:33;;;;;;;:::i;:::-;;;;1091:47;;;;:::i;:::-;292:5201;;1091:47;;;;1060:21;;;;:::i;:::-;292:5201;;1060:21;;;;292:5201;;;;;;;;;;;;;;;-1:-1:-1;;;;;728:20:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;830:11;292:5201;;;-1:-1:-1;;;763:80:129;;;;-1:-1:-1;;;;;292:5201:129;;;763:80;;;;292:5201;;;;763:80;;292:5201;192:59:23;;;292:5201:129;;192:59:23;;;;;;;;;;292:5201:129;192:59:23;690:163:129;;;;;;292:5201;690:163;;;;;;;;;;;;;;;292:5201;;;;;;;;;;690:163;;292:5201;;;;:::i;:::-;690:163;;;;;;;;;864:56;292:5201;;-1:-1:-1;;;;;;292:5201:129;;;;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;:::i;:::-;967:3;292:5201;;763:80;985:15;946:56;;292:5201;967:3;763:80;292:5201;985:15;292:5201;;;;690:163;292:5201;;;192:59:23;;;;;;;;690:163:129;-1:-1:-1;;;192:59:23;;;292:5201:129;192:59:23;763:80:129;192:59:23;;;;;;292:5201:129;192:59:23;;292:5201:129;192:59:23;763:80:129;292:5201;192:59:23;728:20:129;-1:-1:-1;;;192:59:23;;;292:5201:129;192:59:23;;;;292:5201:129;;;;;;;;;;;;;3178:11;292:5201;-1:-1:-1;;;;;292:5201:129;-1:-1:-1;;;;;;;;;;;292:5201:129;;;3169:21;;;;;292:5201;;192:59:23;;;3169:21:129;;;;292:5201;3169:21;;292:5201;3169:21;;292:5201;3169:21;;;;;;;;;;;292:5201;1590:14:21;;;;;3200::129;1590::21;;;292:5201:129;;3227:8;292:5201;;;3248:11;292:5201;;3200:60;;;;;292:5201;;;;;;192:59:23;;;;;;;;3200:60:129;;292:5201;3200:60;;292:5201;3156:2;292:5201;;;;;;;;3200:60;;;;;;;;;;;292:5201;;;;3178:11;292:5201;;3271:21;;;;;292:5201;;;;;;3271:21;;;;;;;292:5201;3271:21;;292:5201;3271:21;;;;;;;;292:5201;1590:14:21;;3200::129;1590::21;;;292:5201:129;;3227:8;292:5201;;3302:39;;;;;292:5201;;;;;;;192:59:23;;;;;;;;3302:39:129;;292:5201;3302:39;;292:5201;3302:39;;;;;;;;292:5201;1590:14:21;;;3200::129;1590::21;;;292:5201:129;;;;3227:8;292:5201;;;;;192:59:23;;;;;;;3426:35:129;;292:5201;3426:35;;292:5201;3426:35;;;;;;;3576:11;3426:35;;;;;;;;292:5201;3471:28;;;3532:5;3471:28;;:::i;3426:35::-;3471:28;3426:35;;3532:5;3426:35;;;;;292:5201;3426:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;3426:35:129;;3302:39;;;;:::i;:::-;292:5201;;3302:39;;;;3271:21;;;;:::i;:::-;292:5201;;3271:21;;;;3200:60;;;;:::i;:::-;292:5201;;3200:60;;;;3169:21;;;;;;;;:::i;:::-;;;;;;292:5201;;;;;;;;;;;;;;;;596:32;292:5201;596:32;292:5201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;292:5201:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;192:59:23;-1:-1:-1;;;;;192:59:23;;;;728:20:129;192:59:23;:::o;:::-;292:5201:129;192:59:23;;;;;-1:-1:-1;;;;;192:59:23;;;;;292:5201:129;192:59:23;:::o;:::-;292:5201:129;;;;-1:-1:-1;;292:5201:129;192:59:23;;;-1:-1:-1;;;;;192:59:23;;;;;;;;728:20:129;192:59:23;:::o;1243:204::-;1302:7;292:5201:129;;;;;;;1325:14:23;:::o;1298:143::-;292:5201:129;;;192:59:23;;;1377:39;;;292:5201:129;192:59:23;292:5201:129;-1:-1:-1;;;;;;;;;;;1377:39:23;;;;292:5201:129;192:59:23;;;;;;292:5201:129;1377:39:23;;;;;;;-1:-1:-1;1377:39:23;;;1298:143;1377:53;;;1370:60;:::o;1377:39::-;;;;;;;;;;;;;;;;:::i;:::-;;;192:59;;;;;;1377:39;;;;;;-1:-1:-1;1377:39:23;;292:5201:129;-1:-1:-1;;;;;292:5201:129;;;;;;;;;:::o;1590:14:21:-;;;;;;;;;;;292:5201:129;;;;;:::i;:::-;1590:14:21;;;;;;;;;;;:::o;2270:110:23:-;-1:-1:-1;;;;;;;;;;;2349:24:23;;;;;;292:5201:129;;;;;192:59:23;;;;;;;2349:24;;;;;292:5201:129;;;;;;2349:24:23;;;;;;;;2270:110;:::o;2349:24::-;;;;:::i;:::-;2270:110::o;:::-;-1:-1:-1;;;;;;;;;;;2349:24:23;;;;;;;292:5201:129;;;;192:59:23;;;;;;;2349:24;;;;;292:5201:129;4341:2;292:5201;;;;2349:24:23;;;;;;;;2270:110;:::o;:::-;-1:-1:-1;;;;;;;;;;;2349:24:23;;;;;;292:5201:129;2349:24:23;292:5201:129;;;192:59:23;;;;;;;;2349:24;;;;;292:5201:129;;;;;2349:24:23;;;;;;;;2270:110;:::o;292:5201:129:-;;;-1:-1:-1;;;;;292:5201:129;;;;;;:::o;:::-;-1:-1:-1;;;;;292:5201:129;;;;;;;;;;;;;;:::o;3454:110:23:-;-1:-1:-1;;;;;;;;;;;3533:24:23;;;;;;292:5201:129;;-1:-1:-1;;;3533:24:23;;292:5201:129;3533:24:23;;292:5201:129;;;;;;3533:24:23;;;;;;:::i;:::-;;;;;;;;;;;3454:110;:::o;292:5201:129:-;;;;;;;;;;:::o;:::-;;;;;;;;;1590:14:21;;292:5201:129;;;;;;;;:::i;:::-;;;;:::i;:::-;;:::o;2026:104:23:-;-1:-1:-1;;;;;;;;;;;2099:24:23;;;;;;292:5201:129;;;;;192:59:23;;;;;;;2099:24;;292:5201:129;;2099:24:23;;;292:5201:129;;;;;;2099:24:23;;;;;;;;2026:104;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","councilSafe()":"6c53db9a","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","listManager()":"8df8b2fe","passportData()":"073a2d8c","passportScorer()":"4905e831","setUp()":"0a9254e4","strategy()":"a8c62e76","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAddStrategy()":"9693f128","testAddUserScore()":"0c2759da","testCanExecuteAction()":"8caa5c44","testChangeListManager()":"ebe69a5f","testModifyThresholdByAuthorized()":"e68393b4","testModifyThresholdByCouncilSafe()":"3668aa29","testOnlyAuthorizedCanAddUserScore()":"25821153","testOnlyAuthorizedCanRemoveUser()":"82fad478","testOnlyOwnerCanChangeListManager()":"24e40b97","testRemoveStrategy()":"0778c72c","testRemoveUser()":"d4dadecb","unauthorizedUser()":"3ea7771b","user()":"4f8632ba"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportScorer\",\"outputs\":[{\"internalType\":\"contract PassportScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCanExecuteAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByAuthorized\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyOwnerCanChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unauthorizedUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/PassportScorerTest.t.sol\":\"PassportScorerTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf\",\"dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac\",\"dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportData","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportScorer","outputs":[{"internalType":"contract PassportScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCanExecuteAction"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByAuthorized"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanRemoveUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyOwnerCanChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveUser"},{"inputs":[],"stateMutability":"view","type":"function","name":"unauthorizedUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"user","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/PassportScorerTest.t.sol":"PassportScorerTest"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b","urls":["bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf","dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b","urls":["bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac","dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":92917,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportScorer","offset":1,"slot":"30","type":"t_contract(PassportScorer)76826"},{"astId":92923,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"listManager","offset":0,"slot":"31","type":"t_address"},{"astId":92929,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"user","offset":0,"slot":"32","type":"t_address"},{"astId":92935,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"strategy","offset":0,"slot":"33","type":"t_address"},{"astId":92941,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"councilSafe","offset":0,"slot":"34","type":"t_address"},{"astId":92947,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"unauthorizedUser","offset":0,"slot":"35","type":"t_address"},{"astId":92950,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportData","offset":0,"slot":"36","type":"t_struct(PassportData)76248_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(PassportScorer)76826":{"encoding":"inplace","label":"contract PassportScorer","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(PassportData)76248_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":76245,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":76247,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/PassportScorerTest.t.sol","id":93526,"exportedSymbols":{"ERC1967Proxy":[55102],"ISybilScorer":[76330],"Initializable":[53233],"OwnableUpgradeable":[52984],"PassportData":[76248],"PassportScorer":[76826],"PassportScorerTest":[93525],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"Strategy":[76255],"Test":[17877],"TestBase":[5876],"UUPSUpgradeable":[55753],"Upgrades":[61257],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"46:5448:129","nodes":[{"id":92906,"nodeType":"PragmaDirective","src":"46:24:129","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":92907,"nodeType":"ImportDirective","src":"72:28:129","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":93526,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":92908,"nodeType":"ImportDirective","src":"101:35:129","nodes":[],"absolutePath":"pkg/contracts/src/PassportScorer.sol","file":"../src/PassportScorer.sol","nameLocation":"-1:-1:-1","scope":93526,"sourceUnit":76827,"symbolAliases":[],"unitAlias":""},{"id":92910,"nodeType":"ImportDirective","src":"138:66:129","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":93526,"sourceUnit":61378,"symbolAliases":[{"foreign":{"id":92909,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61257,"src":"146:8:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":92912,"nodeType":"ImportDirective","src":"206:84:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":93526,"sourceUnit":55103,"symbolAliases":[{"foreign":{"id":92911,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"214:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93525,"nodeType":"ContractDefinition","src":"292:5201:129","nodes":[{"id":92917,"nodeType":"VariableDeclaration","src":"334:36:129","nodes":[],"constant":false,"functionSelector":"4905e831","mutability":"mutable","name":"passportScorer","nameLocation":"356:14:129","scope":93525,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"},"typeName":{"id":92916,"nodeType":"UserDefinedTypeName","pathNode":{"id":92915,"name":"PassportScorer","nameLocations":["334:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":76826,"src":"334:14:129"},"referencedDeclaration":76826,"src":"334:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"visibility":"public"},{"id":92923,"nodeType":"VariableDeclaration","src":"376:39:129","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"391:11:129","scope":93525,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92918,"name":"address","nodeType":"ElementaryTypeName","src":"376:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"31","id":92921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"413:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":92920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"405:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92919,"name":"address","nodeType":"ElementaryTypeName","src":"405:7:129","typeDescriptions":{}}},"id":92922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"405:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92929,"nodeType":"VariableDeclaration","src":"421:32:129","nodes":[],"constant":false,"functionSelector":"4f8632ba","mutability":"mutable","name":"user","nameLocation":"436:4:129","scope":93525,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92924,"name":"address","nodeType":"ElementaryTypeName","src":"421:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"32","id":92927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"451:1:129","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":92926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"443:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92925,"name":"address","nodeType":"ElementaryTypeName","src":"443:7:129","typeDescriptions":{}}},"id":92928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"443:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92935,"nodeType":"VariableDeclaration","src":"459:36:129","nodes":[],"constant":false,"functionSelector":"a8c62e76","mutability":"mutable","name":"strategy","nameLocation":"474:8:129","scope":93525,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92930,"name":"address","nodeType":"ElementaryTypeName","src":"459:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"33","id":92933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"493:1:129","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":92932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92931,"name":"address","nodeType":"ElementaryTypeName","src":"485:7:129","typeDescriptions":{}}},"id":92934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92941,"nodeType":"VariableDeclaration","src":"501:39:129","nodes":[],"constant":false,"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"516:11:129","scope":93525,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92936,"name":"address","nodeType":"ElementaryTypeName","src":"501:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34","id":92939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"538:1:129","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":92938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"530:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92937,"name":"address","nodeType":"ElementaryTypeName","src":"530:7:129","typeDescriptions":{}}},"id":92940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"530:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92947,"nodeType":"VariableDeclaration","src":"546:44:129","nodes":[],"constant":false,"functionSelector":"3ea7771b","mutability":"mutable","name":"unauthorizedUser","nameLocation":"561:16:129","scope":93525,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92942,"name":"address","nodeType":"ElementaryTypeName","src":"546:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"35","id":92945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"588:1:129","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":92944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"580:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92943,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:129","typeDescriptions":{}}},"id":92946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":92950,"nodeType":"VariableDeclaration","src":"596:32:129","nodes":[],"constant":false,"functionSelector":"073a2d8c","mutability":"mutable","name":"passportData","nameLocation":"616:12:129","scope":93525,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData"},"typeName":{"id":92949,"nodeType":"UserDefinedTypeName","pathNode":{"id":92948,"name":"PassportData","nameLocations":["596:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":76248,"src":"596:12:129"},"referencedDeclaration":76248,"src":"596:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage_ptr","typeString":"struct PassportData"}},"visibility":"public"},{"id":92999,"nodeType":"FunctionDefinition","src":"635:374:129","nodes":[],"body":{"id":92998,"nodeType":"Block","src":"659:350:129","nodes":[],"statements":[{"assignments":[92955],"declarations":[{"constant":false,"id":92955,"mutability":"mutable","name":"proxy","nameLocation":"682:5:129","nodeType":"VariableDeclaration","scope":92998,"src":"669:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"},"typeName":{"id":92954,"nodeType":"UserDefinedTypeName","pathNode":{"id":92953,"name":"ERC1967Proxy","nameLocations":["669:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"669:12:129"},"referencedDeclaration":55102,"src":"669:12:129","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":92977,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":92963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"728:18:129","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_PassportScorer_$76826_$","typeString":"function () returns (contract PassportScorer)"},"typeName":{"id":92962,"nodeType":"UserDefinedTypeName","pathNode":{"id":92961,"name":"PassportScorer","nameLocations":["732:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":76826,"src":"732:14:129"},"referencedDeclaration":76826,"src":"732:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}}},"id":92964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}],"id":92960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"720:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92959,"name":"address","nodeType":"ElementaryTypeName","src":"720:7:129","typeDescriptions":{}}},"id":92965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"720:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":92968,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76826,"src":"786:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76826_$","typeString":"type(contract PassportScorer)"}},"id":92969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"801:10:129","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":76519,"src":"786:25:129","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function PassportScorer.initialize(address)"}},"id":92970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"812:8:129","memberName":"selector","nodeType":"MemberAccess","src":"786:34:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":92973,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"830:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":92972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"822:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92971,"name":"address","nodeType":"ElementaryTypeName","src":"822:7:129","typeDescriptions":{}}},"id":92974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"822:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"763:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"767:18:129","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"763:22:129","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":92975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"763:80:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"690:16:129","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55102_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":92957,"nodeType":"UserDefinedTypeName","pathNode":{"id":92956,"name":"ERC1967Proxy","nameLocations":["694:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"694:12:129"},"referencedDeclaration":55102,"src":"694:12:129","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}},"id":92976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"690:163:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"669:184:129"},{"expression":{"id":92988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":92978,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"864:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":92984,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92955,"src":"912:5:129","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}],"id":92983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"904:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92982,"name":"address","nodeType":"ElementaryTypeName","src":"904:7:129","typeDescriptions":{}}},"id":92985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"904:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":92981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"896:8:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":92980,"name":"address","nodeType":"ElementaryTypeName","src":"896:8:129","stateMutability":"payable","typeDescriptions":{}}},"id":92986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"896:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":92979,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76826,"src":"881:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76826_$","typeString":"type(contract PassportScorer)"}},"id":92987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"src":"864:56:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":92989,"nodeType":"ExpressionStatement","src":"864:56:129"},{"expression":{"id":92996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":92990,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92950,"src":"931:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"313030","id":92992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"967:3:129","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":92993,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"985:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":92994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"991:9:129","memberName":"timestamp","nodeType":"MemberAccess","src":"985:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92991,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76248,"src":"946:12:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PassportData_$76248_storage_ptr_$","typeString":"type(struct PassportData storage pointer)"}},"id":92995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["960:5:129","972:11:129"],"names":["score","lastUpdated"],"nodeType":"FunctionCall","src":"946:56:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"src":"931:71:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}},"id":92997,"nodeType":"ExpressionStatement","src":"931:71:129"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"644:5:129","parameters":{"id":92951,"nodeType":"ParameterList","parameters":[],"src":"649:2:129"},"returnParameters":{"id":92952,"nodeType":"ParameterList","parameters":[],"src":"659:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93038,"nodeType":"FunctionDefinition","src":"1015:331:129","nodes":[],"body":{"id":93037,"nodeType":"Block","src":"1050:296:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":93005,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"1069:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93002,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1060:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1063:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1060:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1060:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93007,"nodeType":"ExpressionStatement","src":"1060:21:129"},{"expression":{"arguments":[{"id":93011,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"1119:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93012,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92950,"src":"1125:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93008,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"1091:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1106:12:129","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76550,"src":"1091:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$76248_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1091:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93014,"nodeType":"ExpressionStatement","src":"1091:47:129"},{"assignments":[93017],"declarations":[{"constant":false,"id":93017,"mutability":"mutable","name":"storedData","nameLocation":"1169:10:129","nodeType":"VariableDeclaration","scope":93037,"src":"1149:30:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":93016,"nodeType":"UserDefinedTypeName","pathNode":{"id":93015,"name":"PassportData","nameLocations":["1149:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":76248,"src":"1149:12:129"},"referencedDeclaration":76248,"src":"1149:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":93022,"initialValue":{"arguments":[{"id":93020,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"1210:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93018,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"1182:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1197:12:129","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":76798,"src":"1182:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$76248_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":93021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1182:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1149:66:129"},{"expression":{"arguments":[{"expression":{"id":93024,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93017,"src":"1234:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"id":93025,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1245:5:129","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76245,"src":"1234:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":93026,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92950,"src":"1252:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}},"id":93027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1265:5:129","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76245,"src":"1252:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93023,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1225:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:46:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93029,"nodeType":"ExpressionStatement","src":"1225:46:129"},{"expression":{"arguments":[{"expression":{"id":93031,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93017,"src":"1290:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"id":93032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1301:11:129","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":76247,"src":"1290:22:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":93033,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92950,"src":"1314:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}},"id":93034,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1327:11:129","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":76247,"src":"1314:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93030,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1281:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1281:58:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93036,"nodeType":"ExpressionStatement","src":"1281:58:129"}]},"functionSelector":"0c2759da","implemented":true,"kind":"function","modifiers":[],"name":"testAddUserScore","nameLocation":"1024:16:129","parameters":{"id":93000,"nodeType":"ParameterList","parameters":[],"src":"1040:2:129"},"returnParameters":{"id":93001,"nodeType":"ParameterList","parameters":[],"src":"1050:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93087,"nodeType":"FunctionDefinition","src":"1352:362:129","nodes":[],"body":{"id":93086,"nodeType":"Block","src":"1385:329:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":93044,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"1404:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93041,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1395:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1398:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1395:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1395:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93046,"nodeType":"ExpressionStatement","src":"1395:21:129"},{"expression":{"arguments":[{"id":93050,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"1454:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93051,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92950,"src":"1460:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93047,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"1426:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1441:12:129","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76550,"src":"1426:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$76248_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1426:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93053,"nodeType":"ExpressionStatement","src":"1426:47:129"},{"expression":{"arguments":[{"id":93057,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"1493:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93054,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1484:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1487:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1484:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1484:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93059,"nodeType":"ExpressionStatement","src":"1484:21:129"},{"expression":{"arguments":[{"id":93063,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"1541:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93060,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"1515:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1530:10:129","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":76573,"src":"1515:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1515:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93065,"nodeType":"ExpressionStatement","src":"1515:31:129"},{"assignments":[93068],"declarations":[{"constant":false,"id":93068,"mutability":"mutable","name":"storedData","nameLocation":"1577:10:129","nodeType":"VariableDeclaration","scope":93086,"src":"1557:30:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":93067,"nodeType":"UserDefinedTypeName","pathNode":{"id":93066,"name":"PassportData","nameLocations":["1557:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":76248,"src":"1557:12:129"},"referencedDeclaration":76248,"src":"1557:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":93073,"initialValue":{"arguments":[{"id":93071,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"1618:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93069,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"1590:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1605:12:129","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":76798,"src":"1590:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$76248_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":93072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1557:66:129"},{"expression":{"arguments":[{"expression":{"id":93075,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93068,"src":"1642:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"id":93076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1653:5:129","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":76245,"src":"1642:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1660:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93074,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1633:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93079,"nodeType":"ExpressionStatement","src":"1633:29:129"},{"expression":{"arguments":[{"expression":{"id":93081,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93068,"src":"1681:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_memory_ptr","typeString":"struct PassportData memory"}},"id":93082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1692:11:129","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":76247,"src":"1681:22:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1705:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93080,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1672:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1672:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93085,"nodeType":"ExpressionStatement","src":"1672:35:129"}]},"functionSelector":"d4dadecb","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveUser","nameLocation":"1361:14:129","parameters":{"id":93039,"nodeType":"ParameterList","parameters":[],"src":"1375:2:129"},"returnParameters":{"id":93040,"nodeType":"ParameterList","parameters":[],"src":"1385:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93119,"nodeType":"FunctionDefinition","src":"1720:246:129","nodes":[],"body":{"id":93118,"nodeType":"Block","src":"1760:206:129","nodes":[],"statements":[{"assignments":[93091],"declarations":[{"constant":false,"id":93091,"mutability":"mutable","name":"newManager","nameLocation":"1778:10:129","nodeType":"VariableDeclaration","scope":93118,"src":"1770:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93090,"name":"address","nodeType":"ElementaryTypeName","src":"1770:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93096,"initialValue":{"arguments":[{"hexValue":"36","id":93094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:1:129","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":93093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1791:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93092,"name":"address","nodeType":"ElementaryTypeName","src":"1791:7:129","typeDescriptions":{}}},"id":93095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1770:31:129"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93100,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"1821:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1836:5:129","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":52907,"src":"1821:20:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":93102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1821:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93097,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1812:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1815:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1812:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1812:32:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93104,"nodeType":"ExpressionStatement","src":"1812:32:129"},{"expression":{"arguments":[{"id":93108,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93091,"src":"1887:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93105,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"1854:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1869:17:129","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":76600,"src":"1854:32:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1854:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93110,"nodeType":"ExpressionStatement","src":"1854:44:129"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93112,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"1918:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1933:11:129","memberName":"listManager","nodeType":"MemberAccess","referencedDeclaration":76352,"src":"1918:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":93114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93115,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93091,"src":"1948:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93111,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"1909:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1909:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93117,"nodeType":"ExpressionStatement","src":"1909:50:129"}]},"functionSelector":"ebe69a5f","implemented":true,"kind":"function","modifiers":[],"name":"testChangeListManager","nameLocation":"1729:21:129","parameters":{"id":93088,"nodeType":"ParameterList","parameters":[],"src":"1750:2:129"},"returnParameters":{"id":93089,"nodeType":"ParameterList","parameters":[],"src":"1760:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93144,"nodeType":"FunctionDefinition","src":"1972:217:129","nodes":[],"body":{"id":93143,"nodeType":"Block","src":"2024:165:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":93125,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92947,"src":"2043:16:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93122,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2034:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2037:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2034:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2034:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93127,"nodeType":"ExpressionStatement","src":"2034:26:129"},{"expression":{"arguments":[{"expression":{"expression":{"id":93131,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76826,"src":"2086:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76826_$","typeString":"type(contract PassportScorer)"}},"id":93132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2101:14:129","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":76406,"src":"2086:29:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":93133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:8:129","memberName":"selector","nodeType":"MemberAccess","src":"2086:38:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":93128,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2070:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2073:12:129","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21494,"src":"2070:15:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":93134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2070:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93135,"nodeType":"ExpressionStatement","src":"2070:55:129"},{"expression":{"arguments":[{"id":93139,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"2163:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93140,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92950,"src":"2169:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93136,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"2135:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2150:12:129","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76550,"src":"2135:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$76248_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93142,"nodeType":"ExpressionStatement","src":"2135:47:129"}]},"functionSelector":"25821153","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanAddUserScore","nameLocation":"1981:33:129","parameters":{"id":93120,"nodeType":"ParameterList","parameters":[],"src":"2014:2:129"},"returnParameters":{"id":93121,"nodeType":"ParameterList","parameters":[],"src":"2024:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93168,"nodeType":"FunctionDefinition","src":"2195:199:129","nodes":[],"body":{"id":93167,"nodeType":"Block","src":"2245:149:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":93150,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92947,"src":"2264:16:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93147,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2255:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2258:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2255:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2255:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93152,"nodeType":"ExpressionStatement","src":"2255:26:129"},{"expression":{"arguments":[{"expression":{"expression":{"id":93156,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76826,"src":"2307:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76826_$","typeString":"type(contract PassportScorer)"}},"id":93157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2322:14:129","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":76406,"src":"2307:29:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":93158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2337:8:129","memberName":"selector","nodeType":"MemberAccess","src":"2307:38:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":93153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2291:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2294:12:129","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21494,"src":"2291:15:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":93159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2291:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93160,"nodeType":"ExpressionStatement","src":"2291:55:129"},{"expression":{"arguments":[{"id":93164,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"2382:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93161,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"2356:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2371:10:129","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":76573,"src":"2356:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2356:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93166,"nodeType":"ExpressionStatement","src":"2356:31:129"}]},"functionSelector":"82fad478","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanRemoveUser","nameLocation":"2204:31:129","parameters":{"id":93145,"nodeType":"ParameterList","parameters":[],"src":"2235:2:129"},"returnParameters":{"id":93146,"nodeType":"ParameterList","parameters":[],"src":"2245:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93197,"nodeType":"FunctionDefinition","src":"2400:247:129","nodes":[],"body":{"id":93196,"nodeType":"Block","src":"2452:195:129","nodes":[],"statements":[{"assignments":[93172],"declarations":[{"constant":false,"id":93172,"mutability":"mutable","name":"newManager","nameLocation":"2470:10:129","nodeType":"VariableDeclaration","scope":93196,"src":"2462:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93171,"name":"address","nodeType":"ElementaryTypeName","src":"2462:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93177,"initialValue":{"arguments":[{"hexValue":"36","id":93175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2491:1:129","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":93174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2483:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93173,"name":"address","nodeType":"ElementaryTypeName","src":"2483:7:129","typeDescriptions":{}}},"id":93176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2483:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2462:31:129"},{"expression":{"arguments":[{"id":93181,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"2513:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93178,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2504:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2504:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2504:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93183,"nodeType":"ExpressionStatement","src":"2504:21:129"},{"expression":{"arguments":[{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":93187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2551:34:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"expression":{"id":93184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2535:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2538:12:129","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21500,"src":"2535:15:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":93188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2535:51:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93189,"nodeType":"ExpressionStatement","src":"2535:51:129"},{"expression":{"arguments":[{"id":93193,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93172,"src":"2629:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93190,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"2596:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2611:17:129","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":76600,"src":"2596:32:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2596:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93195,"nodeType":"ExpressionStatement","src":"2596:44:129"}]},"functionSelector":"24e40b97","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyOwnerCanChangeListManager","nameLocation":"2409:33:129","parameters":{"id":93169,"nodeType":"ParameterList","parameters":[],"src":"2442:2:129"},"returnParameters":{"id":93170,"nodeType":"ParameterList","parameters":[],"src":"2452:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93245,"nodeType":"FunctionDefinition","src":"2653:430:129","nodes":[],"body":{"id":93244,"nodeType":"Block","src":"2687:396:129","nodes":[],"statements":[{"assignments":[93201],"declarations":[{"constant":false,"id":93201,"mutability":"mutable","name":"threshold","nameLocation":"2705:9:129","nodeType":"VariableDeclaration","scope":93244,"src":"2697:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93200,"name":"uint256","nodeType":"ElementaryTypeName","src":"2697:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93203,"initialValue":{"hexValue":"3530","id":93202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2717:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"2697:22:129"},{"expression":{"arguments":[{"id":93207,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"2739:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93204,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2730:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2733:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2730:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93209,"nodeType":"ExpressionStatement","src":"2730:21:129"},{"expression":{"arguments":[{"id":93213,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"2788:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93214,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93201,"src":"2798:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93215,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"2809:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93210,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"2761:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2776:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76659,"src":"2761:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93217,"nodeType":"ExpressionStatement","src":"2761:60:129"},{"assignments":[93219,93221,93223],"declarations":[{"constant":false,"id":93219,"mutability":"mutable","name":"storedThreshold","nameLocation":"2841:15:129","nodeType":"VariableDeclaration","scope":93244,"src":"2833:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93218,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93221,"mutability":"mutable","name":"storedActive","nameLocation":"2863:12:129","nodeType":"VariableDeclaration","scope":93244,"src":"2858:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93220,"name":"bool","nodeType":"ElementaryTypeName","src":"2858:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93223,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"2885:17:129","nodeType":"VariableDeclaration","scope":93244,"src":"2877:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93222,"name":"address","nodeType":"ElementaryTypeName","src":"2877:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93228,"initialValue":{"arguments":[{"id":93226,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"2932:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93224,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"2906:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2921:10:129","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":76362,"src":"2906:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2906:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"2832:109:129"},{"expression":{"arguments":[{"id":93230,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93219,"src":"2960:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93231,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93201,"src":"2977:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93229,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"2951:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2951:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93233,"nodeType":"ExpressionStatement","src":"2951:36:129"},{"expression":{"arguments":[{"id":93235,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93221,"src":"3006:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3020:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93234,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"2997:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93238,"nodeType":"ExpressionStatement","src":"2997:29:129"},{"expression":{"arguments":[{"id":93240,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93223,"src":"3045:17:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93241,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"3064:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93239,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"3036:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3036:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93243,"nodeType":"ExpressionStatement","src":"3036:40:129"}]},"functionSelector":"9693f128","implemented":true,"kind":"function","modifiers":[],"name":"testAddStrategy","nameLocation":"2662:15:129","parameters":{"id":93198,"nodeType":"ParameterList","parameters":[],"src":"2677:2:129"},"returnParameters":{"id":93199,"nodeType":"ParameterList","parameters":[],"src":"2687:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93305,"nodeType":"FunctionDefinition","src":"3089:544:129","nodes":[],"body":{"id":93304,"nodeType":"Block","src":"3126:507:129","nodes":[],"statements":[{"assignments":[93249],"declarations":[{"constant":false,"id":93249,"mutability":"mutable","name":"threshold","nameLocation":"3144:9:129","nodeType":"VariableDeclaration","scope":93304,"src":"3136:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93248,"name":"uint256","nodeType":"ElementaryTypeName","src":"3136:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93251,"initialValue":{"hexValue":"3530","id":93250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3156:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3136:22:129"},{"expression":{"arguments":[{"id":93255,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"3178:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93252,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3169:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3172:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3169:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3169:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93257,"nodeType":"ExpressionStatement","src":"3169:21:129"},{"expression":{"arguments":[{"id":93261,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"3227:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93262,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93249,"src":"3237:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93263,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"3248:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93258,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"3200:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3215:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76659,"src":"3200:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3200:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93265,"nodeType":"ExpressionStatement","src":"3200:60:129"},{"expression":{"arguments":[{"id":93269,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"3280:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93266,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3271:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3274:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3271:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3271:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93271,"nodeType":"ExpressionStatement","src":"3271:21:129"},{"expression":{"arguments":[{"id":93275,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"3332:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93272,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"3302:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3317:14:129","memberName":"removeStrategy","nodeType":"MemberAccess","referencedDeclaration":76692,"src":"3302:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93277,"nodeType":"ExpressionStatement","src":"3302:39:129"},{"assignments":[93279,93281,93283],"declarations":[{"constant":false,"id":93279,"mutability":"mutable","name":"storedThreshold","nameLocation":"3361:15:129","nodeType":"VariableDeclaration","scope":93304,"src":"3353:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93278,"name":"uint256","nodeType":"ElementaryTypeName","src":"3353:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93281,"mutability":"mutable","name":"storedActive","nameLocation":"3383:12:129","nodeType":"VariableDeclaration","scope":93304,"src":"3378:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93280,"name":"bool","nodeType":"ElementaryTypeName","src":"3378:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93283,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"3405:17:129","nodeType":"VariableDeclaration","scope":93304,"src":"3397:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93282,"name":"address","nodeType":"ElementaryTypeName","src":"3397:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93288,"initialValue":{"arguments":[{"id":93286,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"3452:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93284,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"3426:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3441:10:129","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":76362,"src":"3426:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3426:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3352:109:129"},{"expression":{"arguments":[{"id":93290,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93279,"src":"3480:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3497:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93289,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"3471:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3471:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93293,"nodeType":"ExpressionStatement","src":"3471:28:129"},{"expression":{"arguments":[{"id":93295,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93281,"src":"3518:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3532:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93294,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"3509:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93298,"nodeType":"ExpressionStatement","src":"3509:29:129"},{"expression":{"arguments":[{"id":93300,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93283,"src":"3557:17:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93301,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"3576:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93299,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"3548:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3548:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93303,"nodeType":"ExpressionStatement","src":"3548:40:129"}]},"functionSelector":"0778c72c","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveStrategy","nameLocation":"3098:18:129","parameters":{"id":93246,"nodeType":"ParameterList","parameters":[],"src":"3116:2:129"},"returnParameters":{"id":93247,"nodeType":"ParameterList","parameters":[],"src":"3126:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93370,"nodeType":"FunctionDefinition","src":"3639:580:129","nodes":[],"body":{"id":93369,"nodeType":"Block","src":"3689:530:129","nodes":[],"statements":[{"assignments":[93309],"declarations":[{"constant":false,"id":93309,"mutability":"mutable","name":"threshold","nameLocation":"3707:9:129","nodeType":"VariableDeclaration","scope":93369,"src":"3699:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93308,"name":"uint256","nodeType":"ElementaryTypeName","src":"3699:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93311,"initialValue":{"hexValue":"3530","id":93310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3719:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3699:22:129"},{"assignments":[93313],"declarations":[{"constant":false,"id":93313,"mutability":"mutable","name":"newThreshold","nameLocation":"3739:12:129","nodeType":"VariableDeclaration","scope":93369,"src":"3731:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93312,"name":"uint256","nodeType":"ElementaryTypeName","src":"3731:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93315,"initialValue":{"hexValue":"3735","id":93314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:2:129","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"3731:25:129"},{"expression":{"arguments":[{"id":93319,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"3776:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93316,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3767:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3770:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3767:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3767:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93321,"nodeType":"ExpressionStatement","src":"3767:21:129"},{"expression":{"arguments":[{"id":93325,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"3825:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93326,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93309,"src":"3835:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93327,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"3846:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93322,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"3798:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3813:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76659,"src":"3798:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3798:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93329,"nodeType":"ExpressionStatement","src":"3798:60:129"},{"expression":{"arguments":[{"id":93333,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"3878:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93330,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3869:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3872:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3869:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3869:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93335,"nodeType":"ExpressionStatement","src":"3869:21:129"},{"expression":{"arguments":[{"id":93339,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"3931:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93340,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93313,"src":"3941:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93336,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"3900:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3915:15:129","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":76745,"src":"3900:30:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3900:54:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93342,"nodeType":"ExpressionStatement","src":"3900:54:129"},{"assignments":[93344,93346,93348],"declarations":[{"constant":false,"id":93344,"mutability":"mutable","name":"storedThreshold","nameLocation":"3974:15:129","nodeType":"VariableDeclaration","scope":93369,"src":"3966:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93343,"name":"uint256","nodeType":"ElementaryTypeName","src":"3966:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93346,"mutability":"mutable","name":"storedActive","nameLocation":"3996:12:129","nodeType":"VariableDeclaration","scope":93369,"src":"3991:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93345,"name":"bool","nodeType":"ElementaryTypeName","src":"3991:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93348,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4018:17:129","nodeType":"VariableDeclaration","scope":93369,"src":"4010:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93347,"name":"address","nodeType":"ElementaryTypeName","src":"4010:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93353,"initialValue":{"arguments":[{"id":93351,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"4065:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93349,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"4039:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4054:10:129","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":76362,"src":"4039:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4039:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3965:109:129"},{"expression":{"arguments":[{"id":93355,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93344,"src":"4093:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93356,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93313,"src":"4110:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93354,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"4084:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93358,"nodeType":"ExpressionStatement","src":"4084:39:129"},{"expression":{"arguments":[{"id":93360,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93346,"src":"4142:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4156:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93359,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"4133:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4133:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93363,"nodeType":"ExpressionStatement","src":"4133:29:129"},{"expression":{"arguments":[{"id":93365,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93348,"src":"4181:17:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93366,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"4200:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93364,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"4172:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93368,"nodeType":"ExpressionStatement","src":"4172:40:129"}]},"functionSelector":"e68393b4","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByAuthorized","nameLocation":"3648:31:129","parameters":{"id":93306,"nodeType":"ParameterList","parameters":[],"src":"3679:2:129"},"returnParameters":{"id":93307,"nodeType":"ParameterList","parameters":[],"src":"3689:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93435,"nodeType":"FunctionDefinition","src":"4225:581:129","nodes":[],"body":{"id":93434,"nodeType":"Block","src":"4276:530:129","nodes":[],"statements":[{"assignments":[93374],"declarations":[{"constant":false,"id":93374,"mutability":"mutable","name":"threshold","nameLocation":"4294:9:129","nodeType":"VariableDeclaration","scope":93434,"src":"4286:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93373,"name":"uint256","nodeType":"ElementaryTypeName","src":"4286:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93376,"initialValue":{"hexValue":"3530","id":93375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4306:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4286:22:129"},{"assignments":[93378],"declarations":[{"constant":false,"id":93378,"mutability":"mutable","name":"newThreshold","nameLocation":"4326:12:129","nodeType":"VariableDeclaration","scope":93434,"src":"4318:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93377,"name":"uint256","nodeType":"ElementaryTypeName","src":"4318:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93380,"initialValue":{"hexValue":"3735","id":93379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4341:2:129","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"4318:25:129"},{"expression":{"arguments":[{"id":93384,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"4363:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93381,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4354:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4357:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"4354:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93386,"nodeType":"ExpressionStatement","src":"4354:21:129"},{"expression":{"arguments":[{"id":93390,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"4412:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93391,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93374,"src":"4422:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93392,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"4433:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93387,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"4385:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4400:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76659,"src":"4385:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93394,"nodeType":"ExpressionStatement","src":"4385:60:129"},{"expression":{"arguments":[{"id":93398,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"4465:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93395,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4456:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4459:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"4456:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4456:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93400,"nodeType":"ExpressionStatement","src":"4456:21:129"},{"expression":{"arguments":[{"id":93404,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"4518:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93405,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93378,"src":"4528:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93401,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"4487:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4502:15:129","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":76745,"src":"4487:30:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4487:54:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93407,"nodeType":"ExpressionStatement","src":"4487:54:129"},{"assignments":[93409,93411,93413],"declarations":[{"constant":false,"id":93409,"mutability":"mutable","name":"storedThreshold","nameLocation":"4561:15:129","nodeType":"VariableDeclaration","scope":93434,"src":"4553:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93408,"name":"uint256","nodeType":"ElementaryTypeName","src":"4553:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93411,"mutability":"mutable","name":"storedActive","nameLocation":"4583:12:129","nodeType":"VariableDeclaration","scope":93434,"src":"4578:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93410,"name":"bool","nodeType":"ElementaryTypeName","src":"4578:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93413,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4605:17:129","nodeType":"VariableDeclaration","scope":93434,"src":"4597:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93412,"name":"address","nodeType":"ElementaryTypeName","src":"4597:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93418,"initialValue":{"arguments":[{"id":93416,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"4652:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93414,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"4626:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4641:10:129","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":76362,"src":"4626:25:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4626:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"4552:109:129"},{"expression":{"arguments":[{"id":93420,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93409,"src":"4680:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93421,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93378,"src":"4697:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93419,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"4671:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4671:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93423,"nodeType":"ExpressionStatement","src":"4671:39:129"},{"expression":{"arguments":[{"id":93425,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93411,"src":"4729:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4743:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93424,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"4720:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93428,"nodeType":"ExpressionStatement","src":"4720:29:129"},{"expression":{"arguments":[{"id":93430,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93413,"src":"4768:17:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93431,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"4787:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93429,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"4759:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4759:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93433,"nodeType":"ExpressionStatement","src":"4759:40:129"}]},"functionSelector":"3668aa29","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByCouncilSafe","nameLocation":"4234:32:129","parameters":{"id":93371,"nodeType":"ParameterList","parameters":[],"src":"4266:2:129"},"returnParameters":{"id":93372,"nodeType":"ParameterList","parameters":[],"src":"4276:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93524,"nodeType":"FunctionDefinition","src":"4812:679:129","nodes":[],"body":{"id":93523,"nodeType":"Block","src":"4851:640:129","nodes":[],"statements":[{"assignments":[93439],"declarations":[{"constant":false,"id":93439,"mutability":"mutable","name":"threshold","nameLocation":"4869:9:129","nodeType":"VariableDeclaration","scope":93523,"src":"4861:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93438,"name":"uint256","nodeType":"ElementaryTypeName","src":"4861:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93441,"initialValue":{"hexValue":"3530","id":93440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4881:2:129","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4861:22:129"},{"expression":{"arguments":[{"id":93445,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"4903:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93442,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4894:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4897:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"4894:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93447,"nodeType":"ExpressionStatement","src":"4894:21:129"},{"expression":{"arguments":[{"id":93451,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"4952:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93452,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93439,"src":"4962:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93453,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"4973:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93448,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"4925:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4940:11:129","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76659,"src":"4925:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4925:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93455,"nodeType":"ExpressionStatement","src":"4925:60:129"},{"expression":{"arguments":[{"id":93459,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92941,"src":"5009:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93456,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4995:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4998:10:129","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21308,"src":"4995:13:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4995:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93461,"nodeType":"ExpressionStatement","src":"4995:26:129"},{"expression":{"arguments":[{"id":93465,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"5063:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93462,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"5031:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5046:16:129","memberName":"activateStrategy","nodeType":"MemberAccess","referencedDeclaration":76717,"src":"5031:31:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5031:41:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93467,"nodeType":"ExpressionStatement","src":"5031:41:129"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93468,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5082:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5085:9:129","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"5082:12:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5082:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93472,"nodeType":"ExpressionStatement","src":"5082:14:129"},{"expression":{"arguments":[{"id":93476,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"5116:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93473,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5107:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5110:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"5107:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5107:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93478,"nodeType":"ExpressionStatement","src":"5107:21:129"},{"expression":{"arguments":[{"id":93482,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"5166:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93483,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92950,"src":"5172:12:129","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$76248_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93479,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"5138:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5153:12:129","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76550,"src":"5138:27:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$76248_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93485,"nodeType":"ExpressionStatement","src":"5138:47:129"},{"assignments":[93487],"declarations":[{"constant":false,"id":93487,"mutability":"mutable","name":"canExecute","nameLocation":"5201:10:129","nodeType":"VariableDeclaration","scope":93523,"src":"5196:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93486,"name":"bool","nodeType":"ElementaryTypeName","src":"5196:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":93493,"initialValue":{"arguments":[{"id":93490,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"5246:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93491,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"5252:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93488,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"5214:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5229:16:129","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76784,"src":"5214:31:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":93492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5214:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5196:65:129"},{"expression":{"arguments":[{"id":93495,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93487,"src":"5282:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93494,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[6137,6152],"referencedDeclaration":6137,"src":"5271:10:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":93496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5271:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93497,"nodeType":"ExpressionStatement","src":"5271:22:129"},{"expression":{"arguments":[{"id":93501,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92923,"src":"5313:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93498,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5304:2:129","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5307:5:129","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"5304:8:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5304:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93503,"nodeType":"ExpressionStatement","src":"5304:21:129"},{"expression":{"arguments":[{"id":93507,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"5366:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313530","id":93508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5376:3:129","typeDescriptions":{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},"value":"150"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"}],"expression":{"id":93504,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"5335:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5350:15:129","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":76745,"src":"5335:30:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5335:45:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93510,"nodeType":"ExpressionStatement","src":"5335:45:129"},{"expression":{"id":93517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93511,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93487,"src":"5391:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":93514,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92929,"src":"5436:4:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93515,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92935,"src":"5442:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93512,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92917,"src":"5404:14:129","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76826","typeString":"contract PassportScorer"}},"id":93513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5419:16:129","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76784,"src":"5404:31:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":93516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5391:60:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":93518,"nodeType":"ExpressionStatement","src":"5391:60:129"},{"expression":{"arguments":[{"id":93520,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93487,"src":"5473:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93519,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6164,6179],"referencedDeclaration":6164,"src":"5461:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":93521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5461:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93522,"nodeType":"ExpressionStatement","src":"5461:23:129"}]},"functionSelector":"8caa5c44","implemented":true,"kind":"function","modifiers":[],"name":"testCanExecuteAction","nameLocation":"4821:20:129","parameters":{"id":93436,"nodeType":"ParameterList","parameters":[],"src":"4841:2:129"},"returnParameters":{"id":93437,"nodeType":"ParameterList","parameters":[],"src":"4851:0:129"},"scope":93525,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":92913,"name":"Test","nameLocations":["323:4:129"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"323:4:129"},"id":92914,"nodeType":"InheritanceSpecifier","src":"323:4:129"}],"canonicalName":"PassportScorerTest","contractDependencies":[55102,76826],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[93525,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"PassportScorerTest","nameLocation":"301:18:129","scope":93526,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":129}
\ No newline at end of file
diff --git a/pkg/contracts/out/Registry.sol/Registry.json b/pkg/contracts/out/Registry.sol/Registry.json
index 17add0098..bc70bb61e 100644
--- a/pkg/contracts/out/Registry.sol/Registry.json
+++ b/pkg/contracts/out/Registry.sol/Registry.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"ALLO_OWNER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"anchorToProfileId","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"profileIdToPendingOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profilesById","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657612849908161001c8239f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c80630114cf0a146200162057806301ffc9a714620015c55780630ec1fbac1462001599578063248a9ca314620015685780632497f3c614620014bd57806324ae6a27146200118b5780632f2ff15d146200114457806336568abe14620010ab57806339b86b8c14620010755780633a92f65f1462000b165780633b66dacd1462000a965780634756487f1462000a585780635063f36114620009f957806350d005e014620009c35780635e8a7915146200096c57806391d14854146200091b578063a0cf0aea14620008ea578063a217fddf14620008cc578063ac402839146200071b578063c4d66de8146200059e578063cf189ff21462000383578063cfda7e0a1462000357578063d547741f146200030e578063dd93da431462000252578063e0cf1e4c14620001fb5763ee888196146200015557600080fd5b34620001f6576020366003190112620001f6576004356000526098602052604060002080546001820154916200018e60028201620019d8565b620001e7620001a06003840162001a8a565b620001d860018060a01b0360068160058801541696015416936040519788978852602088015260c0604088015260c0870190620016e8565b9085820360608701526200170f565b91608084015260a08301520390f35b600080fd5b34620001f6576200020c3662001968565b620002178262001b0e565b80519060005b8281106200022757005b6001906200024b6001600160a01b0362000242838662001af9565b51168662001f8e565b016200021d565b34620001f6576020366003190112620001f6576200030a62000273620017b2565b6200027d62001aae565b5060018060a01b0380911660005260976020526040600020546000526098602052604060002090600660405192620002b584620017c9565b8054845260018101546020850152620002d160028201620019d8565b6040850152620002e46003820162001a8a565b606085015282600582015416608085015201541660a08201526040519182918262001731565b0390f35b34620001f6576040366003190112620001f65762000355600435620003326200179b565b908060005260656020526200034f60016040600020015462001d6c565b62001f8e565b005b34620001f6576000366003190112620001f6576020604051600080516020620027d48339815191528152f35b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620003bc90369060040162001841565b90620003c88162001b0e565b620003d4828262001b3c565b9181600052602093609885526040600020906002820190835190811162000588576200040182546200199b565b601f81116200053d575b5086601f8211600114620004bb5792600080516020620027b48339815191529492826006936200049f96600091620004af575b508160011b916000199060031b1c19161790555b019460018060a01b039081875416600052609788526000604081205516948560018060a01b03198254161790558460005283604060002055604051918291604083526040830190620016e8565b85878301520390a2604051908152f35b90508501518b6200043e565b601f1982169083600052886000209160005b8a82821062000526575050836200049f9693600080516020620027b4833981519152989693600696600194106200050c575b5050811b01905562000452565b87015160001960f88460031b161c191690558b80620004ff565b600184958293958b015181550194019201620004cd565b8260005287600020601f830160051c8101918984106200057d575b601f0160051c01905b8181106200057057506200040b565b6000815560010162000561565b909150819062000558565b634e487b7160e01b600052604160045260246000fd5b34620001f657602080600319360112620001f657620005bc620017b2565b60005460ff8160081c1615806200070d575b15620006b15761ffff1916610101176000556001600160a01b03169081156200069f577f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891600080516020620027d4833981519152908160005260658352604060002081600052835260ff60406000205416156200065e575b505061ff00196000541660005560405160018152a1005b816000526065835260406000208160005283526040600020600160ff19825416179055339160008051602062002774833981519152600080a4828062000647565b60405163538ba4f960e01b8152600490fd5b60405162461bcd60e51b815260048101849052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600160ff821610620005ce565b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620007549036906004016200189c565b6200075f8262001b0e565b8160005260206098815260046040600020835160038201550181830151805195861162000588576200079282546200199b565b601f811162000881575b508290601f87116001146200080557958091600080516020620027f48339815191529697600092620007f9575b50508160011b916000199060031b1c19161790555b620007f46040519282849384528301906200170f565b0390a2005b015190508780620007c9565b90601f1987169183600052846000209260005b818110620008695750916001939189600080516020620027f4833981519152999a94106200084f575b505050811b019055620007de565b015160001960f88460031b161c1916905587808062000841565b92938660018192878601518155019501930162000818565b8260005283600020601f880160051c810191858910620008c1575b601f0160051c01905b818110620008b457506200079c565b60008155600101620008a5565b90915081906200089c565b34620001f6576000366003190112620001f657602060405160008152f35b34620001f6576000366003190112620001f657602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620001f6576040366003190112620001f657620009386200179b565b600435600052606560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34620001f6576040366003190112620001f65760206004356200098e6200179b565b6200099a818362001d21565b918215620009af575b50506040519015158152f35b620009bb925062001d44565b8280620009a3565b34620001f6576020366003190112620001f6576004356000526099602052602060018060a01b0360406000205416604051908152f35b34620001f65762000a0a3662001968565b62000a158262001b0e565b80519060005b82811062000a2557005b6001600160a01b0362000a39828462001af9565b51169081156200069f5762000a516001928662001f24565b0162000a1b565b34620001f6576020366003190112620001f6576001600160a01b0362000a7d620017b2565b1660005260976020526020604060002054604051908152f35b34620001f6576040366003190112620001f6576004357f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8602062000ad96200179b565b62000ae48462001b0e565b60008481526099835260409081902080546001600160a01b0319166001600160a01b03909316928317905551908152a2005b34620001f65760a0366003190112620001f6576004356024356001600160401b038111620001f65762000b4e90369060040162001841565b906044356001600160401b038111620001f65762000b719036906004016200189c565b91606435906001600160a01b0382168203620001f6576084356001600160401b038111620001f65762000ba9903690600401620018ea565b6040805160208101868152606086811b6001600160601b03191693830193909352603482529181019692939291906001600160401b038811818910176200058857876040525190209586600052609860205260018060a01b03600660406000200154166200106657506001600160a01b038416156200069f5762000c2e828762001b3c565b916040519562000c3e87620017c9565b8787526020808801918252604080890193845260608901949094526001600160a01b0387811660808a01529490941660a08801526000888152609890945291909220855181559051600182015590518051906001600160401b0382116200058857819062000cb060028501546200199b565b601f81116200100e575b50602090601f831160011462000f975760009262000f8b575b50508160011b916000199060031b1c19161760028201555b606084015180516003830155602001518051906001600160401b0382116200058857819062000d1e60048501546200199b565b601f811162000f33575b50602090601f831160011462000ec15760009262000eb5575b50508160011b916000199060031b1c19161760048201555b60808401516005820180546001600160a01b039283166001600160a01b03199182161790915560a086015160069093018054939092169216821790556000908152609760205260409020849055805191821515908162000ea0575b5062000e8e5760005b82811062000e5b57602085807f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b806098784810151604082015191606081015162000e4560018060a01b036080840151169260a0600180821b03910151169162000e36604051968796875260a08c88015260a0870190620016e8565b9085820360408701526200170f565b91606084015260808301520390a2604051908152f35b6001600160a01b0362000e6f828462001af9565b51169081156200069f5762000e876001928762001f24565b0162000dbd565b60405163075fd2b160e01b8152600490fd5b6001600160a01b031633141590508562000db4565b01519050878062000d41565b600485016000908152602081209350601f198516905b81811062000f1a575090846001959493921062000f00575b505050811b01600482015562000d59565b015160001960f88460031b161c1916905587808062000eef565b9293602060018192878601518155019501930162000ed7565b909150600484016000526020600020601f840160051c81016020851062000f83575b90849392915b601f830160051c8201811062000f7357505062000d28565b6000815585945060010162000f5b565b508062000f55565b01519050878062000cd3565b9250600284016000526020600020906000935b601f198416851062000ff2576001945083601f1981161062000fd8575b505050811b01600282015562000ceb565b015160001960f88460031b161c1916905587808062000fc7565b8181015183556020948501946001909301929091019062000faa565b909150600284016000526020600020601f840160051c8101602085106200105e575b90849392915b601f830160051c820181106200104e57505062000cba565b6000815585945060010162001036565b508062001030565b630527e05960e41b8152600490fd5b34620001f6576040366003190112620001f6576020620010a1620010986200179b565b60043562001d21565b6040519015158152f35b34620001f6576040366003190112620001f657620010c86200179b565b336001600160a01b03821603620010e757620003559060043562001f8e565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620001f6576040366003190112620001f65762000355600435620011686200179b565b908060005260656020526200118560016040600020015462001d6c565b62001f24565b34620001f6576040366003190112620001f657620011a8620017b2565b620011b26200179b565b3360009081527f4b3829d867e62b811a7a862bbf8afb7a8eb18e86c071c1039bdebff5606d62536020908152604090912054600080516020620027d48339815191529060ff16156200131357506001600160a01b03828116156200069f5783169273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84149382856000146200129e57505047935b1562001261575050600080809381935af1156200125357005b63b12d13eb6000526004601cfd5b600060109160449395829560145260345263a9059cbb60601b82525af13d156001600051141716156200129057005b6390b8ec186000526004601cfd5b6040516370a0823160e01b815230600482015291829060249082905afa9081156200130757600091620012d4575b50936200123a565b90508281813d8311620012ff575b620012ee81836200181d565b81010312620001f6575185620012cc565b503d620012e2565b6040513d6000823e3d90fd5b906200131f3362002017565b916040516200132e8162001801565b60428152828101916060368437815115620014a757603083538151600190811015620014a757607860218401536041905b808211620014485750506200141657620013df93620013ef9260489260405196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b88860152620013b5815180928a603789019101620016c3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190620016c3565b010360288101855201836200181d565b6200141260405192839262461bcd60e51b845260048401526024830190620016e8565b0390fd5b6064836040519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b9091600f81166010811015620014a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200147a848662002005565b5360041c918015620014915760001901906200135f565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b34620001f6576020366003190112620001f6576004358060005260986020526040600020609960205260018060a01b039081604060002054169182330362001556577ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d926005602093019060018060a01b03199081835416178255856000526099845260406000209081541690555416604051908152a2005b604051630b4d48c160e41b8152600490fd5b34620001f6576020366003190112620001f65760043560005260656020526020600160406000200154604051908152f35b34620001f6576040366003190112620001f6576020620010a1620015bc6200179b565b60043562001d44565b34620001f6576020366003190112620001f65760043563ffffffff60e01b8116809103620001f657602090637965db0b60e01b81149081156200160e575b506040519015158152f35b6301ffc9a760e01b1490508262001603565b34620001f6576020366003190112620001f6576200163d62001aae565b5060043560005260986020526200030a6040600020604051906200166182620017c9565b80548252600181015460208301526200167d60028201620019d8565b6040830152620016906003820162001a8a565b606083015260058101546001600160a01b0390811660808401526006909101541660a08201526040519182918262001731565b60005b838110620016d75750506000910152565b8181015183820152602001620016c6565b906020916200170381518092818552858086019101620016c3565b601f01601f1916010190565b90604060206200172e93805184520151918160208201520190620016e8565b90565b60208152815160208201526020820151604082015260c06200177d62001766604085015183606086015260e0850190620016e8565b6060850151848203601f190160808601526200170f565b9260a0600180821b0391826080820151168286015201511691015290565b602435906001600160a01b0382168203620001f657565b600435906001600160a01b0382168203620001f657565b60c081019081106001600160401b038211176200058857604052565b604081019081106001600160401b038211176200058857604052565b608081019081106001600160401b038211176200058857604052565b601f909101601f19168101906001600160401b038211908210176200058857604052565b81601f82011215620001f6578035906001600160401b03821162000588576040519262001879601f8401601f1916602001856200181d565b82845260208383010111620001f657816000926020809301838601378301015290565b9190604083820312620001f65760405190620018b882620017e5565b8335825290928391602082013591906001600160401b038311620001f657602092620018e5920162001841565b910152565b9080601f83011215620001f6578135906001600160401b03821162000588578160051b6040519360209362001922858401876200181d565b85528380860192820101928311620001f6578301905b82821062001947575050505090565b81356001600160a01b0381168103620001f657815290830190830162001938565b906040600319830112620001f65760043591602435906001600160401b038211620001f6576200172e91600401620018ea565b90600182811c92168015620019cd575b6020831014620019b757565b634e487b7160e01b600052602260045260246000fd5b91607f1691620019ab565b9060405191826000825492620019ee846200199b565b90818452600194858116908160001462001a65575060011462001a1e575b505062001a1c925003836200181d565b565b9093915060005260209081600020936000915b81831062001a4c57505062001a1c9350820101388062001a0c565b8554888401850152948501948794509183019162001a31565b91505062001a1c94506020925060ff191682840152151560051b820101388062001a0c565b9060405162001a9981620017e5565b6020620018e5600183958054855201620019d8565b6040519062001abd82620017c9565b600060a0838281528260208201526060604082015260405162001ae081620017e5565b8381526060602082015260608201528260808201520152565b8051821015620014a75760209160051b010190565b62001b1b90339062001d21565b1562000e8e57565b9081526001600160a01b03909116602082015260400190565b604090815160209062001bf28162001b648482019786895287808401526060830190620016e8565b039562001b7a601f19978881018552846200181d565b85519062001ba0858301988362001b93308a8d62001b23565b039081018452836200181d565b6106559362001bff86895162001bb9828901826200181d565b8781526200211f9b82820196898e89398c5198899362001be28686019a8b9251928391620016c3565b84019151809386840190620016c3565b010380875201856200181d565b5190209151902085516001600160f81b03198582019081523060601b602183015260358201849052605580830193909352918152909260808201916001600160401b039182841182851017620005885783895260018060a01b03809683519020169960808284010193858510908511176200058857843962001c87607f199288309162001b23565b0301906000f58062001d18575050825163041c375d60e11b8152908082600481885afa90811562001d0d5760009162001cd8575b5090500362001cc8575090565b51630113b81f60e41b8152600490fd5b82813d831162001d05575b62001cef81836200181d565b8101031262001d02575051803862001cbb565b80fd5b503d62001ce3565b84513d6000823e3d90fd5b16949350505050565b6000908152609860205260409020600501546001600160a01b0391821691161490565b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff84822054161562001d975750505050565b62001da23362002017565b9184519062001db18262001801565b6042825284820192606036853782511562001f10576030845382519060019182101562001f105790607860218501536041915b81831162001e9d5750505062001e6c5760486200141293869362001e4f9362001e3f985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152620013b5815180928c603789019101620016c3565b010360288101875201856200181d565b5192839262461bcd60e51b845260048401526024830190620016e8565b60648486519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b909192600f8116601081101562001efc576f181899199a1a9b1b9c1cb0b131b232b360811b901a62001ed0858762002005565b5360041c92801562001ee85760001901919062001de4565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054161562001f5757505050565b80835260656020526040832082845260205260408320600160ff1982541617905560008051602062002774833981519152339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541662001fc057505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015620014a7570160200190565b60405190606082016001600160401b038111838210176200058857604052602a8252602082016040368237825115620014a757603090538151600190811015620014a757607860218401536029905b808211620020ab575050620020785790565b606460405162461bcd60e51b81526020600482015260206024820152600080516020620027948339815191526044820152fd5b9091600f8116601081101562002109576f181899199a1a9b1b9c1cb0b131b232b360811b901a620020dd848662002005565b5360041c918015620020f457600019019062002066565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfe60c03461008c57601f61065538819003918201601f19168301916001600160401b0383118484101761009157808492604094855283398101031261008c5780516020909101516001600160a01b0381169081900361008c5760805260a0526040516105ad90816100a882396080518181816101dc0152610333015260a05181818161019f01526103ce0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816301ffc9a7146103f15750806308386eba146103b6578063150b7a02146103625780637b1039991461031e578063b61d27f614610157578063bc197c81146100ce5763f23a6e610361001257346100cb5760a03660031901126100cb57610091610445565b5061009a610460565b50608435906001600160401b0382116100cb57506020926100bd913691016104ca565b505163f23a6e6160e01b8152f35b80fd5b50346100cb5760a03660031901126100cb576100e8610445565b506100f1610460565b506001600160401b0390604435828111610153576101129036908601610511565b506064358281116101535761012a9036908601610511565b506084359182116100cb5750602092610145913691016104ca565b505163bc197c8160e01b8152f35b5080fd5b50913461031a57606036600319011261031a57610172610445565b926044356001600160401b0381116101535761019190369084016104ca565b8351630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000084820152336024820152602095906001600160a01b039087816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156103105785916102d6575b50156102c6578116156102b65781518392839290880190602435905af1913d156102ae573d9261023c846104af565b9361024986519586610476565b84523d838786013e5b156102a05750929082519382859384528251928382860152825b84811061028a57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161026c565b83516384aed38d60e01b8152fd5b606092610252565b84516384aed38d60e01b81528490fd5b855163075fd2b160e01b81528590fd5b90508781813d8311610309575b6102ed8183610476565b8101031261030557518015158103610305573861020d565b8480fd5b503d6102e3565b87513d87823e3d90fd5b8280fd5b509034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cb5760803660031901126100cb5761037c610445565b50610385610460565b50606435906001600160401b0382116100cb57506020926103a8913691016104ca565b5051630a85bd0160e11b8152f35b509034610153578160031936011261015357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050833461031a57602036600319011261031a573563ffffffff60e01b811680910361031a5760209250630271189760e51b8114908115610434575b5015158152f35b6301ffc9a760e01b1490508361042d565b600435906001600160a01b038216820361045b57565b600080fd5b602435906001600160a01b038216820361045b57565b601f909101601f19168101906001600160401b0382119082101761049957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161049957601f01601f191660200190565b81601f8201121561045b578035906104e1826104af565b926104ef6040519485610476565b8284526020838301011161045b57816000926020809301838601378301015290565b9080601f8301121561045b578135906001600160401b038211610499578160051b6040519360209361054585840187610476565b8552838086019282010192831161045b578301905b828210610568575050505090565b8135815290830190830161055a56fea264697066735822122049d6fdbbde00ff6b5b5ab67099b9254588ba1c4ef731a2ec4011243a216245c464736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d537472696e67733a20686578206c656e67746820696e73756666696369656e7454cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3a26469706673582212203c24b27da20b578c12f57a2eca00d5ac620b478c3908f42ffb0aa18b85b527bc64736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c80630114cf0a146200162057806301ffc9a714620015c55780630ec1fbac1462001599578063248a9ca314620015685780632497f3c614620014bd57806324ae6a27146200118b5780632f2ff15d146200114457806336568abe14620010ab57806339b86b8c14620010755780633a92f65f1462000b165780633b66dacd1462000a965780634756487f1462000a585780635063f36114620009f957806350d005e014620009c35780635e8a7915146200096c57806391d14854146200091b578063a0cf0aea14620008ea578063a217fddf14620008cc578063ac402839146200071b578063c4d66de8146200059e578063cf189ff21462000383578063cfda7e0a1462000357578063d547741f146200030e578063dd93da431462000252578063e0cf1e4c14620001fb5763ee888196146200015557600080fd5b34620001f6576020366003190112620001f6576004356000526098602052604060002080546001820154916200018e60028201620019d8565b620001e7620001a06003840162001a8a565b620001d860018060a01b0360068160058801541696015416936040519788978852602088015260c0604088015260c0870190620016e8565b9085820360608701526200170f565b91608084015260a08301520390f35b600080fd5b34620001f6576200020c3662001968565b620002178262001b0e565b80519060005b8281106200022757005b6001906200024b6001600160a01b0362000242838662001af9565b51168662001f8e565b016200021d565b34620001f6576020366003190112620001f6576200030a62000273620017b2565b6200027d62001aae565b5060018060a01b0380911660005260976020526040600020546000526098602052604060002090600660405192620002b584620017c9565b8054845260018101546020850152620002d160028201620019d8565b6040850152620002e46003820162001a8a565b606085015282600582015416608085015201541660a08201526040519182918262001731565b0390f35b34620001f6576040366003190112620001f65762000355600435620003326200179b565b908060005260656020526200034f60016040600020015462001d6c565b62001f8e565b005b34620001f6576000366003190112620001f6576020604051600080516020620027d48339815191528152f35b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620003bc90369060040162001841565b90620003c88162001b0e565b620003d4828262001b3c565b9181600052602093609885526040600020906002820190835190811162000588576200040182546200199b565b601f81116200053d575b5086601f8211600114620004bb5792600080516020620027b48339815191529492826006936200049f96600091620004af575b508160011b916000199060031b1c19161790555b019460018060a01b039081875416600052609788526000604081205516948560018060a01b03198254161790558460005283604060002055604051918291604083526040830190620016e8565b85878301520390a2604051908152f35b90508501518b6200043e565b601f1982169083600052886000209160005b8a82821062000526575050836200049f9693600080516020620027b4833981519152989693600696600194106200050c575b5050811b01905562000452565b87015160001960f88460031b161c191690558b80620004ff565b600184958293958b015181550194019201620004cd565b8260005287600020601f830160051c8101918984106200057d575b601f0160051c01905b8181106200057057506200040b565b6000815560010162000561565b909150819062000558565b634e487b7160e01b600052604160045260246000fd5b34620001f657602080600319360112620001f657620005bc620017b2565b60005460ff8160081c1615806200070d575b15620006b15761ffff1916610101176000556001600160a01b03169081156200069f577f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891600080516020620027d4833981519152908160005260658352604060002081600052835260ff60406000205416156200065e575b505061ff00196000541660005560405160018152a1005b816000526065835260406000208160005283526040600020600160ff19825416179055339160008051602062002774833981519152600080a4828062000647565b60405163538ba4f960e01b8152600490fd5b60405162461bcd60e51b815260048101849052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600160ff821610620005ce565b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620007549036906004016200189c565b6200075f8262001b0e565b8160005260206098815260046040600020835160038201550181830151805195861162000588576200079282546200199b565b601f811162000881575b508290601f87116001146200080557958091600080516020620027f48339815191529697600092620007f9575b50508160011b916000199060031b1c19161790555b620007f46040519282849384528301906200170f565b0390a2005b015190508780620007c9565b90601f1987169183600052846000209260005b818110620008695750916001939189600080516020620027f4833981519152999a94106200084f575b505050811b019055620007de565b015160001960f88460031b161c1916905587808062000841565b92938660018192878601518155019501930162000818565b8260005283600020601f880160051c810191858910620008c1575b601f0160051c01905b818110620008b457506200079c565b60008155600101620008a5565b90915081906200089c565b34620001f6576000366003190112620001f657602060405160008152f35b34620001f6576000366003190112620001f657602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620001f6576040366003190112620001f657620009386200179b565b600435600052606560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34620001f6576040366003190112620001f65760206004356200098e6200179b565b6200099a818362001d21565b918215620009af575b50506040519015158152f35b620009bb925062001d44565b8280620009a3565b34620001f6576020366003190112620001f6576004356000526099602052602060018060a01b0360406000205416604051908152f35b34620001f65762000a0a3662001968565b62000a158262001b0e565b80519060005b82811062000a2557005b6001600160a01b0362000a39828462001af9565b51169081156200069f5762000a516001928662001f24565b0162000a1b565b34620001f6576020366003190112620001f6576001600160a01b0362000a7d620017b2565b1660005260976020526020604060002054604051908152f35b34620001f6576040366003190112620001f6576004357f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8602062000ad96200179b565b62000ae48462001b0e565b60008481526099835260409081902080546001600160a01b0319166001600160a01b03909316928317905551908152a2005b34620001f65760a0366003190112620001f6576004356024356001600160401b038111620001f65762000b4e90369060040162001841565b906044356001600160401b038111620001f65762000b719036906004016200189c565b91606435906001600160a01b0382168203620001f6576084356001600160401b038111620001f65762000ba9903690600401620018ea565b6040805160208101868152606086811b6001600160601b03191693830193909352603482529181019692939291906001600160401b038811818910176200058857876040525190209586600052609860205260018060a01b03600660406000200154166200106657506001600160a01b038416156200069f5762000c2e828762001b3c565b916040519562000c3e87620017c9565b8787526020808801918252604080890193845260608901949094526001600160a01b0387811660808a01529490941660a08801526000888152609890945291909220855181559051600182015590518051906001600160401b0382116200058857819062000cb060028501546200199b565b601f81116200100e575b50602090601f831160011462000f975760009262000f8b575b50508160011b916000199060031b1c19161760028201555b606084015180516003830155602001518051906001600160401b0382116200058857819062000d1e60048501546200199b565b601f811162000f33575b50602090601f831160011462000ec15760009262000eb5575b50508160011b916000199060031b1c19161760048201555b60808401516005820180546001600160a01b039283166001600160a01b03199182161790915560a086015160069093018054939092169216821790556000908152609760205260409020849055805191821515908162000ea0575b5062000e8e5760005b82811062000e5b57602085807f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b806098784810151604082015191606081015162000e4560018060a01b036080840151169260a0600180821b03910151169162000e36604051968796875260a08c88015260a0870190620016e8565b9085820360408701526200170f565b91606084015260808301520390a2604051908152f35b6001600160a01b0362000e6f828462001af9565b51169081156200069f5762000e876001928762001f24565b0162000dbd565b60405163075fd2b160e01b8152600490fd5b6001600160a01b031633141590508562000db4565b01519050878062000d41565b600485016000908152602081209350601f198516905b81811062000f1a575090846001959493921062000f00575b505050811b01600482015562000d59565b015160001960f88460031b161c1916905587808062000eef565b9293602060018192878601518155019501930162000ed7565b909150600484016000526020600020601f840160051c81016020851062000f83575b90849392915b601f830160051c8201811062000f7357505062000d28565b6000815585945060010162000f5b565b508062000f55565b01519050878062000cd3565b9250600284016000526020600020906000935b601f198416851062000ff2576001945083601f1981161062000fd8575b505050811b01600282015562000ceb565b015160001960f88460031b161c1916905587808062000fc7565b8181015183556020948501946001909301929091019062000faa565b909150600284016000526020600020601f840160051c8101602085106200105e575b90849392915b601f830160051c820181106200104e57505062000cba565b6000815585945060010162001036565b508062001030565b630527e05960e41b8152600490fd5b34620001f6576040366003190112620001f6576020620010a1620010986200179b565b60043562001d21565b6040519015158152f35b34620001f6576040366003190112620001f657620010c86200179b565b336001600160a01b03821603620010e757620003559060043562001f8e565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620001f6576040366003190112620001f65762000355600435620011686200179b565b908060005260656020526200118560016040600020015462001d6c565b62001f24565b34620001f6576040366003190112620001f657620011a8620017b2565b620011b26200179b565b3360009081527f4b3829d867e62b811a7a862bbf8afb7a8eb18e86c071c1039bdebff5606d62536020908152604090912054600080516020620027d48339815191529060ff16156200131357506001600160a01b03828116156200069f5783169273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84149382856000146200129e57505047935b1562001261575050600080809381935af1156200125357005b63b12d13eb6000526004601cfd5b600060109160449395829560145260345263a9059cbb60601b82525af13d156001600051141716156200129057005b6390b8ec186000526004601cfd5b6040516370a0823160e01b815230600482015291829060249082905afa9081156200130757600091620012d4575b50936200123a565b90508281813d8311620012ff575b620012ee81836200181d565b81010312620001f6575185620012cc565b503d620012e2565b6040513d6000823e3d90fd5b906200131f3362002017565b916040516200132e8162001801565b60428152828101916060368437815115620014a757603083538151600190811015620014a757607860218401536041905b808211620014485750506200141657620013df93620013ef9260489260405196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b88860152620013b5815180928a603789019101620016c3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190620016c3565b010360288101855201836200181d565b6200141260405192839262461bcd60e51b845260048401526024830190620016e8565b0390fd5b6064836040519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b9091600f81166010811015620014a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200147a848662002005565b5360041c918015620014915760001901906200135f565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b34620001f6576020366003190112620001f6576004358060005260986020526040600020609960205260018060a01b039081604060002054169182330362001556577ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d926005602093019060018060a01b03199081835416178255856000526099845260406000209081541690555416604051908152a2005b604051630b4d48c160e41b8152600490fd5b34620001f6576020366003190112620001f65760043560005260656020526020600160406000200154604051908152f35b34620001f6576040366003190112620001f6576020620010a1620015bc6200179b565b60043562001d44565b34620001f6576020366003190112620001f65760043563ffffffff60e01b8116809103620001f657602090637965db0b60e01b81149081156200160e575b506040519015158152f35b6301ffc9a760e01b1490508262001603565b34620001f6576020366003190112620001f6576200163d62001aae565b5060043560005260986020526200030a6040600020604051906200166182620017c9565b80548252600181015460208301526200167d60028201620019d8565b6040830152620016906003820162001a8a565b606083015260058101546001600160a01b0390811660808401526006909101541660a08201526040519182918262001731565b60005b838110620016d75750506000910152565b8181015183820152602001620016c6565b906020916200170381518092818552858086019101620016c3565b601f01601f1916010190565b90604060206200172e93805184520151918160208201520190620016e8565b90565b60208152815160208201526020820151604082015260c06200177d62001766604085015183606086015260e0850190620016e8565b6060850151848203601f190160808601526200170f565b9260a0600180821b0391826080820151168286015201511691015290565b602435906001600160a01b0382168203620001f657565b600435906001600160a01b0382168203620001f657565b60c081019081106001600160401b038211176200058857604052565b604081019081106001600160401b038211176200058857604052565b608081019081106001600160401b038211176200058857604052565b601f909101601f19168101906001600160401b038211908210176200058857604052565b81601f82011215620001f6578035906001600160401b03821162000588576040519262001879601f8401601f1916602001856200181d565b82845260208383010111620001f657816000926020809301838601378301015290565b9190604083820312620001f65760405190620018b882620017e5565b8335825290928391602082013591906001600160401b038311620001f657602092620018e5920162001841565b910152565b9080601f83011215620001f6578135906001600160401b03821162000588578160051b6040519360209362001922858401876200181d565b85528380860192820101928311620001f6578301905b82821062001947575050505090565b81356001600160a01b0381168103620001f657815290830190830162001938565b906040600319830112620001f65760043591602435906001600160401b038211620001f6576200172e91600401620018ea565b90600182811c92168015620019cd575b6020831014620019b757565b634e487b7160e01b600052602260045260246000fd5b91607f1691620019ab565b9060405191826000825492620019ee846200199b565b90818452600194858116908160001462001a65575060011462001a1e575b505062001a1c925003836200181d565b565b9093915060005260209081600020936000915b81831062001a4c57505062001a1c9350820101388062001a0c565b8554888401850152948501948794509183019162001a31565b91505062001a1c94506020925060ff191682840152151560051b820101388062001a0c565b9060405162001a9981620017e5565b6020620018e5600183958054855201620019d8565b6040519062001abd82620017c9565b600060a0838281528260208201526060604082015260405162001ae081620017e5565b8381526060602082015260608201528260808201520152565b8051821015620014a75760209160051b010190565b62001b1b90339062001d21565b1562000e8e57565b9081526001600160a01b03909116602082015260400190565b604090815160209062001bf28162001b648482019786895287808401526060830190620016e8565b039562001b7a601f19978881018552846200181d565b85519062001ba0858301988362001b93308a8d62001b23565b039081018452836200181d565b6106559362001bff86895162001bb9828901826200181d565b8781526200211f9b82820196898e89398c5198899362001be28686019a8b9251928391620016c3565b84019151809386840190620016c3565b010380875201856200181d565b5190209151902085516001600160f81b03198582019081523060601b602183015260358201849052605580830193909352918152909260808201916001600160401b039182841182851017620005885783895260018060a01b03809683519020169960808284010193858510908511176200058857843962001c87607f199288309162001b23565b0301906000f58062001d18575050825163041c375d60e11b8152908082600481885afa90811562001d0d5760009162001cd8575b5090500362001cc8575090565b51630113b81f60e41b8152600490fd5b82813d831162001d05575b62001cef81836200181d565b8101031262001d02575051803862001cbb565b80fd5b503d62001ce3565b84513d6000823e3d90fd5b16949350505050565b6000908152609860205260409020600501546001600160a01b0391821691161490565b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff84822054161562001d975750505050565b62001da23362002017565b9184519062001db18262001801565b6042825284820192606036853782511562001f10576030845382519060019182101562001f105790607860218501536041915b81831162001e9d5750505062001e6c5760486200141293869362001e4f9362001e3f985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152620013b5815180928c603789019101620016c3565b010360288101875201856200181d565b5192839262461bcd60e51b845260048401526024830190620016e8565b60648486519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b909192600f8116601081101562001efc576f181899199a1a9b1b9c1cb0b131b232b360811b901a62001ed0858762002005565b5360041c92801562001ee85760001901919062001de4565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054161562001f5757505050565b80835260656020526040832082845260205260408320600160ff1982541617905560008051602062002774833981519152339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541662001fc057505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015620014a7570160200190565b60405190606082016001600160401b038111838210176200058857604052602a8252602082016040368237825115620014a757603090538151600190811015620014a757607860218401536029905b808211620020ab575050620020785790565b606460405162461bcd60e51b81526020600482015260206024820152600080516020620027948339815191526044820152fd5b9091600f8116601081101562002109576f181899199a1a9b1b9c1cb0b131b232b360811b901a620020dd848662002005565b5360041c918015620020f457600019019062002066565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfe60c03461008c57601f61065538819003918201601f19168301916001600160401b0383118484101761009157808492604094855283398101031261008c5780516020909101516001600160a01b0381169081900361008c5760805260a0526040516105ad90816100a882396080518181816101dc0152610333015260a05181818161019f01526103ce0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816301ffc9a7146103f15750806308386eba146103b6578063150b7a02146103625780637b1039991461031e578063b61d27f614610157578063bc197c81146100ce5763f23a6e610361001257346100cb5760a03660031901126100cb57610091610445565b5061009a610460565b50608435906001600160401b0382116100cb57506020926100bd913691016104ca565b505163f23a6e6160e01b8152f35b80fd5b50346100cb5760a03660031901126100cb576100e8610445565b506100f1610460565b506001600160401b0390604435828111610153576101129036908601610511565b506064358281116101535761012a9036908601610511565b506084359182116100cb5750602092610145913691016104ca565b505163bc197c8160e01b8152f35b5080fd5b50913461031a57606036600319011261031a57610172610445565b926044356001600160401b0381116101535761019190369084016104ca565b8351630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000084820152336024820152602095906001600160a01b039087816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156103105785916102d6575b50156102c6578116156102b65781518392839290880190602435905af1913d156102ae573d9261023c846104af565b9361024986519586610476565b84523d838786013e5b156102a05750929082519382859384528251928382860152825b84811061028a57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161026c565b83516384aed38d60e01b8152fd5b606092610252565b84516384aed38d60e01b81528490fd5b855163075fd2b160e01b81528590fd5b90508781813d8311610309575b6102ed8183610476565b8101031261030557518015158103610305573861020d565b8480fd5b503d6102e3565b87513d87823e3d90fd5b8280fd5b509034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cb5760803660031901126100cb5761037c610445565b50610385610460565b50606435906001600160401b0382116100cb57506020926103a8913691016104ca565b5051630a85bd0160e11b8152f35b509034610153578160031936011261015357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050833461031a57602036600319011261031a573563ffffffff60e01b811680910361031a5760209250630271189760e51b8114908115610434575b5015158152f35b6301ffc9a760e01b1490508361042d565b600435906001600160a01b038216820361045b57565b600080fd5b602435906001600160a01b038216820361045b57565b601f909101601f19168101906001600160401b0382119082101761049957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161049957601f01601f191660200190565b81601f8201121561045b578035906104e1826104af565b926104ef6040519485610476565b8284526020838301011161045b57816000926020809301838601378301015290565b9080601f8301121561045b578135906001600160401b038211610499578160051b6040519360209361054585840187610476565b8552838086019282010192831161045b578301905b828210610568575050505090565b8135815290830190830161055a56fea264697066735822122049d6fdbbde00ff6b5b5ab67099b9254588ba1c4ef731a2ec4011243a216245c464736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d537472696e67733a20686578206c656e67746820696e73756666696369656e7454cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3a26469706673582212203c24b27da20b578c12f57a2eca00d5ac620b478c3908f42ffb0aa18b85b527bc64736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;5702:47;5237:15930;;;;;;;;5702:47;;5237:15930;5702:47;;;;;;:::i;:::-;5237:15930;5702:47;5237:15930;5702:47;;;:::i;:::-;5237:15930;;;;;;5702:47;;;;;5237:15930;;5702:47;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;17099:9;5237:15930;17110:16;;;;;;5237:15930;17099:9;5237:15930;;17249:11;-1:-1:-1;;;;;17249:11:2;5237:15930;17249:11;;:::i;:::-;5237:15930;;17249:11;;:::i;:::-;5237:15930;17099:9;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;7951:17;5237:15930;;;;;;;;7994:12;5237:15930;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;5837:7:45;5237:15930:2;;;;:::i;:::-;;;;;4955:6:45;5237:15930:2;;2809:4:45;5237:15930:2;;;;4955:22:45;5237:15930:2;2809:4:45;:::i;:::-;5837:7;:::i;:::-;5237:15930:2;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;;:::i;:::-;11429:34;;;;:::i;:::-;5237:15930;;;;;;11564:12;5237:15930;;;;;11627:12;;;;5237:15930;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;11705:14;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;11705:14;5237:15930;;;;;;;;;;;;;11687:17;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;11931:45;;;5237:15930;;;;;;;;;;;;;;;;19584:32;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;11705:14;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;4881:14:49;:40;;;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;;;;-1:-1:-1;;;;;5237:15930:2;;6968:20;;6964:47;;5091:20:49;6011:23:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;8020:23:45;8016:149;;5237:15930:2;;;;;;;;;;;;;;;5091:20:49;5237:15930:2;8016:149:45;5237:15930:2;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;965:10:53;8114:40:45;-1:-1:-1;;;;;;;;;;;5237:15930:2;8114:40:45;;8016:149;;;;6964:47:2;5237:15930;;-1:-1:-1;;;6997:14:2;;5237:15930;;6997:14;5237:15930;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;4881:40:49;5237:15930:2;6900:1;5237:15930;;;4899:22:49;4881:40;;5237:15930:2;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;;;12553:12;5237:15930;;;;;;;;;12553:33;;5237:15930;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12672:45;;;5237:15930;;;;;-1:-1:-1;5237:15930:2;;;;;19584:32;;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;4445:42:9;5237:15930:2;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;:::i;:::-;13110:39;;;;:::i;:::-;:83;;;;;5237:15930;;;;;;;;;;;13110:83;20575:28;;;;:::i;:::-;13110:83;;;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;5859:58;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;16216:9;5237:15930;16227:16;;;;;;5237:15930;16216:9;-1:-1:-1;;;;;16277:11:2;;;;:::i;:::-;5237:15930;;16377:20;;;16373:47;;16537:6;5237:15930;16537:6;;;:::i;:::-;5237:15930;16216:9;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;:::i;:::-;;;;5544:52;5237:15930;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;14658:53;5237:15930;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;;;14530:23;5237:15930;;;;;;;;;-1:-1:-1;;;;;;5237:15930:2;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;14658:53;5237:15930;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;;19584:32;;5237:15930;;;;;;;-1:-1:-1;;;;;;5237:15930:2;;;;;;;;19584:32;;;5237:15930;;;;;;;19584:32;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;19574:43;;5237:15930;;;;9173:12;5237:15930;;;;;;;9173:30;5237:15930;;;9173:30;5237:15930;;9169:78;;-1:-1:-1;;;;;;5237:15930:2;;9317:20;9313:47;;9641:33;;;;:::i;:::-;5237:15930;;;;;;;:::i;:::-;;;;;9472:213;;;5237:15930;;;;9472:213;;;5237:15930;;;;9472:213;;5237:15930;;;;-1:-1:-1;;;;;5237:15930:2;;;;9472:213;;5237:15930;;;;;;9472:213;;5237:15930;-1:-1:-1;5237:15930:2;;;9173:12;5237:15930;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9472:213;;5237:15930;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9472:213;;5237:15930;;;;;;-1:-1:-1;;;;;5237:15930:2;;;-1:-1:-1;;;;;;5237:15930:2;;;;;;;;9472:213;;5237:15930;9173:30;5237:15930;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;9739:17;5237:15930;;;;;;;;;;;9942:16;;;;;:40;;5237:15930;9938:92;;;5237:15930;10056:16;;;;;;5237:15930;9472:213;;10512:103;9472:213;;;;5237:15930;;9472:213;;10553:12;9472:213;5237:15930;9472:213;;10567:16;5237:15930;;;;;;;9472:213;;5237:15930;;;;;;;;;9472:213;;5237:15930;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;10512:103;;;5237:15930;;;;;;10045:9;-1:-1:-1;;;;;10106:11:2;;;;:::i;:::-;5237:15930;;10206:20;;;10202:47;;10365:6;5237:15930;10365:6;;;:::i;:::-;5237:15930;10045:9;;9938:92;5237:15930;;-1:-1:-1;;;10005:14:2;;5237:15930;;10005:14;9942:40;-1:-1:-1;;;;;5237:15930:2;9972:10;9962:20;;;-1:-1:-1;9942:40:2;;;5237:15930;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;19584:32;;;;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;9169:78;-1:-1:-1;;;9226:21:2;;5237:15930;;9226:21;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;13560:37;5237:15930;;:::i;:::-;;;13560:37;:::i;:::-;5237:15930;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;965:10:53;-1:-1:-1;;;;;5237:15930:2;;6484:23:45;5237:15930:2;;6588:7:45;5237:15930:2;;;6588:7:45;:::i;5237:15930:2:-;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;5410:7:45;5237:15930:2;;;;:::i;:::-;;;;;4955:6:45;5237:15930:2;;2809:4:45;5237:15930:2;;;;4955:22:45;5237:15930:2;2809:4:45;:::i;:::-;5410:7;:::i;5237:15930:2:-;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;:::i;:::-;965:10:53;5237:15930:2;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6011:23:2;5237:15930;;4260:23:45;4256:412;;-1:-1:-1;;;;;;5237:15930:2;;;20949:24;20945:51;;5237:15930;;21024:16;4445:42:9;21024:16:2;;:81;;;;;;;21043:21;;;21024:81;;6815:16:10;;;2570:369:15;;5237:15930:2;2570:369:15;;;;;;;;;;5237:15930:2;2570:369:15;;5237:15930:2;2570:369:15;5237:15930:2;2570:369:15;;6811:173:10;5237:15930:2;11581:1056:15;;;;;;;;;;;;;;;;;;;;5237:15930:2;;11581:1056:15;;;;;;;5237:15930:2;11581:1056:15;;5237:15930:2;11581:1056:15;5237:15930:2;11581:1056:15;;21024:81:2;5237:15930;;-1:-1:-1;;;21067:38:2;;21099:4;5237:15930;21067:38;;5237:15930;;;;;;;;21067:38;;;;;;;5237:15930;21067:38;;;21024:81;;;;;21067:38;;;;;;;;;;;;;;;;:::i;:::-;;;5237:15930;;;;;21067:38;;;;;;;;;5237:15930;;;;;;;;;4256:412:45;965:10:53;2563:52:54;965:10:53;2563:52:54;:::i;:::-;1884:437;5237:15930:2;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:54;;;5237:15930:2;;;;;;;;;2066:15:54;5237:15930:2;;;2066:15:54;5237:15930:2;2091:128:54;2124:5;;;;;;2236:10;;311:18;;5237:15930:2;;4351:274:45;5237:15930:2;;;;;4351:274:45;;;-1:-1:-1;;;4351:274:45;;;5237:15930:2;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;4351:274:45;;;;;;;;;:::i;:::-;5237:15930:2;;;311:18:54;;;;;;4299:358:45;;5237:15930:2;4299:358:45;;5237:15930:2;;;;;;:::i;:::-;4299:358:45;;;311:18:54;;5237:15930:2;;;311:18:54;;;;;;;5237:15930:2;311:18:54;;;;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:54;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;5237:15930:2;;2131:3:54;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:54;;5237:15930:2;;;;;;;;;;;;2162:21:54;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;15157:12;5237:15930;;;;;15301:23;5237:15930;;;;;;;;;;;;;;15414:10;;;:22;15410:54;;15708:46;15550:13;;5237:15930;15550:13;;5237:15930;;;;;;;;;;;;;;;;;;15301:23;5237:15930;;;;;;;;;;;;;;;;;;15708:46;5237:15930;15410:54;5237:15930;;-1:-1:-1;;;15445:19:2;;5237:15930;;15445:19;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;4955:6:45;5237:15930:2;;;;;;;4955:22:45;5237:15930:2;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;13967:39;5237:15930;;:::i;:::-;;;13967:39;:::i;5237:15930::-;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3158:58:45;;;:98;;;;5237:15930:2;;;;;;;;;;3158:98:45;-1:-1:-1;;;1189:51:55;;-1:-1:-1;3158:98:45;;;5237:15930:2;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;;7572:12;5237:15930;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;5237:15930:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19584:32;5237:15930;-1:-1:-1;;5237:15930:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;19584:32;5237:15930;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;19584:32;5237:15930;;-1:-1:-1;;5237:15930:2;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;5237:15930:2;;;;-1:-1:-1;5237:15930:2;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;17659:152::-;17740:41;17659:152;17770:10;17740:41;;:::i;:::-;17739:42;17735:69;;17659:152::o;5237:15930::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::o;18166:969::-;5237:15930;;;;18303:29;;5237:15930;18303:29;5237:15930;18303:29;;;5237:15930;;;;;;;;;;;;;;:::i;:::-;18303:29;19584:32;18303:29;19584:32;;18303:29;;;;;;;;:::i;:::-;5237:15930;;18380:37;;;;;18411:4;;18380:37;18411:4;18380:37;;;:::i;:::-;;;;;;;;;:::i;:::-;18469:25;5237:15930;18452:67;5237:15930;;;;18469:25;;;5237:15930;;:::i;:::-;18469:25;;;;;;;;;;;;;5237:15930;;18452:67;;;5237:15930;18452:67;;;5237:15930;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;18452:67;;;;;;;:::i;:::-;5237:15930;18545:22;;5237:15930;;18706:19;;5237:15930;;-1:-1:-1;;;;;;18654:72:2;;;5237:15930;;;18411:4;5237:15930;;;;;;;;;;;;;;;;;;;;18654:72;;;;;5237:15930;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;18644:83;;5237:15930;18843:49;5237:15930;18843:49;;;;;;;;;;;;;;;;;;;18411:4;;;18843:49;;:::i;:::-;;;;-1:-1:-1;18843:49:2;;;;-1:-1:-1;;5237:15930:2;;-1:-1:-1;;;18993:47:2;;5237:15930;;;18993:47;5237:15930;18993:47;;;;;;;;-1:-1:-1;18993:47:2;;;18839:290;18993:61;;;;18989:88;;19091:27;18839:290;18166:969::o;18989:88::-;5237:15930;-1:-1:-1;;;19063:14:2;;18993:47;;19063:14;18993:47;;;;;;;;;;;;;:::i;:::-;;;5237:15930;;;;;;18993:47;;;;5237:15930;;;18993:47;;;;;;5237:15930;;;-1:-1:-1;5237:15930:2;;;;;18839:290;5237:15930;;18839:290;-1:-1:-1;;;;18166:969:2:o;19963:156::-;-1:-1:-1;5237:15930:2;;;20072:12;5237:15930;;;;;20072:30;;5237:15930;-1:-1:-1;;;;;5237:15930:2;;;;;20072:40;;19963:156::o;20464:146::-;-1:-1:-1;5237:15930:2;3459:6:45;5237:15930:2;;;-1:-1:-1;5237:15930:2;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;20464:146;:::o;3789:103:45:-;-1:-1:-1;5237:15930:2;;;;;;3459:6:45;5237:15930:2;;;;;;;965:10:53;5237:15930:2;;;;;;;;;;4260:23:45;4256:412;;3789:103;;;;:::o;4256:412::-;2563:52:54;965:10:53;2563:52:54;:::i;:::-;4554:49:45;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:54;;;5237:15930:2;;;;;;;;;;;2066:15:54;5237:15930:2;;;2066:15:54;5237:15930:2;2091:128:54;2124:5;;;;;;2236:10;;;311:18;;5237:15930:2;;;;;4351:274:45;5237:15930:2;;;;4351:274:45;;;-1:-1:-1;;;4351:274:45;;;5237:15930:2;;;;;;;;;;;;;:::i;:::-;;4351:274:45;;;;;;;;;:::i;:::-;5237:15930:2;311:18:54;;;;;;4299:358:45;;2207:1:54;4299:358:45;;5237:15930:2;;;;;;:::i;311:18:54:-;;5237:15930:2;;;311:18:54;;;;;;;2207:1;311:18;;;;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:54;;2131:3;2171:11;;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;2207:1;5237:15930:2;2131:3:54;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:54;;;5237:15930:2;-1:-1:-1;;;5237:15930:2;;;2207:1:54;5237:15930:2;;;;2162:21:54;-1:-1:-1;;;5237:15930:2;;;2207:1:54;5237:15930:2;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;7938:233:45;;-1:-1:-1;5237:15930:2;;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;8020:23:45;8016:149;;7938:233;;;:::o;8016:149::-;5237:15930:2;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;965:10:53;8114:40:45;;;7938:233::o;8342:234::-;;-1:-1:-1;5237:15930:2;;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;8421:149:45;;8342:234;;;:::o;8421:149::-;5237:15930:2;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;8519:40:45;965:10:53;8519:40:45;;;8342:234::o;5237:15930:2:-;;;;;;;;;;;;;:::o;1884:437:54:-;5237:15930:2;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:54;;;5237:15930:2;;;;;;;;;2066:15:54;5237:15930:2;;;2066:15:54;5237:15930:2;2091:128:54;2124:5;;;;;;2236:10;;311:18;;1884:437;:::o;311:18::-;;5237:15930:2;;311:18:54;;;;;5237:15930:2;2207:1:54;311:18;;;5237:15930:2;311:18:54;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:54;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;2207:1;5237:15930:2;2131:3:54;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:54;;5237:15930:2;;;;;;;;;2207:1:54;5237:15930:2;;2162:21:54;5237:15930:2;;;;;;;;2207:1:54;5237:15930:2;","linkReferences":{}},"methodIdentifiers":{"ALLO_OWNER()":"cfda7e0a","DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","anchorToProfileId(address)":"4756487f","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address)":"c4d66de8","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","profileIdToPendingOwner(bytes32)":"50d005e0","profilesById(bytes32)":"ee888196","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ALLO_OWNER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"anchorToProfileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profileIdToPendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profilesById\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"This contract is used to create and manage profiles for the Allo protocol It is also used to deploy the anchor contract for each profile which acts as a proxy for the profile and is used to receive funds and execute transactions on behalf of the profile The Registry is also used to add and remove members from a profile and update the profile 'Metadata'\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\",\"params\":{\"_profileId\":\"The ID of the profile\"}},\"addMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_members\":\"The members to add\",\"_profileId\":\"The ID of the profile\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address\",\"params\":{\"_members\":\"The members of the profile (can be set only if msg.sender == _owner)\",\"_metadata\":\"The metadata of the profile\",\"_name\":\"The name of the profile\",\"_nonce\":\"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.\",\"_owner\":\"The owner of the profile\"},\"returns\":{\"_0\":\"The ID for the created profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Used when you have the 'anchor' address and want to retrieve the profile\",\"params\":{\"_anchor\":\"The anchor of the profile\"},\"returns\":{\"_0\":\"Profile details for the `_anchor`\"}},\"getProfileById(bytes32)\":{\"details\":\"Used when you have the 'profileId' and want to retrieve the profile\",\"params\":{\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"The Profile details for the `_profileId`\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\",\"params\":{\"_owner\":\"The owner of the contract\"}},\"isMemberOfProfile(bytes32,address)\":{\"params\":{\"_member\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is a member of the profile, otherwise 'false'\"}},\"isOwnerOfProfile(bytes32,address)\":{\"params\":{\"_owner\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner of the profile, otherwise 'false'\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"params\":{\"_account\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner or member of the profile, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be the Allo owner\",\"params\":{\"_recipient\":\"The address of the recipient\",\"_token\":\"The address of the token to transfer\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the pending owner of the profile.\",\"params\":{\"_members\":\"The members to remove\",\"_profileId\":\"The ID of the profile\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_metadata\":\"The new 'Metadata' of the profile\",\"_profileId\":\"The ID of the profile\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\",\"params\":{\"_name\":\"The new name of the profile\",\"_profileId\":\"The profileId of the profile\"},\"returns\":{\"anchor\":\"The new anchor\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\",\"params\":{\"_pendingOwner\":\"The new pending owner\",\"_profileId\":\"The ID of the profile\"}}},\"stateVariables\":{\"anchorToProfileId\":{\"details\":\"anchor -> Profile.id\"},\"profileIdToPendingOwner\":{\"details\":\"Profile.id -> pending owner\"},\"profilesById\":{\"details\":\"Profile.id -> Profile\"}},\"title\":\"Registry Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"ALLO_OWNER()\":{\"notice\":\"Allo Owner Role for fund recovery\"},\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"acceptProfileOwnership(bytes32)\":{\"notice\":\"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\"},\"addMembers(bytes32,address[])\":{\"notice\":\"Adds members to the profile\"},\"anchorToProfileId(address)\":{\"notice\":\"This maps the anchor address to the profile ID\"},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"notice\":\"Creates a new profile\"},\"getProfileByAnchor(address)\":{\"notice\":\"Retrieve profile by anchor\"},\"getProfileById(bytes32)\":{\"notice\":\"Retrieve profile by profileId\"},\"initialize(address)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is a member of the profile\"},\"isOwnerOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is an owner of the profile\"},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the address is an owner or member of the profile\"},\"profileIdToPendingOwner(bytes32)\":{\"notice\":\"This maps the profile ID to the pending owner\"},\"profilesById(bytes32)\":{\"notice\":\"This maps the profile ID to the profile details\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfers any fund balance in Allo to the recipient\"},\"removeMembers(bytes32,address[])\":{\"notice\":\"Removes members from the profile\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"notice\":\"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\"},\"updateProfileName(bytes32,string)\":{\"notice\":\"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event.\"},\"updateProfilePendingOwner(bytes32,address)\":{\"notice\":\"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\"}},\"notice\":\"Registry contract for creating and managing profiles\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Registry.sol\":\"Registry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ALLO_OWNER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"anchorToProfileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profileIdToPendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profilesById","outputs":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.","params":{"_profileId":"The ID of the profile"}},"addMembers(bytes32,address[])":{"details":"'msg.sender' must be the owner of the profile.","params":{"_members":"The members to add","_profileId":"The ID of the profile"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address","params":{"_members":"The members of the profile (can be set only if msg.sender == _owner)","_metadata":"The metadata of the profile","_name":"The name of the profile","_nonce":"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.","_owner":"The owner of the profile"},"returns":{"_0":"The ID for the created profile"}},"getProfileByAnchor(address)":{"details":"Used when you have the 'anchor' address and want to retrieve the profile","params":{"_anchor":"The anchor of the profile"},"returns":{"_0":"Profile details for the `_anchor`"}},"getProfileById(bytes32)":{"details":"Used when you have the 'profileId' and want to retrieve the profile","params":{"_profileId":"The ID of the profile"},"returns":{"_0":"The Profile details for the `_profileId`"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address)":{"details":"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'","params":{"_owner":"The owner of the contract"}},"isMemberOfProfile(bytes32,address)":{"params":{"_member":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is a member of the profile, otherwise 'false'"}},"isOwnerOfProfile(bytes32,address)":{"params":{"_owner":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner of the profile, otherwise 'false'"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"params":{"_account":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner or member of the profile, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be the Allo owner","params":{"_recipient":"The address of the recipient","_token":"The address of the token to transfer"}},"removeMembers(bytes32,address[])":{"details":"'msg.sender' must be the pending owner of the profile.","params":{"_members":"The members to remove","_profileId":"The ID of the profile"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"'msg.sender' must be the owner of the profile.","params":{"_metadata":"The new 'Metadata' of the profile","_profileId":"The ID of the profile"}},"updateProfileName(bytes32,string)":{"details":"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.","params":{"_name":"The new name of the profile","_profileId":"The profileId of the profile"},"returns":{"anchor":"The new anchor"}},"updateProfilePendingOwner(bytes32,address)":{"details":"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.","params":{"_pendingOwner":"The new pending owner","_profileId":"The ID of the profile"}}},"version":1},"userdoc":{"kind":"user","methods":{"ALLO_OWNER()":{"notice":"Allo Owner Role for fund recovery"},"NATIVE()":{"notice":"Address of the native token"},"acceptProfileOwnership(bytes32)":{"notice":"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event."},"addMembers(bytes32,address[])":{"notice":"Adds members to the profile"},"anchorToProfileId(address)":{"notice":"This maps the anchor address to the profile ID"},"createProfile(uint256,string,(uint256,string),address,address[])":{"notice":"Creates a new profile"},"getProfileByAnchor(address)":{"notice":"Retrieve profile by anchor"},"getProfileById(bytes32)":{"notice":"Retrieve profile by profileId"},"initialize(address)":{"notice":"Initializes the contract after an upgrade"},"isMemberOfProfile(bytes32,address)":{"notice":"Checks if the given address is a member of the profile"},"isOwnerOfProfile(bytes32,address)":{"notice":"Checks if the given address is an owner of the profile"},"isOwnerOrMemberOfProfile(bytes32,address)":{"notice":"Checks if the address is an owner or member of the profile"},"profileIdToPendingOwner(bytes32)":{"notice":"This maps the profile ID to the pending owner"},"profilesById(bytes32)":{"notice":"This maps the profile ID to the profile details"},"recoverFunds(address,address)":{"notice":"Transfers any fund balance in Allo to the recipient"},"removeMembers(bytes32,address[])":{"notice":"Removes members from the profile"},"updateProfileMetadata(bytes32,(uint256,string))":{"notice":"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event."},"updateProfileName(bytes32,string)":{"notice":"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event."},"updateProfilePendingOwner(bytes32,address)":{"notice":"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Registry.sol":"Registry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":54050,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52470,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)"},{"astId":52777,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":1525,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchorToProfileId","offset":0,"slot":"151","type":"t_mapping(t_address,t_bytes32)"},{"astId":1531,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profilesById","offset":0,"slot":"152","type":"t_mapping(t_bytes32,t_struct(Profile)2629_storage)"},{"astId":1536,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profileIdToPendingOwner","offset":0,"slot":"153","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_bytes32)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bytes32)","numberOfBytes":"32","value":"t_bytes32"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_bytes32,t_struct(Profile)2629_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct IRegistry.Profile)","numberOfBytes":"32","value":"t_struct(Profile)2629_storage"},"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52465_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Profile)2629_storage":{"encoding":"inplace","label":"struct IRegistry.Profile","numberOfBytes":"224","members":[{"astId":2617,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"id","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2619,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"nonce","offset":0,"slot":"1","type":"t_uint256"},{"astId":2621,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"name","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2624,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2626,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"owner","offset":0,"slot":"5","type":"t_address"},{"astId":2628,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchor","offset":0,"slot":"6","type":"t_address"}]},"t_struct(RoleData)52465_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52462,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52464,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","id":2296,"exportedSymbols":{"AccessControlUpgradeable":[52778],"AddressUpgradeable":[53726],"Anchor":[1492],"ContextUpgradeable":[53777],"ERC165Upgradeable":[54051],"ERC20":[4533],"Errors":[3089],"IAccessControlUpgradeable":[52851],"IERC165Upgradeable":[54063],"IRegistry":[2802],"Initializable":[53233],"MathUpgradeable":[54929],"Metadata":[3098],"Native":[3106],"Registry":[2295],"SafeTransferLib":[4691],"SignedMathUpgradeable":[55034],"StringsUpgradeable":[54006],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:21126:2","nodes":[{"id":1494,"nodeType":"PragmaDirective","src":"42:23:2","nodes":[],"literals":["solidity","0.8",".19"]},{"id":1495,"nodeType":"ImportDirective","src":"89:90:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":52779,"symbolAliases":[],"unitAlias":""},{"id":1496,"nodeType":"ImportDirective","src":"180:84:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":53234,"symbolAliases":[],"unitAlias":""},{"id":1498,"nodeType":"ImportDirective","src":"265:50:2","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":4534,"symbolAliases":[{"foreign":{"id":1497,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"273:5:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1499,"nodeType":"ImportDirective","src":"330:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":2803,"symbolAliases":[],"unitAlias":""},{"id":1501,"nodeType":"ImportDirective","src":"389:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Anchor.sol","file":"./Anchor.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":1493,"symbolAliases":[{"foreign":{"id":1500,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"397:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1503,"nodeType":"ImportDirective","src":"426:46:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":1502,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"434:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1505,"nodeType":"ImportDirective","src":"473:50:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"./libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":1504,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"481:8:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1506,"nodeType":"ImportDirective","src":"524:32:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":1507,"nodeType":"ImportDirective","src":"557:34:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3318,"symbolAliases":[],"unitAlias":""},{"id":2295,"nodeType":"ContractDefinition","src":"5237:15930:2","nodes":[{"id":1525,"nodeType":"VariableDeclaration","src":"5544:52:2","nodes":[],"constant":false,"documentation":{"id":1521,"nodeType":"StructuredDocumentation","src":"5447:92:2","text":"@notice This maps the anchor address to the profile ID\n @dev anchor -> Profile.id"},"functionSelector":"4756487f","mutability":"mutable","name":"anchorToProfileId","nameLocation":"5579:17:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"typeName":{"id":1524,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"5552:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5544:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5563:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":1531,"nodeType":"VariableDeclaration","src":"5702:47:2","nodes":[],"constant":false,"documentation":{"id":1526,"nodeType":"StructuredDocumentation","src":"5603:94:2","text":"@notice This maps the profile ID to the profile details\n @dev Profile.id -> Profile"},"functionSelector":"ee888196","mutability":"mutable","name":"profilesById","nameLocation":"5737:12:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"typeName":{"id":1530,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5710:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5702:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1529,"nodeType":"UserDefinedTypeName","pathNode":{"id":1528,"name":"Profile","nameLocations":["5721:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"5721:7:2"},"referencedDeclaration":2629,"src":"5721:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}}},"visibility":"public"},{"id":1536,"nodeType":"VariableDeclaration","src":"5859:58:2","nodes":[],"constant":false,"documentation":{"id":1532,"nodeType":"StructuredDocumentation","src":"5756:98:2","text":"@notice This maps the profile ID to the pending owner\n @dev Profile.id -> pending owner"},"functionSelector":"50d005e0","mutability":"mutable","name":"profileIdToPendingOwner","nameLocation":"5894:23:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":1535,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5859:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1534,"name":"address","nodeType":"ElementaryTypeName","src":"5878:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":1542,"nodeType":"VariableDeclaration","src":"5974:60:2","nodes":[],"constant":true,"documentation":{"id":1537,"nodeType":"StructuredDocumentation","src":"5924:45:2","text":"@notice Allo Owner Role for fund recovery"},"functionSelector":"cfda7e0a","mutability":"constant","name":"ALLO_OWNER","nameLocation":"5998:10:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"414c4c4f5f4f574e4552","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6021:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""},"value":"ALLO_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""}],"id":1539,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6011:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6011:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":1553,"nodeType":"ModifierDefinition","src":"6360:108:2","nodes":[],"body":{"id":1552,"nodeType":"Block","src":"6406:62:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1548,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1545,"src":"6439:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1547,"name":"_checkOnlyProfileOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2071,"src":"6416:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1550,"nodeType":"ExpressionStatement","src":"6416:34:2"},{"id":1551,"nodeType":"PlaceholderStatement","src":"6460:1:2"}]},"documentation":{"id":1543,"nodeType":"StructuredDocumentation","src":"6177:178:2","text":"@notice Checks if the caller is the profile owner\n @dev Reverts `UNAUTHORIZED()` if the caller is not the profile owner\n @param _profileId The ID of the profile"},"name":"onlyProfileOwner","nameLocation":"6369:16:2","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"mutability":"mutable","name":"_profileId","nameLocation":"6394:10:2","nodeType":"VariableDeclaration","scope":1553,"src":"6386:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6386:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6385:20:2"},"virtual":false,"visibility":"internal"},{"id":1578,"nodeType":"FunctionDefinition","src":"6841:257:2","nodes":[],"body":{"id":1577,"nodeType":"Block","src":"6903:195:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1562,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"6968:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6986:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6978:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1563,"name":"address","nodeType":"ElementaryTypeName","src":"6978:7:2","typeDescriptions":{}}},"id":1566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6978:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6968:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1571,"nodeType":"IfStatement","src":"6964:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1568,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"6997:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6997:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1570,"nodeType":"RevertStatement","src":"6990:21:2"}},{"expression":{"arguments":[{"id":1573,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"7072:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1574,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"7084:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1572,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"7061:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1576,"nodeType":"ExpressionStatement","src":"7061:30:2"}]},"documentation":{"id":1554,"nodeType":"StructuredDocumentation","src":"6608:228:2","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\n @param _owner The owner of the contract"},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":1559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6900:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":1560,"kind":"modifierInvocation","modifierName":{"id":1558,"name":"reinitializer","nameLocations":["6886:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53168,"src":"6886:13:2"},"nodeType":"ModifierInvocation","src":"6886:16:2"}],"name":"initialize","nameLocation":"6850:10:2","parameters":{"id":1557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1556,"mutability":"mutable","name":"_owner","nameLocation":"6869:6:2","nodeType":"VariableDeclaration","scope":1578,"src":"6861:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1555,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6860:16:2"},"returnParameters":{"id":1561,"nodeType":"ParameterList","parameters":[],"src":"6903:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1592,"nodeType":"FunctionDefinition","src":"7472:131:2","nodes":[],"body":{"id":1591,"nodeType":"Block","src":"7555:48:2","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1587,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7572:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1589,"indexExpression":{"id":1588,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1581,"src":"7585:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7572:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1586,"id":1590,"nodeType":"Return","src":"7565:31:2"}]},"baseFunctions":[2685],"documentation":{"id":1579,"nodeType":"StructuredDocumentation","src":"7240:227:2","text":"@notice Retrieve profile by profileId\n @dev Used when you have the 'profileId' and want to retrieve the profile\n @param _profileId The ID of the profile\n @return The Profile details for the `_profileId`"},"functionSelector":"0114cf0a","implemented":true,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"7481:14:2","parameters":{"id":1582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1581,"mutability":"mutable","name":"_profileId","nameLocation":"7504:10:2","nodeType":"VariableDeclaration","scope":1592,"src":"7496:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7495:20:2"},"returnParameters":{"id":1586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1592,"src":"7539:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1584,"nodeType":"UserDefinedTypeName","pathNode":{"id":1583,"name":"Profile","nameLocations":["7539:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7539:7:2"},"referencedDeclaration":2629,"src":"7539:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7538:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1612,"nodeType":"FunctionDefinition","src":"7837:187:2","nodes":[],"body":{"id":1611,"nodeType":"Block","src":"7921:103:2","nodes":[],"statements":[{"assignments":[1602],"declarations":[{"constant":false,"id":1602,"mutability":"mutable","name":"profileId","nameLocation":"7939:9:2","nodeType":"VariableDeclaration","scope":1611,"src":"7931:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7931:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1606,"initialValue":{"baseExpression":{"id":1603,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"7951:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1605,"indexExpression":{"id":1604,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7969:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7951:26:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7931:46:2"},{"expression":{"baseExpression":{"id":1607,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7994:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1609,"indexExpression":{"id":1608,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1602,"src":"8007:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7994:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1600,"id":1610,"nodeType":"Return","src":"7987:30:2"}]},"baseFunctions":[2694],"documentation":{"id":1593,"nodeType":"StructuredDocumentation","src":"7609:223:2","text":"@notice Retrieve profile by anchor\n @dev Used when you have the 'anchor' address and want to retrieve the profile\n @param _anchor The anchor of the profile\n @return Profile details for the `_anchor`"},"functionSelector":"dd93da43","implemented":true,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"7846:18:2","parameters":{"id":1596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1595,"mutability":"mutable","name":"_anchor","nameLocation":"7873:7:2","nodeType":"VariableDeclaration","scope":1612,"src":"7865:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1594,"name":"address","nodeType":"ElementaryTypeName","src":"7865:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7864:17:2"},"returnParameters":{"id":1600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1612,"src":"7905:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1598,"nodeType":"UserDefinedTypeName","pathNode":{"id":1597,"name":"Profile","nameLocations":["7905:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7905:7:2"},"referencedDeclaration":2629,"src":"7905:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7904:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1756,"nodeType":"FunctionDefinition","src":"8781:1901:2","nodes":[],"body":{"id":1755,"nodeType":"Block","src":"8984:1698:2","nodes":[],"statements":[{"assignments":[1631],"declarations":[{"constant":false,"id":1631,"mutability":"mutable","name":"profileId","nameLocation":"9068:9:2","nodeType":"VariableDeclaration","scope":1755,"src":"9060:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9060:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1636,"initialValue":{"arguments":[{"id":1633,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9099:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1634,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9107:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1632,"name":"_generateProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"9080:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9060:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1637,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9173:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1639,"indexExpression":{"id":1638,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9186:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9173:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9197:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9173:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9215:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9207:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1641,"name":"address","nodeType":"ElementaryTypeName","src":"9207:7:2","typeDescriptions":{}}},"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9173:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1649,"nodeType":"IfStatement","src":"9169:78:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1646,"name":"NONCE_NOT_AVAILABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3026,"src":"9226:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9226:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1648,"nodeType":"RevertStatement","src":"9219:28:2"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1650,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9317:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9335:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9327:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1651,"name":"address","nodeType":"ElementaryTypeName","src":"9327:7:2","typeDescriptions":{}}},"id":1654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9327:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9317:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1659,"nodeType":"IfStatement","src":"9313:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1656,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"9346:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1658,"nodeType":"RevertStatement","src":"9339:21:2"}},{"assignments":[1662],"declarations":[{"constant":false,"id":1662,"mutability":"mutable","name":"profile","nameLocation":"9462:7:2","nodeType":"VariableDeclaration","scope":1755,"src":"9447:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1661,"nodeType":"UserDefinedTypeName","pathNode":{"id":1660,"name":"Profile","nameLocations":["9447:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"9447:7:2"},"referencedDeclaration":2629,"src":"9447:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1674,"initialValue":{"arguments":[{"id":1664,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9498:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1665,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9528:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1666,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9554:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1667,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"9583:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":1668,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1670,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9657:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1671,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9668:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1669,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"9641:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1663,"name":"Profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2629,"src":"9472:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Profile_$2629_storage_ptr_$","typeString":"type(struct IRegistry.Profile storage pointer)"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9494:2:2","9521:5:2","9548:4:2","9573:8:2","9606:5:2","9633:6:2"],"names":["id","nonce","name","metadata","owner","anchor"],"nodeType":"FunctionCall","src":"9472:213:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"nodeType":"VariableDeclarationStatement","src":"9447:238:2"},{"expression":{"id":1679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1675,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9696:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1677,"indexExpression":{"id":1676,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9709:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9696:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1678,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9722:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"src":"9696:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1680,"nodeType":"ExpressionStatement","src":"9696:33:2"},{"expression":{"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1681,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9739:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1684,"indexExpression":{"expression":{"id":1682,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9757:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9765:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9757:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9739:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1685,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9775:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9739:45:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1687,"nodeType":"ExpressionStatement","src":"9739:45:2"},{"assignments":[1689],"declarations":[{"constant":false,"id":1689,"mutability":"mutable","name":"memberLength","nameLocation":"9851:12:2","nodeType":"VariableDeclaration","scope":1755,"src":"9843:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1688,"name":"uint256","nodeType":"ElementaryTypeName","src":"9843:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1692,"initialValue":{"expression":{"id":1690,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"9866:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9875:6:2","memberName":"length","nodeType":"MemberAccess","src":"9866:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9843:38:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1693,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"9942:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9962:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9972:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9976:6:2","memberName":"sender","nodeType":"MemberAccess","src":"9972:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9962:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1705,"nodeType":"IfStatement","src":"9938:92:2","trueBody":{"id":1704,"nodeType":"Block","src":"9984:46:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1701,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"10005:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10005:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1703,"nodeType":"RevertStatement","src":"9998:21:2"}]}},{"body":{"id":1737,"nodeType":"Block","src":"10075:367:2","statements":[{"assignments":[1713],"declarations":[{"constant":false,"id":1713,"mutability":"mutable","name":"member","nameLocation":"10097:6:2","nodeType":"VariableDeclaration","scope":1737,"src":"10089:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1712,"name":"address","nodeType":"ElementaryTypeName","src":"10089:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1717,"initialValue":{"baseExpression":{"id":1714,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"10106:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1716,"indexExpression":{"id":1715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10115:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10106:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10089:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1718,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10206:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10224:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10216:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1719,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:2","typeDescriptions":{}}},"id":1722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10216:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10206:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1727,"nodeType":"IfStatement","src":"10202:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1724,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10235:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10235:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1726,"nodeType":"RevertStatement","src":"10228:21:2"}},{"expression":{"arguments":[{"id":1729,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10354:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1730,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10365:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1728,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"10343:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10343:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"10343:29:2"},{"id":1736,"nodeType":"UncheckedBlock","src":"10386:46:2","statements":[{"expression":{"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10414:3:2","subExpression":{"id":1733,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10416:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ExpressionStatement","src":"10414:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10056:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1710,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"10060:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10056:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1738,"initializationExpression":{"assignments":[1707],"declarations":[{"constant":false,"id":1707,"mutability":"mutable","name":"i","nameLocation":"10053:1:2","nodeType":"VariableDeclaration","scope":1738,"src":"10045:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1706,"name":"uint256","nodeType":"ElementaryTypeName","src":"10045:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1708,"nodeType":"VariableDeclarationStatement","src":"10045:9:2"},"nodeType":"ForStatement","src":"10040:402:2"},{"eventCall":{"arguments":[{"id":1740,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10527:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1741,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10546:5:2","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"10538:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1743,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10553:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10561:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"10553:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1745,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10575:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"10567:16:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"expression":{"id":1747,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10585:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10593:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"10585:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1749,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10600:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10608:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"10600:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1739,"name":"ProfileCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"10512:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,struct Metadata memory,address,address)"}},"id":1751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1752,"nodeType":"EmitStatement","src":"10507:108:2"},{"expression":{"id":1753,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10666:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1629,"id":1754,"nodeType":"Return","src":"10659:16:2"}]},"baseFunctions":[2742],"documentation":{"id":1613,"nodeType":"StructuredDocumentation","src":"8030:746:2","text":"@notice Creates a new profile\n @dev This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event\n Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile\n Note: The 'name' and 'profileId' are used to generate the 'anchor' address\n @param _nonce Nonce used to generate profileId. Can be any integer, but should be unique\n for each profile.\n @param _name The name of the profile\n @param _metadata The metadata of the profile\n @param _owner The owner of the profile\n @param _members The members of the profile (can be set only if msg.sender == _owner)\n @return The ID for the created profile"},"functionSelector":"3a92f65f","implemented":true,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"8790:13:2","parameters":{"id":1626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"_nonce","nameLocation":"8821:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8813:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1614,"name":"uint256","nodeType":"ElementaryTypeName","src":"8813:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"_name","nameLocation":"8851:5:2","nodeType":"VariableDeclaration","scope":1756,"src":"8837:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1616,"name":"string","nodeType":"ElementaryTypeName","src":"8837:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1620,"mutability":"mutable","name":"_metadata","nameLocation":"8882:9:2","nodeType":"VariableDeclaration","scope":1756,"src":"8866:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1619,"nodeType":"UserDefinedTypeName","pathNode":{"id":1618,"name":"Metadata","nameLocations":["8866:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8866:8:2"},"referencedDeclaration":3098,"src":"8866:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"_owner","nameLocation":"8909:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8901:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1621,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1625,"mutability":"mutable","name":"_members","nameLocation":"8942:8:2","nodeType":"VariableDeclaration","scope":1756,"src":"8925:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1623,"name":"address","nodeType":"ElementaryTypeName","src":"8925:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1624,"nodeType":"ArrayTypeName","src":"8925:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8803:153:2"},"returnParameters":{"id":1629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1756,"src":"8975:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8975:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8974:9:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1820,"nodeType":"FunctionDefinition","src":"11210:830:2","nodes":[],"body":{"id":1819,"nodeType":"Block","src":"11369:671:2","nodes":[],"statements":[{"expression":{"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1769,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11420:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1771,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11445:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1772,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11457:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1770,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"11429:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11429:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11420:43:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1775,"nodeType":"ExpressionStatement","src":"11420:43:2"},{"assignments":[1778],"declarations":[{"constant":false,"id":1778,"mutability":"mutable","name":"profile","nameLocation":"11554:7:2","nodeType":"VariableDeclaration","scope":1819,"src":"11538:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1777,"nodeType":"UserDefinedTypeName","pathNode":{"id":1776,"name":"Profile","nameLocations":["11538:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"11538:7:2"},"referencedDeclaration":2629,"src":"11538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1782,"initialValue":{"baseExpression":{"id":1779,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"11564:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1781,"indexExpression":{"id":1780,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11577:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11564:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11538:50:2"},{"expression":{"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1783,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11627:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11635:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"11627:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1786,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11642:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11627:20:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1788,"nodeType":"ExpressionStatement","src":"11627:20:2"},{"expression":{"id":1797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1789,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11687:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1792,"indexExpression":{"expression":{"id":1790,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11705:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11713:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11705:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11687:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":1795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11731:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11723:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11723:7:2","typeDescriptions":{}}},"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11723:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11687:46:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1798,"nodeType":"ExpressionStatement","src":"11687:46:2"},{"expression":{"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1799,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11774:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11782:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11774:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1802,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11791:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11774:23:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1804,"nodeType":"ExpressionStatement","src":"11774:23:2"},{"expression":{"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1805,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11807:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1807,"indexExpression":{"id":1806,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11825:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11807:25:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1808,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11835:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11807:38:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1810,"nodeType":"ExpressionStatement","src":"11807:38:2"},{"eventCall":{"arguments":[{"id":1812,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11950:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1813,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11962:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1814,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11969:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1811,"name":"ProfileNameUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"11931:18:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,string memory,address)"}},"id":1815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1816,"nodeType":"EmitStatement","src":"11926:50:2"},{"expression":{"id":1817,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"12027:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1768,"id":1818,"nodeType":"Return","src":"12020:13:2"}]},"baseFunctions":[2752],"documentation":{"id":1757,"nodeType":"StructuredDocumentation","src":"10688:517:2","text":"@notice Updates the name of the profile and generates new anchor.\n Emits a 'ProfileNameUpdated()' event.\n @dev Use caution when updating your profile name as it will generate a new anchor address. You can always update the name\n back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\n @param _profileId The profileId of the profile\n @param _name The new name of the profile\n @return anchor The new anchor"},"functionSelector":"cf189ff2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1764,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11320:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1765,"kind":"modifierInvocation","modifierName":{"id":1763,"name":"onlyProfileOwner","nameLocations":["11303:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"11303:16:2"},"nodeType":"ModifierInvocation","src":"11303:28:2"}],"name":"updateProfileName","nameLocation":"11219:17:2","parameters":{"id":1762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1759,"mutability":"mutable","name":"_profileId","nameLocation":"11245:10:2","nodeType":"VariableDeclaration","scope":1820,"src":"11237:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11237:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1761,"mutability":"mutable","name":"_name","nameLocation":"11271:5:2","nodeType":"VariableDeclaration","scope":1820,"src":"11257:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1760,"name":"string","nodeType":"ElementaryTypeName","src":"11257:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11236:41:2"},"returnParameters":{"id":1768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1767,"mutability":"mutable","name":"anchor","nameLocation":"11357:6:2","nodeType":"VariableDeclaration","scope":1820,"src":"11349:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1766,"name":"address","nodeType":"ElementaryTypeName","src":"11349:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11348:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1845,"nodeType":"FunctionDefinition","src":"12309:415:2","nodes":[],"body":{"id":1844,"nodeType":"Block","src":"12445:279:2","nodes":[],"statements":[{"expression":{"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1832,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"12553:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1834,"indexExpression":{"id":1833,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12566:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12553:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12578:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"12553:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1836,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12589:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12553:45:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":1838,"nodeType":"ExpressionStatement","src":"12553:45:2"},{"eventCall":{"arguments":[{"id":1840,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12695:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1841,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12707:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":1839,"name":"ProfileMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"12672:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,struct Metadata memory)"}},"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12672:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1843,"nodeType":"EmitStatement","src":"12667:50:2"}]},"baseFunctions":[2761],"documentation":{"id":1821,"nodeType":"StructuredDocumentation","src":"12046:258:2","text":"@notice Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _metadata The new 'Metadata' of the profile"},"functionSelector":"ac402839","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1829,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12429:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1830,"kind":"modifierInvocation","modifierName":{"id":1828,"name":"onlyProfileOwner","nameLocations":["12412:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"12412:16:2"},"nodeType":"ModifierInvocation","src":"12412:28:2"}],"name":"updateProfileMetadata","nameLocation":"12318:21:2","parameters":{"id":1827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1823,"mutability":"mutable","name":"_profileId","nameLocation":"12348:10:2","nodeType":"VariableDeclaration","scope":1845,"src":"12340:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12340:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1826,"mutability":"mutable","name":"_metadata","nameLocation":"12376:9:2","nodeType":"VariableDeclaration","scope":1845,"src":"12360:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1825,"nodeType":"UserDefinedTypeName","pathNode":{"id":1824,"name":"Metadata","nameLocations":["12360:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12360:8:2"},"referencedDeclaration":3098,"src":"12360:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12339:47:2"},"returnParameters":{"id":1831,"nodeType":"ParameterList","parameters":[],"src":"12445:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1866,"nodeType":"FunctionDefinition","src":"12992:208:2","nodes":[],"body":{"id":1865,"nodeType":"Block","src":"13093:107:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1856,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13128:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1857,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13140:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1855,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13110:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13110:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1860,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13172:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1861,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13184:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1859,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13153:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13153:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13110:83:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1864,"nodeType":"Return","src":"13103:90:2"}]},"baseFunctions":[2704],"documentation":{"id":1846,"nodeType":"StructuredDocumentation","src":"12730:257:2","text":"@notice Checks if the address is an owner or member of the profile\n @param _profileId The ID of the profile\n @param _account The address to check\n @return 'true' if the address is an owner or member of the profile, otherwise 'false'"},"functionSelector":"5e8a7915","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"13001:24:2","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1848,"mutability":"mutable","name":"_profileId","nameLocation":"13034:10:2","nodeType":"VariableDeclaration","scope":1866,"src":"13026:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13026:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"_account","nameLocation":"13054:8:2","nodeType":"VariableDeclaration","scope":1866,"src":"13046:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"13046:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13025:38:2"},"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1866,"src":"13087:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13087:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13086:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1882,"nodeType":"FunctionDefinition","src":"13452:152:2","nodes":[],"body":{"id":1881,"nodeType":"Block","src":"13543:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1877,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"13578:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1878,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"13590:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1876,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13560:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13560:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1875,"id":1880,"nodeType":"Return","src":"13553:44:2"}]},"baseFunctions":[2714],"documentation":{"id":1867,"nodeType":"StructuredDocumentation","src":"13206:241:2","text":"@notice Checks if the given address is an owner of the profile\n @param _profileId The ID of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"functionSelector":"39b86b8c","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"13461:16:2","parameters":{"id":1872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"_profileId","nameLocation":"13486:10:2","nodeType":"VariableDeclaration","scope":1882,"src":"13478:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13478:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"_owner","nameLocation":"13506:6:2","nodeType":"VariableDeclaration","scope":1882,"src":"13498:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1870,"name":"address","nodeType":"ElementaryTypeName","src":"13498:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13477:36:2"},"returnParameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1882,"src":"13537:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1873,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13536:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1898,"nodeType":"FunctionDefinition","src":"13857:156:2","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"13950:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"13986:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1894,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"13998:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1892,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13967:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13967:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1891,"id":1896,"nodeType":"Return","src":"13960:46:2"}]},"baseFunctions":[2724],"documentation":{"id":1883,"nodeType":"StructuredDocumentation","src":"13610:242:2","text":"@notice Checks if the given address is a member of the profile\n @param _profileId The ID of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"functionSelector":"0ec1fbac","implemented":true,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"13866:17:2","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1885,"mutability":"mutable","name":"_profileId","nameLocation":"13892:10:2","nodeType":"VariableDeclaration","scope":1898,"src":"13884:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13884:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"_member","nameLocation":"13912:7:2","nodeType":"VariableDeclaration","scope":1898,"src":"13904:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1886,"name":"address","nodeType":"ElementaryTypeName","src":"13904:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13883:37:2"},"returnParameters":{"id":1891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1898,"src":"13944:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1889,"name":"bool","nodeType":"ElementaryTypeName","src":"13944:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13943:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1921,"nodeType":"FunctionDefinition","src":"14336:382:2","nodes":[],"body":{"id":1920,"nodeType":"Block","src":"14472:246:2","nodes":[],"statements":[{"expression":{"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1909,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"14530:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1911,"indexExpression":{"id":1910,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14554:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14530:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1912,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14568:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14530:51:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1914,"nodeType":"ExpressionStatement","src":"14530:51:2"},{"eventCall":{"arguments":[{"id":1916,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14685:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1917,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14697:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1915,"name":"ProfilePendingOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2676,"src":"14658:26:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1919,"nodeType":"EmitStatement","src":"14653:58:2"}]},"baseFunctions":[2769],"documentation":{"id":1899,"nodeType":"StructuredDocumentation","src":"14019:312:2","text":"@notice Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\n @dev 'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\n @param _profileId The ID of the profile\n @param _pendingOwner The new pending owner"},"functionSelector":"3b66dacd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1906,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14456:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1907,"kind":"modifierInvocation","modifierName":{"id":1905,"name":"onlyProfileOwner","nameLocations":["14439:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"14439:16:2"},"nodeType":"ModifierInvocation","src":"14439:28:2"}],"name":"updateProfilePendingOwner","nameLocation":"14345:25:2","parameters":{"id":1904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"_profileId","nameLocation":"14379:10:2","nodeType":"VariableDeclaration","scope":1921,"src":"14371:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14371:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1903,"mutability":"mutable","name":"_pendingOwner","nameLocation":"14399:13:2","nodeType":"VariableDeclaration","scope":1921,"src":"14391:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1902,"name":"address","nodeType":"ElementaryTypeName","src":"14391:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14370:43:2"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"14472:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1966,"nodeType":"FunctionDefinition","src":"15016:745:2","nodes":[],"body":{"id":1965,"nodeType":"Block","src":"15077:684:2","nodes":[],"statements":[{"assignments":[1929],"declarations":[{"constant":false,"id":1929,"mutability":"mutable","name":"profile","nameLocation":"15147:7:2","nodeType":"VariableDeclaration","scope":1965,"src":"15131:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1928,"nodeType":"UserDefinedTypeName","pathNode":{"id":1927,"name":"Profile","nameLocations":["15131:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"15131:7:2"},"referencedDeclaration":2629,"src":"15131:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1933,"initialValue":{"baseExpression":{"id":1930,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"15157:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1932,"indexExpression":{"id":1931,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15170:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15157:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15131:50:2"},{"assignments":[1935],"declarations":[{"constant":false,"id":1935,"mutability":"mutable","name":"newOwner","nameLocation":"15290:8:2","nodeType":"VariableDeclaration","scope":1965,"src":"15282:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1934,"name":"address","nodeType":"ElementaryTypeName","src":"15282:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1939,"initialValue":{"baseExpression":{"id":1936,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15301:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1938,"indexExpression":{"id":1937,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15325:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15301:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15282:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1940,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15414:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15418:6:2","memberName":"sender","nodeType":"MemberAccess","src":"15414:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1942,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15428:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15414:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1947,"nodeType":"IfStatement","src":"15410:54:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1944,"name":"NOT_PENDING_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"15445:17:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1946,"nodeType":"RevertStatement","src":"15438:26:2"}},{"expression":{"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1948,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15558:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15550:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1951,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15566:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15550:24:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1953,"nodeType":"ExpressionStatement","src":"15550:24:2"},{"expression":{"id":1957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"15584:42:2","subExpression":{"baseExpression":{"id":1954,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15591:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1956,"indexExpression":{"id":1955,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15615:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15591:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1958,"nodeType":"ExpressionStatement","src":"15584:42:2"},{"eventCall":{"arguments":[{"id":1960,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15728:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1961,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15740:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15748:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15740:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1959,"name":"ProfileOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2669,"src":"15708:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15708:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1964,"nodeType":"EmitStatement","src":"15703:51:2"}]},"baseFunctions":[2775],"documentation":{"id":1922,"nodeType":"StructuredDocumentation","src":"14724:287:2","text":"@notice Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\n @dev 'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\n @param _profileId The ID of the profile"},"functionSelector":"2497f3c6","implemented":true,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"15025:22:2","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1924,"mutability":"mutable","name":"_profileId","nameLocation":"15056:10:2","nodeType":"VariableDeclaration","scope":1966,"src":"15048:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15047:20:2"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"15077:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2017,"nodeType":"FunctionDefinition","src":"15962:658:2","nodes":[],"body":{"id":2016,"nodeType":"Block","src":"16067:553:2","nodes":[],"statements":[{"assignments":[1979],"declarations":[{"constant":false,"id":1979,"mutability":"mutable","name":"memberLength","nameLocation":"16085:12:2","nodeType":"VariableDeclaration","scope":2016,"src":"16077:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"16077:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1982,"initialValue":{"expression":{"id":1980,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16100:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16109:6:2","memberName":"length","nodeType":"MemberAccess","src":"16100:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16077:38:2"},{"body":{"id":2014,"nodeType":"Block","src":"16246:368:2","statements":[{"assignments":[1990],"declarations":[{"constant":false,"id":1990,"mutability":"mutable","name":"member","nameLocation":"16268:6:2","nodeType":"VariableDeclaration","scope":2014,"src":"16260:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"16260:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1994,"initialValue":{"baseExpression":{"id":1991,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16277:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1993,"indexExpression":{"id":1992,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16286:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16277:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16260:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1995,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16377:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16395:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1996,"name":"address","nodeType":"ElementaryTypeName","src":"16387:7:2","typeDescriptions":{}}},"id":1999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16387:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16377:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2004,"nodeType":"IfStatement","src":"16373:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2001,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"16406:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2003,"nodeType":"RevertStatement","src":"16399:21:2"}},{"expression":{"arguments":[{"id":2006,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16525:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2007,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16537:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2005,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"16514:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16514:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2009,"nodeType":"ExpressionStatement","src":"16514:30:2"},{"id":2013,"nodeType":"UncheckedBlock","src":"16558:46:2","statements":[{"expression":{"id":2011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16586:3:2","subExpression":{"id":2010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16588:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2012,"nodeType":"ExpressionStatement","src":"16586:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16227:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1987,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"16231:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16227:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2015,"initializationExpression":{"assignments":[1984],"declarations":[{"constant":false,"id":1984,"mutability":"mutable","name":"i","nameLocation":"16224:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"16216:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1983,"name":"uint256","nodeType":"ElementaryTypeName","src":"16216:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1985,"nodeType":"VariableDeclarationStatement","src":"16216:9:2"},"nodeType":"ForStatement","src":"16211:403:2"}]},"baseFunctions":[2784],"documentation":{"id":1967,"nodeType":"StructuredDocumentation","src":"15767:190:2","text":"@notice Adds members to the profile\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to add"},"functionSelector":"5063f361","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1975,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16055:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1976,"kind":"modifierInvocation","modifierName":{"id":1974,"name":"onlyProfileOwner","nameLocations":["16038:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16038:16:2"},"nodeType":"ModifierInvocation","src":"16038:28:2"}],"name":"addMembers","nameLocation":"15971:10:2","parameters":{"id":1973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1969,"mutability":"mutable","name":"_profileId","nameLocation":"15990:10:2","nodeType":"VariableDeclaration","scope":2017,"src":"15982:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15982:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"_members","nameLocation":"16019:8:2","nodeType":"VariableDeclaration","scope":2017,"src":"16002:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1970,"name":"address","nodeType":"ElementaryTypeName","src":"16002:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1971,"nodeType":"ArrayTypeName","src":"16002:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15981:47:2"},"returnParameters":{"id":1977,"nodeType":"ParameterList","parameters":[],"src":"16067:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2054,"nodeType":"FunctionDefinition","src":"16837:500:2","nodes":[],"body":{"id":2053,"nodeType":"Block","src":"16945:392:2","nodes":[],"statements":[{"assignments":[2030],"declarations":[{"constant":false,"id":2030,"mutability":"mutable","name":"memberLength","nameLocation":"16963:12:2","nodeType":"VariableDeclaration","scope":2053,"src":"16955:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2029,"name":"uint256","nodeType":"ElementaryTypeName","src":"16955:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2033,"initialValue":{"expression":{"id":2031,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"16978:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16987:6:2","memberName":"length","nodeType":"MemberAccess","src":"16978:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16955:38:2"},{"body":{"id":2051,"nodeType":"Block","src":"17129:202:2","statements":[{"expression":{"arguments":[{"id":2041,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"17237:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":2042,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"17249:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2044,"indexExpression":{"id":2043,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17258:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17249:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2040,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52772,"src":"17225:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17225:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2046,"nodeType":"ExpressionStatement","src":"17225:36:2"},{"id":2050,"nodeType":"UncheckedBlock","src":"17275:46:2","statements":[{"expression":{"id":2048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17303:3:2","subExpression":{"id":2047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17305:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2049,"nodeType":"ExpressionStatement","src":"17303:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17110:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2038,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2030,"src":"17114:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17110:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2052,"initializationExpression":{"assignments":[2035],"declarations":[{"constant":false,"id":2035,"mutability":"mutable","name":"i","nameLocation":"17107:1:2","nodeType":"VariableDeclaration","scope":2052,"src":"17099:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2034,"name":"uint256","nodeType":"ElementaryTypeName","src":"17099:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2036,"nodeType":"VariableDeclarationStatement","src":"17099:9:2"},"nodeType":"ForStatement","src":"17094:237:2"}]},"baseFunctions":[2793],"documentation":{"id":2018,"nodeType":"StructuredDocumentation","src":"16626:206:2","text":"@notice Removes members from the profile\n @dev 'msg.sender' must be the pending owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to remove"},"functionSelector":"e0cf1e4c","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2026,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"16933:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2027,"kind":"modifierInvocation","modifierName":{"id":2025,"name":"onlyProfileOwner","nameLocations":["16916:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16916:16:2"},"nodeType":"ModifierInvocation","src":"16916:28:2"}],"name":"removeMembers","nameLocation":"16846:13:2","parameters":{"id":2024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2020,"mutability":"mutable","name":"_profileId","nameLocation":"16868:10:2","nodeType":"VariableDeclaration","scope":2054,"src":"16860:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16860:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2023,"mutability":"mutable","name":"_members","nameLocation":"16897:8:2","nodeType":"VariableDeclaration","scope":2054,"src":"16880:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2021,"name":"address","nodeType":"ElementaryTypeName","src":"16880:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2022,"nodeType":"ArrayTypeName","src":"16880:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16859:47:2"},"returnParameters":{"id":2028,"nodeType":"ParameterList","parameters":[],"src":"16945:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2071,"nodeType":"FunctionDefinition","src":"17659:152:2","nodes":[],"body":{"id":2070,"nodeType":"Block","src":"17725:86:2","nodes":[],"statements":[{"condition":{"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17739:42:2","subExpression":{"arguments":[{"id":2061,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"17758:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":2062,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17770:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17774:6:2","memberName":"sender","nodeType":"MemberAccess","src":"17770:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2060,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"17740:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17740:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2069,"nodeType":"IfStatement","src":"17735:69:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2066,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"17790:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17790:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2068,"nodeType":"RevertStatement","src":"17783:21:2"}}]},"documentation":{"id":2055,"nodeType":"StructuredDocumentation","src":"17479:175:2","text":"@notice Checks if the caller is the owner of the profile\n @dev Internal function used by modifier 'onlyProfileOwner'\n @param _profileId The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyProfileOwner","nameLocation":"17668:22:2","parameters":{"id":2058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2057,"mutability":"mutable","name":"_profileId","nameLocation":"17699:10:2","nodeType":"VariableDeclaration","scope":2071,"src":"17691:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17691:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17690:20:2"},"returnParameters":{"id":2059,"nodeType":"ParameterList","parameters":[],"src":"17725:0:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2192,"nodeType":"FunctionDefinition","src":"18166:969:2","nodes":[],"body":{"id":2191,"nodeType":"Block","src":"18266:869:2","nodes":[],"statements":[{"assignments":[2082],"declarations":[{"constant":false,"id":2082,"mutability":"mutable","name":"encodedData","nameLocation":"18289:11:2","nodeType":"VariableDeclaration","scope":2191,"src":"18276:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2081,"name":"bytes","nodeType":"ElementaryTypeName","src":"18276:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2088,"initialValue":{"arguments":[{"id":2085,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18314:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2086,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"18326:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18303:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18307:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18303:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18303:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18276:56:2"},{"assignments":[2090],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"encodedConstructorArgs","nameLocation":"18355:22:2","nodeType":"VariableDeclaration","scope":2191,"src":"18342:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2089,"name":"bytes","nodeType":"ElementaryTypeName","src":"18342:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2099,"initialValue":{"arguments":[{"id":2093,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18391:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2096,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18411:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2094,"name":"address","nodeType":"ElementaryTypeName","src":"18403:7:2","typeDescriptions":{}}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18403:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18380:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18384:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18380:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18380:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18342:75:2"},{"assignments":[2101],"declarations":[{"constant":false,"id":2101,"mutability":"mutable","name":"bytecode","nameLocation":"18441:8:2","nodeType":"VariableDeclaration","scope":2191,"src":"18428:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2100,"name":"bytes","nodeType":"ElementaryTypeName","src":"18428:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2110,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":2105,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18474:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}],"id":2104,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18469:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18469:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_Anchor_$1492","typeString":"type(contract Anchor)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18482:12:2","memberName":"creationCode","nodeType":"MemberAccess","src":"18469:25:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2108,"name":"encodedConstructorArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18496:22:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18452:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18456:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18452:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18452:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18428:91:2"},{"assignments":[2112],"declarations":[{"constant":false,"id":2112,"mutability":"mutable","name":"salt","nameLocation":"18538:4:2","nodeType":"VariableDeclaration","scope":2191,"src":"18530:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18530:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2116,"initialValue":{"arguments":[{"id":2114,"name":"encodedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"18555:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2113,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18545:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18545:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18530:37:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"mutability":"mutable","name":"preComputedAddress","nameLocation":"18586:18:2","nodeType":"VariableDeclaration","scope":2191,"src":"18578:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2117,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2145,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":2130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18678:4:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":2129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18671:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":2128,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18671:6:2","typeDescriptions":{}}},"id":2131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18671:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":2134,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18693:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18685:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2132,"name":"address","nodeType":"ElementaryTypeName","src":"18685:7:2","typeDescriptions":{}}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18685:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2136,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18700:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2138,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"18716:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2137,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18706:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18706:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18658:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18654:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18654:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2125,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18644:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18644:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18636:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2123,"name":"uint256","nodeType":"ElementaryTypeName","src":"18636:7:2","typeDescriptions":{}}},"id":2142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18636:92:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18628:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2121,"name":"uint160","nodeType":"ElementaryTypeName","src":"18628:7:2","typeDescriptions":{}}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18628:101:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18607:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:2","typeDescriptions":{}}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18607:132:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:161:2"},{"clauses":[{"block":{"id":2168,"nodeType":"Block","src":"18918:50:2","statements":[{"expression":{"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2161,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"18932:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2164,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"18949:7:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}],"id":2163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18941:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2162,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:2","typeDescriptions":{}}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18941:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18932:25:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2167,"nodeType":"ExpressionStatement","src":"18932:25:2"}]},"errorName":"","id":2169,"nodeType":"TryCatchClause","parameters":{"id":2160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2159,"mutability":"mutable","name":"_anchor","nameLocation":"18909:7:2","nodeType":"VariableDeclaration","scope":2169,"src":"18902:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"},"typeName":{"id":2158,"nodeType":"UserDefinedTypeName","pathNode":{"id":2157,"name":"Anchor","nameLocations":["18902:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18902:6:2"},"referencedDeclaration":1492,"src":"18902:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"visibility":"internal"}],"src":"18901:16:2"},"src":"18893:75:2"},{"block":{"id":2188,"nodeType":"Block","src":"18975:154:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":2173,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19008:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19000:8:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":2171,"name":"address","nodeType":"ElementaryTypeName","src":"19000:8:2","stateMutability":"payable","typeDescriptions":{}}},"id":2174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19000:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":2170,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18993:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19029:9:2","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"18993:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2178,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"19044:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18993:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2183,"nodeType":"IfStatement","src":"18989:88:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2180,"name":"ANCHOR_ERROR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"19063:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19063:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2182,"nodeType":"RevertStatement","src":"19056:21:2"}},{"expression":{"id":2186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2184,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"19091:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2185,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19100:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19091:27:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2187,"nodeType":"ExpressionStatement","src":"19091:27:2"}]},"errorName":"","id":2189,"nodeType":"TryCatchClause","src":"18969:160:2"}],"externalCall":{"arguments":[{"id":2151,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18866:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2154,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18886:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2152,"name":"address","nodeType":"ElementaryTypeName","src":"18878:7:2","typeDescriptions":{}}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18843:10:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$","typeString":"function (bytes32,address) returns (contract Anchor)"},"typeName":{"id":2147,"nodeType":"UserDefinedTypeName","pathNode":{"id":2146,"name":"Anchor","nameLocations":["18847:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18847:6:2"},"referencedDeclaration":1492,"src":"18847:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["salt"],"nodeType":"FunctionCallOptions","options":[{"id":2149,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18860:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"src":"18843:22:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$salt","typeString":"function (bytes32,address) returns (contract Anchor)"}},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18843:49:2","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2190,"nodeType":"TryStatement","src":"18839:290:2"}]},"documentation":{"id":2072,"nodeType":"StructuredDocumentation","src":"17817:344:2","text":"@notice Generates and deploys the anchor for the given 'profileId' and name\n @dev Internal function used by 'createProfile()' and 'updateProfileName()' to create and anchor.\n @param _profileId The ID of the profile\n @param _name The name of the profile\n @return anchor The address of the deployed anchor contract"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateAnchor","nameLocation":"18175:15:2","parameters":{"id":2077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2074,"mutability":"mutable","name":"_profileId","nameLocation":"18199:10:2","nodeType":"VariableDeclaration","scope":2192,"src":"18191:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18191:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2076,"mutability":"mutable","name":"_name","nameLocation":"18225:5:2","nodeType":"VariableDeclaration","scope":2192,"src":"18211:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2075,"name":"string","nodeType":"ElementaryTypeName","src":"18211:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18190:41:2"},"returnParameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"mutability":"mutable","name":"anchor","nameLocation":"18258:6:2","nodeType":"VariableDeclaration","scope":2192,"src":"18250:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2078,"name":"address","nodeType":"ElementaryTypeName","src":"18250:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18249:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2211,"nodeType":"FunctionDefinition","src":"19465:159:2","nodes":[],"body":{"id":2210,"nodeType":"Block","src":"19557:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2205,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"19601:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2206,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"19609:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19588:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"19584:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19584:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2202,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19574:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19574:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2201,"id":2209,"nodeType":"Return","src":"19567:50:2"}]},"documentation":{"id":2193,"nodeType":"StructuredDocumentation","src":"19141:319:2","text":"@notice Generates the 'profileId' based on msg.sender and nonce\n @dev Internal function used by 'createProfile()' to generate profileId.\n @param _nonce Nonce provided by the caller to generate 'profileId'\n @param _owner The owner of the profile\n @return 'profileId' The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateProfileId","nameLocation":"19474:18:2","parameters":{"id":2198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2195,"mutability":"mutable","name":"_nonce","nameLocation":"19501:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19493:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2194,"name":"uint256","nodeType":"ElementaryTypeName","src":"19493:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2197,"mutability":"mutable","name":"_owner","nameLocation":"19517:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2196,"name":"address","nodeType":"ElementaryTypeName","src":"19509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19492:32:2"},"returnParameters":{"id":2201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2211,"src":"19548:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19548:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19547:9:2"},"scope":2295,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2229,"nodeType":"FunctionDefinition","src":"19963:156:2","nodes":[],"body":{"id":2228,"nodeType":"Block","src":"20055:64:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":2221,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"20072:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":2223,"indexExpression":{"id":2222,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2214,"src":"20085:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20072:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":2224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20097:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"20072:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2225,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2216,"src":"20106:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20072:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2220,"id":2227,"nodeType":"Return","src":"20065:47:2"}]},"documentation":{"id":2212,"nodeType":"StructuredDocumentation","src":"19630:328:2","text":"@notice Checks if an address is the owner of the profile\n @dev Internal function used to determine if an address is the profile owner\n @param _profileId The 'profileId' of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isOwnerOfProfile","nameLocation":"19972:17:2","parameters":{"id":2217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2214,"mutability":"mutable","name":"_profileId","nameLocation":"19998:10:2","nodeType":"VariableDeclaration","scope":2229,"src":"19990:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2216,"mutability":"mutable","name":"_owner","nameLocation":"20018:6:2","nodeType":"VariableDeclaration","scope":2229,"src":"20010:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2215,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19989:36:2"},"returnParameters":{"id":2220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2229,"src":"20049:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2218,"name":"bool","nodeType":"ElementaryTypeName","src":"20049:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20048:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2245,"nodeType":"FunctionDefinition","src":"20464:146:2","nodes":[],"body":{"id":2244,"nodeType":"Block","src":"20558:52:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2240,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"20583:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2241,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"20595:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2239,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"20575:7:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20575:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2243,"nodeType":"Return","src":"20568:35:2"}]},"documentation":{"id":2230,"nodeType":"StructuredDocumentation","src":"20125:334:2","text":"@notice Checks if an address is a member of the profile\n @dev Internal function used to determine if an address is a member of the profile\n @param _profileId The 'profileId' of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isMemberOfProfile","nameLocation":"20473:18:2","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"mutability":"mutable","name":"_profileId","nameLocation":"20500:10:2","nodeType":"VariableDeclaration","scope":2245,"src":"20492:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20492:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2234,"mutability":"mutable","name":"_member","nameLocation":"20520:7:2","nodeType":"VariableDeclaration","scope":2245,"src":"20512:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2233,"name":"address","nodeType":"ElementaryTypeName","src":"20512:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20491:37:2"},"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2245,"src":"20552:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"20552:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20551:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2294,"nodeType":"FunctionDefinition","src":"20847:318:2","nodes":[],"body":{"id":2293,"nodeType":"Block","src":"20935:230:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2256,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"20949:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20971:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2257,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:2","typeDescriptions":{}}},"id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20949:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2265,"nodeType":"IfStatement","src":"20945:51:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2262,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"20982:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"RevertStatement","src":"20975:21:2"}},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"mutability":"mutable","name":"amount","nameLocation":"21015:6:2","nodeType":"VariableDeclaration","scope":2293,"src":"21007:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2286,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2268,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21024:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2269,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21034:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21024:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":2282,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21099:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21091:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2280,"name":"address","nodeType":"ElementaryTypeName","src":"21091:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21091:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":2277,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21073:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2276,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"21067:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$4533_$","typeString":"type(contract ERC20)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$4533","typeString":"contract ERC20"}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21081:9:2","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4242,"src":"21067:23:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"21024:81:2","trueExpression":{"expression":{"arguments":[{"id":2273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21051:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21043:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"21043:7:2","typeDescriptions":{}}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21043:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21057:7:2","memberName":"balance","nodeType":"MemberAccess","src":"21043:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21007:98:2"},{"expression":{"arguments":[{"id":2288,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21131:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2289,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"21139:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2290,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"21151:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2287,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21115:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21115:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2292,"nodeType":"ExpressionStatement","src":"21115:43:2"}]},"baseFunctions":[2801],"documentation":{"id":2246,"nodeType":"StructuredDocumentation","src":"20616:226:2","text":"@notice Transfers any fund balance in Allo to the recipient\n @dev 'msg.sender' must be the Allo owner\n @param _token The address of the token to transfer\n @param _recipient The address of the recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2253,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"20923:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2254,"kind":"modifierInvocation","modifierName":{"id":2252,"name":"onlyRole","nameLocations":["20914:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":52484,"src":"20914:8:2"},"nodeType":"ModifierInvocation","src":"20914:20:2"}],"name":"recoverFunds","nameLocation":"20856:12:2","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2248,"mutability":"mutable","name":"_token","nameLocation":"20877:6:2","nodeType":"VariableDeclaration","scope":2294,"src":"20869:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2247,"name":"address","nodeType":"ElementaryTypeName","src":"20869:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"_recipient","nameLocation":"20893:10:2","nodeType":"VariableDeclaration","scope":2294,"src":"20885:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2249,"name":"address","nodeType":"ElementaryTypeName","src":"20885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20868:36:2"},"returnParameters":{"id":2255,"nodeType":"ParameterList","parameters":[],"src":"20935:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1509,"name":"IRegistry","nameLocations":["5258:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5258:9:2"},"id":1510,"nodeType":"InheritanceSpecifier","src":"5258:9:2"},{"baseName":{"id":1511,"name":"Initializable","nameLocations":["5269:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53233,"src":"5269:13:2"},"id":1512,"nodeType":"InheritanceSpecifier","src":"5269:13:2"},{"baseName":{"id":1513,"name":"Native","nameLocations":["5284:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5284:6:2"},"id":1514,"nodeType":"InheritanceSpecifier","src":"5284:6:2"},{"baseName":{"id":1515,"name":"AccessControlUpgradeable","nameLocations":["5292:24:2"],"nodeType":"IdentifierPath","referencedDeclaration":52778,"src":"5292:24:2"},"id":1516,"nodeType":"InheritanceSpecifier","src":"5292:24:2"},{"baseName":{"id":1517,"name":"Transfer","nameLocations":["5318:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5318:8:2"},"id":1518,"nodeType":"InheritanceSpecifier","src":"5318:8:2"},{"baseName":{"id":1519,"name":"Errors","nameLocations":["5328:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5328:6:2"},"id":1520,"nodeType":"InheritanceSpecifier","src":"5328:6:2"}],"canonicalName":"Registry","contractDependencies":[1492],"contractKind":"contract","documentation":{"id":1508,"nodeType":"StructuredDocumentation","src":"4584:653:2","text":"@title Registry Contract\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Registry contract for creating and managing profiles\n @dev This contract is used to create and manage profiles for the Allo protocol\n It is also used to deploy the anchor contract for each profile which acts as a proxy\n for the profile and is used to receive funds and execute transactions on behalf of the profile\n The Registry is also used to add and remove members from a profile and update the profile 'Metadata'"},"fullyImplemented":true,"linearizedBaseContracts":[2295,3089,3317,52778,3106,54051,54063,52851,53777,53233,2802],"name":"Registry","nameLocation":"5246:8:2","scope":2296,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117]}],"license":"AGPL-3.0-only"},"id":2}
\ No newline at end of file
+{"abi":[{"type":"function","name":"ALLO_OWNER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"anchorToProfileId","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"profileIdToPendingOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profilesById","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657612849908161001c8239f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c80630114cf0a146200162057806301ffc9a714620015c55780630ec1fbac1462001599578063248a9ca314620015685780632497f3c614620014bd57806324ae6a27146200118b5780632f2ff15d146200114457806336568abe14620010ab57806339b86b8c14620010755780633a92f65f1462000b165780633b66dacd1462000a965780634756487f1462000a585780635063f36114620009f957806350d005e014620009c35780635e8a7915146200096c57806391d14854146200091b578063a0cf0aea14620008ea578063a217fddf14620008cc578063ac402839146200071b578063c4d66de8146200059e578063cf189ff21462000383578063cfda7e0a1462000357578063d547741f146200030e578063dd93da431462000252578063e0cf1e4c14620001fb5763ee888196146200015557600080fd5b34620001f6576020366003190112620001f6576004356000526098602052604060002080546001820154916200018e60028201620019d8565b620001e7620001a06003840162001a8a565b620001d860018060a01b0360068160058801541696015416936040519788978852602088015260c0604088015260c0870190620016e8565b9085820360608701526200170f565b91608084015260a08301520390f35b600080fd5b34620001f6576200020c3662001968565b620002178262001b0e565b80519060005b8281106200022757005b6001906200024b6001600160a01b0362000242838662001af9565b51168662001f8e565b016200021d565b34620001f6576020366003190112620001f6576200030a62000273620017b2565b6200027d62001aae565b5060018060a01b0380911660005260976020526040600020546000526098602052604060002090600660405192620002b584620017c9565b8054845260018101546020850152620002d160028201620019d8565b6040850152620002e46003820162001a8a565b606085015282600582015416608085015201541660a08201526040519182918262001731565b0390f35b34620001f6576040366003190112620001f65762000355600435620003326200179b565b908060005260656020526200034f60016040600020015462001d6c565b62001f8e565b005b34620001f6576000366003190112620001f6576020604051600080516020620027d48339815191528152f35b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620003bc90369060040162001841565b90620003c88162001b0e565b620003d4828262001b3c565b9181600052602093609885526040600020906002820190835190811162000588576200040182546200199b565b601f81116200053d575b5086601f8211600114620004bb5792600080516020620027b48339815191529492826006936200049f96600091620004af575b508160011b916000199060031b1c19161790555b019460018060a01b039081875416600052609788526000604081205516948560018060a01b03198254161790558460005283604060002055604051918291604083526040830190620016e8565b85878301520390a2604051908152f35b90508501518b6200043e565b601f1982169083600052886000209160005b8a82821062000526575050836200049f9693600080516020620027b4833981519152989693600696600194106200050c575b5050811b01905562000452565b87015160001960f88460031b161c191690558b80620004ff565b600184958293958b015181550194019201620004cd565b8260005287600020601f830160051c8101918984106200057d575b601f0160051c01905b8181106200057057506200040b565b6000815560010162000561565b909150819062000558565b634e487b7160e01b600052604160045260246000fd5b34620001f657602080600319360112620001f657620005bc620017b2565b60005460ff8160081c1615806200070d575b15620006b15761ffff1916610101176000556001600160a01b03169081156200069f577f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891600080516020620027d4833981519152908160005260658352604060002081600052835260ff60406000205416156200065e575b505061ff00196000541660005560405160018152a1005b816000526065835260406000208160005283526040600020600160ff19825416179055339160008051602062002774833981519152600080a4828062000647565b60405163538ba4f960e01b8152600490fd5b60405162461bcd60e51b815260048101849052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600160ff821610620005ce565b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620007549036906004016200189c565b6200075f8262001b0e565b8160005260206098815260046040600020835160038201550181830151805195861162000588576200079282546200199b565b601f811162000881575b508290601f87116001146200080557958091600080516020620027f48339815191529697600092620007f9575b50508160011b916000199060031b1c19161790555b620007f46040519282849384528301906200170f565b0390a2005b015190508780620007c9565b90601f1987169183600052846000209260005b818110620008695750916001939189600080516020620027f4833981519152999a94106200084f575b505050811b019055620007de565b015160001960f88460031b161c1916905587808062000841565b92938660018192878601518155019501930162000818565b8260005283600020601f880160051c810191858910620008c1575b601f0160051c01905b818110620008b457506200079c565b60008155600101620008a5565b90915081906200089c565b34620001f6576000366003190112620001f657602060405160008152f35b34620001f6576000366003190112620001f657602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620001f6576040366003190112620001f657620009386200179b565b600435600052606560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34620001f6576040366003190112620001f65760206004356200098e6200179b565b6200099a818362001d21565b918215620009af575b50506040519015158152f35b620009bb925062001d44565b8280620009a3565b34620001f6576020366003190112620001f6576004356000526099602052602060018060a01b0360406000205416604051908152f35b34620001f65762000a0a3662001968565b62000a158262001b0e565b80519060005b82811062000a2557005b6001600160a01b0362000a39828462001af9565b51169081156200069f5762000a516001928662001f24565b0162000a1b565b34620001f6576020366003190112620001f6576001600160a01b0362000a7d620017b2565b1660005260976020526020604060002054604051908152f35b34620001f6576040366003190112620001f6576004357f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8602062000ad96200179b565b62000ae48462001b0e565b60008481526099835260409081902080546001600160a01b0319166001600160a01b03909316928317905551908152a2005b34620001f65760a0366003190112620001f6576004356024356001600160401b038111620001f65762000b4e90369060040162001841565b906044356001600160401b038111620001f65762000b719036906004016200189c565b91606435906001600160a01b0382168203620001f6576084356001600160401b038111620001f65762000ba9903690600401620018ea565b6040805160208101868152606086811b6001600160601b03191693830193909352603482529181019692939291906001600160401b038811818910176200058857876040525190209586600052609860205260018060a01b03600660406000200154166200106657506001600160a01b038416156200069f5762000c2e828762001b3c565b916040519562000c3e87620017c9565b8787526020808801918252604080890193845260608901949094526001600160a01b0387811660808a01529490941660a08801526000888152609890945291909220855181559051600182015590518051906001600160401b0382116200058857819062000cb060028501546200199b565b601f81116200100e575b50602090601f831160011462000f975760009262000f8b575b50508160011b916000199060031b1c19161760028201555b606084015180516003830155602001518051906001600160401b0382116200058857819062000d1e60048501546200199b565b601f811162000f33575b50602090601f831160011462000ec15760009262000eb5575b50508160011b916000199060031b1c19161760048201555b60808401516005820180546001600160a01b039283166001600160a01b03199182161790915560a086015160069093018054939092169216821790556000908152609760205260409020849055805191821515908162000ea0575b5062000e8e5760005b82811062000e5b57602085807f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b806098784810151604082015191606081015162000e4560018060a01b036080840151169260a0600180821b03910151169162000e36604051968796875260a08c88015260a0870190620016e8565b9085820360408701526200170f565b91606084015260808301520390a2604051908152f35b6001600160a01b0362000e6f828462001af9565b51169081156200069f5762000e876001928762001f24565b0162000dbd565b60405163075fd2b160e01b8152600490fd5b6001600160a01b031633141590508562000db4565b01519050878062000d41565b600485016000908152602081209350601f198516905b81811062000f1a575090846001959493921062000f00575b505050811b01600482015562000d59565b015160001960f88460031b161c1916905587808062000eef565b9293602060018192878601518155019501930162000ed7565b909150600484016000526020600020601f840160051c81016020851062000f83575b90849392915b601f830160051c8201811062000f7357505062000d28565b6000815585945060010162000f5b565b508062000f55565b01519050878062000cd3565b9250600284016000526020600020906000935b601f198416851062000ff2576001945083601f1981161062000fd8575b505050811b01600282015562000ceb565b015160001960f88460031b161c1916905587808062000fc7565b8181015183556020948501946001909301929091019062000faa565b909150600284016000526020600020601f840160051c8101602085106200105e575b90849392915b601f830160051c820181106200104e57505062000cba565b6000815585945060010162001036565b508062001030565b630527e05960e41b8152600490fd5b34620001f6576040366003190112620001f6576020620010a1620010986200179b565b60043562001d21565b6040519015158152f35b34620001f6576040366003190112620001f657620010c86200179b565b336001600160a01b03821603620010e757620003559060043562001f8e565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620001f6576040366003190112620001f65762000355600435620011686200179b565b908060005260656020526200118560016040600020015462001d6c565b62001f24565b34620001f6576040366003190112620001f657620011a8620017b2565b620011b26200179b565b3360009081527f4b3829d867e62b811a7a862bbf8afb7a8eb18e86c071c1039bdebff5606d62536020908152604090912054600080516020620027d48339815191529060ff16156200131357506001600160a01b03828116156200069f5783169273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84149382856000146200129e57505047935b1562001261575050600080809381935af1156200125357005b63b12d13eb6000526004601cfd5b600060109160449395829560145260345263a9059cbb60601b82525af13d156001600051141716156200129057005b6390b8ec186000526004601cfd5b6040516370a0823160e01b815230600482015291829060249082905afa9081156200130757600091620012d4575b50936200123a565b90508281813d8311620012ff575b620012ee81836200181d565b81010312620001f6575185620012cc565b503d620012e2565b6040513d6000823e3d90fd5b906200131f3362002017565b916040516200132e8162001801565b60428152828101916060368437815115620014a757603083538151600190811015620014a757607860218401536041905b808211620014485750506200141657620013df93620013ef9260489260405196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b88860152620013b5815180928a603789019101620016c3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190620016c3565b010360288101855201836200181d565b6200141260405192839262461bcd60e51b845260048401526024830190620016e8565b0390fd5b6064836040519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b9091600f81166010811015620014a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200147a848662002005565b5360041c918015620014915760001901906200135f565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b34620001f6576020366003190112620001f6576004358060005260986020526040600020609960205260018060a01b039081604060002054169182330362001556577ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d926005602093019060018060a01b03199081835416178255856000526099845260406000209081541690555416604051908152a2005b604051630b4d48c160e41b8152600490fd5b34620001f6576020366003190112620001f65760043560005260656020526020600160406000200154604051908152f35b34620001f6576040366003190112620001f6576020620010a1620015bc6200179b565b60043562001d44565b34620001f6576020366003190112620001f65760043563ffffffff60e01b8116809103620001f657602090637965db0b60e01b81149081156200160e575b506040519015158152f35b6301ffc9a760e01b1490508262001603565b34620001f6576020366003190112620001f6576200163d62001aae565b5060043560005260986020526200030a6040600020604051906200166182620017c9565b80548252600181015460208301526200167d60028201620019d8565b6040830152620016906003820162001a8a565b606083015260058101546001600160a01b0390811660808401526006909101541660a08201526040519182918262001731565b60005b838110620016d75750506000910152565b8181015183820152602001620016c6565b906020916200170381518092818552858086019101620016c3565b601f01601f1916010190565b90604060206200172e93805184520151918160208201520190620016e8565b90565b60208152815160208201526020820151604082015260c06200177d62001766604085015183606086015260e0850190620016e8565b6060850151848203601f190160808601526200170f565b9260a0600180821b0391826080820151168286015201511691015290565b602435906001600160a01b0382168203620001f657565b600435906001600160a01b0382168203620001f657565b60c081019081106001600160401b038211176200058857604052565b604081019081106001600160401b038211176200058857604052565b608081019081106001600160401b038211176200058857604052565b601f909101601f19168101906001600160401b038211908210176200058857604052565b81601f82011215620001f6578035906001600160401b03821162000588576040519262001879601f8401601f1916602001856200181d565b82845260208383010111620001f657816000926020809301838601378301015290565b9190604083820312620001f65760405190620018b882620017e5565b8335825290928391602082013591906001600160401b038311620001f657602092620018e5920162001841565b910152565b9080601f83011215620001f6578135906001600160401b03821162000588578160051b6040519360209362001922858401876200181d565b85528380860192820101928311620001f6578301905b82821062001947575050505090565b81356001600160a01b0381168103620001f657815290830190830162001938565b906040600319830112620001f65760043591602435906001600160401b038211620001f6576200172e91600401620018ea565b90600182811c92168015620019cd575b6020831014620019b757565b634e487b7160e01b600052602260045260246000fd5b91607f1691620019ab565b9060405191826000825492620019ee846200199b565b90818452600194858116908160001462001a65575060011462001a1e575b505062001a1c925003836200181d565b565b9093915060005260209081600020936000915b81831062001a4c57505062001a1c9350820101388062001a0c565b8554888401850152948501948794509183019162001a31565b91505062001a1c94506020925060ff191682840152151560051b820101388062001a0c565b9060405162001a9981620017e5565b6020620018e5600183958054855201620019d8565b6040519062001abd82620017c9565b600060a0838281528260208201526060604082015260405162001ae081620017e5565b8381526060602082015260608201528260808201520152565b8051821015620014a75760209160051b010190565b62001b1b90339062001d21565b1562000e8e57565b9081526001600160a01b03909116602082015260400190565b604090815160209062001bf28162001b648482019786895287808401526060830190620016e8565b039562001b7a601f19978881018552846200181d565b85519062001ba0858301988362001b93308a8d62001b23565b039081018452836200181d565b6106559362001bff86895162001bb9828901826200181d565b8781526200211f9b82820196898e89398c5198899362001be28686019a8b9251928391620016c3565b84019151809386840190620016c3565b010380875201856200181d565b5190209151902085516001600160f81b03198582019081523060601b602183015260358201849052605580830193909352918152909260808201916001600160401b039182841182851017620005885783895260018060a01b03809683519020169960808284010193858510908511176200058857843962001c87607f199288309162001b23565b0301906000f58062001d18575050825163041c375d60e11b8152908082600481885afa90811562001d0d5760009162001cd8575b5090500362001cc8575090565b51630113b81f60e41b8152600490fd5b82813d831162001d05575b62001cef81836200181d565b8101031262001d02575051803862001cbb565b80fd5b503d62001ce3565b84513d6000823e3d90fd5b16949350505050565b6000908152609860205260409020600501546001600160a01b0391821691161490565b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff84822054161562001d975750505050565b62001da23362002017565b9184519062001db18262001801565b6042825284820192606036853782511562001f10576030845382519060019182101562001f105790607860218501536041915b81831162001e9d5750505062001e6c5760486200141293869362001e4f9362001e3f985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152620013b5815180928c603789019101620016c3565b010360288101875201856200181d565b5192839262461bcd60e51b845260048401526024830190620016e8565b60648486519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b909192600f8116601081101562001efc576f181899199a1a9b1b9c1cb0b131b232b360811b901a62001ed0858762002005565b5360041c92801562001ee85760001901919062001de4565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054161562001f5757505050565b80835260656020526040832082845260205260408320600160ff1982541617905560008051602062002774833981519152339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541662001fc057505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015620014a7570160200190565b60405190606082016001600160401b038111838210176200058857604052602a8252602082016040368237825115620014a757603090538151600190811015620014a757607860218401536029905b808211620020ab575050620020785790565b606460405162461bcd60e51b81526020600482015260206024820152600080516020620027948339815191526044820152fd5b9091600f8116601081101562002109576f181899199a1a9b1b9c1cb0b131b232b360811b901a620020dd848662002005565b5360041c918015620020f457600019019062002066565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfe60c03461008c57601f61065538819003918201601f19168301916001600160401b0383118484101761009157808492604094855283398101031261008c5780516020909101516001600160a01b0381169081900361008c5760805260a0526040516105ad90816100a882396080518181816101dc0152610333015260a05181818161019f01526103ce0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816301ffc9a7146103f15750806308386eba146103b6578063150b7a02146103625780637b1039991461031e578063b61d27f614610157578063bc197c81146100ce5763f23a6e610361001257346100cb5760a03660031901126100cb57610091610445565b5061009a610460565b50608435906001600160401b0382116100cb57506020926100bd913691016104ca565b505163f23a6e6160e01b8152f35b80fd5b50346100cb5760a03660031901126100cb576100e8610445565b506100f1610460565b506001600160401b0390604435828111610153576101129036908601610511565b506064358281116101535761012a9036908601610511565b506084359182116100cb5750602092610145913691016104ca565b505163bc197c8160e01b8152f35b5080fd5b50913461031a57606036600319011261031a57610172610445565b926044356001600160401b0381116101535761019190369084016104ca565b8351630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000084820152336024820152602095906001600160a01b039087816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156103105785916102d6575b50156102c6578116156102b65781518392839290880190602435905af1913d156102ae573d9261023c846104af565b9361024986519586610476565b84523d838786013e5b156102a05750929082519382859384528251928382860152825b84811061028a57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161026c565b83516384aed38d60e01b8152fd5b606092610252565b84516384aed38d60e01b81528490fd5b855163075fd2b160e01b81528590fd5b90508781813d8311610309575b6102ed8183610476565b8101031261030557518015158103610305573861020d565b8480fd5b503d6102e3565b87513d87823e3d90fd5b8280fd5b509034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cb5760803660031901126100cb5761037c610445565b50610385610460565b50606435906001600160401b0382116100cb57506020926103a8913691016104ca565b5051630a85bd0160e11b8152f35b509034610153578160031936011261015357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050833461031a57602036600319011261031a573563ffffffff60e01b811680910361031a5760209250630271189760e51b8114908115610434575b5015158152f35b6301ffc9a760e01b1490508361042d565b600435906001600160a01b038216820361045b57565b600080fd5b602435906001600160a01b038216820361045b57565b601f909101601f19168101906001600160401b0382119082101761049957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161049957601f01601f191660200190565b81601f8201121561045b578035906104e1826104af565b926104ef6040519485610476565b8284526020838301011161045b57816000926020809301838601378301015290565b9080601f8301121561045b578135906001600160401b038211610499578160051b6040519360209361054585840187610476565b8552838086019282010192831161045b578301905b828210610568575050505090565b8135815290830190830161055a56fea2646970667358221220af767c6e329726029a1010f6556d5ab99057f56545124578bd9d3672c865e2df64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d537472696e67733a20686578206c656e67746820696e73756666696369656e7454cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3a2646970667358221220a8ce799ad250330db7d7b7a6a4e094e1f3f37b0b67bcfe76b5589cff765e40cb64736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c80630114cf0a146200162057806301ffc9a714620015c55780630ec1fbac1462001599578063248a9ca314620015685780632497f3c614620014bd57806324ae6a27146200118b5780632f2ff15d146200114457806336568abe14620010ab57806339b86b8c14620010755780633a92f65f1462000b165780633b66dacd1462000a965780634756487f1462000a585780635063f36114620009f957806350d005e014620009c35780635e8a7915146200096c57806391d14854146200091b578063a0cf0aea14620008ea578063a217fddf14620008cc578063ac402839146200071b578063c4d66de8146200059e578063cf189ff21462000383578063cfda7e0a1462000357578063d547741f146200030e578063dd93da431462000252578063e0cf1e4c14620001fb5763ee888196146200015557600080fd5b34620001f6576020366003190112620001f6576004356000526098602052604060002080546001820154916200018e60028201620019d8565b620001e7620001a06003840162001a8a565b620001d860018060a01b0360068160058801541696015416936040519788978852602088015260c0604088015260c0870190620016e8565b9085820360608701526200170f565b91608084015260a08301520390f35b600080fd5b34620001f6576200020c3662001968565b620002178262001b0e565b80519060005b8281106200022757005b6001906200024b6001600160a01b0362000242838662001af9565b51168662001f8e565b016200021d565b34620001f6576020366003190112620001f6576200030a62000273620017b2565b6200027d62001aae565b5060018060a01b0380911660005260976020526040600020546000526098602052604060002090600660405192620002b584620017c9565b8054845260018101546020850152620002d160028201620019d8565b6040850152620002e46003820162001a8a565b606085015282600582015416608085015201541660a08201526040519182918262001731565b0390f35b34620001f6576040366003190112620001f65762000355600435620003326200179b565b908060005260656020526200034f60016040600020015462001d6c565b62001f8e565b005b34620001f6576000366003190112620001f6576020604051600080516020620027d48339815191528152f35b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620003bc90369060040162001841565b90620003c88162001b0e565b620003d4828262001b3c565b9181600052602093609885526040600020906002820190835190811162000588576200040182546200199b565b601f81116200053d575b5086601f8211600114620004bb5792600080516020620027b48339815191529492826006936200049f96600091620004af575b508160011b916000199060031b1c19161790555b019460018060a01b039081875416600052609788526000604081205516948560018060a01b03198254161790558460005283604060002055604051918291604083526040830190620016e8565b85878301520390a2604051908152f35b90508501518b6200043e565b601f1982169083600052886000209160005b8a82821062000526575050836200049f9693600080516020620027b4833981519152989693600696600194106200050c575b5050811b01905562000452565b87015160001960f88460031b161c191690558b80620004ff565b600184958293958b015181550194019201620004cd565b8260005287600020601f830160051c8101918984106200057d575b601f0160051c01905b8181106200057057506200040b565b6000815560010162000561565b909150819062000558565b634e487b7160e01b600052604160045260246000fd5b34620001f657602080600319360112620001f657620005bc620017b2565b60005460ff8160081c1615806200070d575b15620006b15761ffff1916610101176000556001600160a01b03169081156200069f577f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891600080516020620027d4833981519152908160005260658352604060002081600052835260ff60406000205416156200065e575b505061ff00196000541660005560405160018152a1005b816000526065835260406000208160005283526040600020600160ff19825416179055339160008051602062002774833981519152600080a4828062000647565b60405163538ba4f960e01b8152600490fd5b60405162461bcd60e51b815260048101849052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600160ff821610620005ce565b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620007549036906004016200189c565b6200075f8262001b0e565b8160005260206098815260046040600020835160038201550181830151805195861162000588576200079282546200199b565b601f811162000881575b508290601f87116001146200080557958091600080516020620027f48339815191529697600092620007f9575b50508160011b916000199060031b1c19161790555b620007f46040519282849384528301906200170f565b0390a2005b015190508780620007c9565b90601f1987169183600052846000209260005b818110620008695750916001939189600080516020620027f4833981519152999a94106200084f575b505050811b019055620007de565b015160001960f88460031b161c1916905587808062000841565b92938660018192878601518155019501930162000818565b8260005283600020601f880160051c810191858910620008c1575b601f0160051c01905b818110620008b457506200079c565b60008155600101620008a5565b90915081906200089c565b34620001f6576000366003190112620001f657602060405160008152f35b34620001f6576000366003190112620001f657602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620001f6576040366003190112620001f657620009386200179b565b600435600052606560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34620001f6576040366003190112620001f65760206004356200098e6200179b565b6200099a818362001d21565b918215620009af575b50506040519015158152f35b620009bb925062001d44565b8280620009a3565b34620001f6576020366003190112620001f6576004356000526099602052602060018060a01b0360406000205416604051908152f35b34620001f65762000a0a3662001968565b62000a158262001b0e565b80519060005b82811062000a2557005b6001600160a01b0362000a39828462001af9565b51169081156200069f5762000a516001928662001f24565b0162000a1b565b34620001f6576020366003190112620001f6576001600160a01b0362000a7d620017b2565b1660005260976020526020604060002054604051908152f35b34620001f6576040366003190112620001f6576004357f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8602062000ad96200179b565b62000ae48462001b0e565b60008481526099835260409081902080546001600160a01b0319166001600160a01b03909316928317905551908152a2005b34620001f65760a0366003190112620001f6576004356024356001600160401b038111620001f65762000b4e90369060040162001841565b906044356001600160401b038111620001f65762000b719036906004016200189c565b91606435906001600160a01b0382168203620001f6576084356001600160401b038111620001f65762000ba9903690600401620018ea565b6040805160208101868152606086811b6001600160601b03191693830193909352603482529181019692939291906001600160401b038811818910176200058857876040525190209586600052609860205260018060a01b03600660406000200154166200106657506001600160a01b038416156200069f5762000c2e828762001b3c565b916040519562000c3e87620017c9565b8787526020808801918252604080890193845260608901949094526001600160a01b0387811660808a01529490941660a08801526000888152609890945291909220855181559051600182015590518051906001600160401b0382116200058857819062000cb060028501546200199b565b601f81116200100e575b50602090601f831160011462000f975760009262000f8b575b50508160011b916000199060031b1c19161760028201555b606084015180516003830155602001518051906001600160401b0382116200058857819062000d1e60048501546200199b565b601f811162000f33575b50602090601f831160011462000ec15760009262000eb5575b50508160011b916000199060031b1c19161760048201555b60808401516005820180546001600160a01b039283166001600160a01b03199182161790915560a086015160069093018054939092169216821790556000908152609760205260409020849055805191821515908162000ea0575b5062000e8e5760005b82811062000e5b57602085807f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b806098784810151604082015191606081015162000e4560018060a01b036080840151169260a0600180821b03910151169162000e36604051968796875260a08c88015260a0870190620016e8565b9085820360408701526200170f565b91606084015260808301520390a2604051908152f35b6001600160a01b0362000e6f828462001af9565b51169081156200069f5762000e876001928762001f24565b0162000dbd565b60405163075fd2b160e01b8152600490fd5b6001600160a01b031633141590508562000db4565b01519050878062000d41565b600485016000908152602081209350601f198516905b81811062000f1a575090846001959493921062000f00575b505050811b01600482015562000d59565b015160001960f88460031b161c1916905587808062000eef565b9293602060018192878601518155019501930162000ed7565b909150600484016000526020600020601f840160051c81016020851062000f83575b90849392915b601f830160051c8201811062000f7357505062000d28565b6000815585945060010162000f5b565b508062000f55565b01519050878062000cd3565b9250600284016000526020600020906000935b601f198416851062000ff2576001945083601f1981161062000fd8575b505050811b01600282015562000ceb565b015160001960f88460031b161c1916905587808062000fc7565b8181015183556020948501946001909301929091019062000faa565b909150600284016000526020600020601f840160051c8101602085106200105e575b90849392915b601f830160051c820181106200104e57505062000cba565b6000815585945060010162001036565b508062001030565b630527e05960e41b8152600490fd5b34620001f6576040366003190112620001f6576020620010a1620010986200179b565b60043562001d21565b6040519015158152f35b34620001f6576040366003190112620001f657620010c86200179b565b336001600160a01b03821603620010e757620003559060043562001f8e565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620001f6576040366003190112620001f65762000355600435620011686200179b565b908060005260656020526200118560016040600020015462001d6c565b62001f24565b34620001f6576040366003190112620001f657620011a8620017b2565b620011b26200179b565b3360009081527f4b3829d867e62b811a7a862bbf8afb7a8eb18e86c071c1039bdebff5606d62536020908152604090912054600080516020620027d48339815191529060ff16156200131357506001600160a01b03828116156200069f5783169273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84149382856000146200129e57505047935b1562001261575050600080809381935af1156200125357005b63b12d13eb6000526004601cfd5b600060109160449395829560145260345263a9059cbb60601b82525af13d156001600051141716156200129057005b6390b8ec186000526004601cfd5b6040516370a0823160e01b815230600482015291829060249082905afa9081156200130757600091620012d4575b50936200123a565b90508281813d8311620012ff575b620012ee81836200181d565b81010312620001f6575185620012cc565b503d620012e2565b6040513d6000823e3d90fd5b906200131f3362002017565b916040516200132e8162001801565b60428152828101916060368437815115620014a757603083538151600190811015620014a757607860218401536041905b808211620014485750506200141657620013df93620013ef9260489260405196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b88860152620013b5815180928a603789019101620016c3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190620016c3565b010360288101855201836200181d565b6200141260405192839262461bcd60e51b845260048401526024830190620016e8565b0390fd5b6064836040519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b9091600f81166010811015620014a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200147a848662002005565b5360041c918015620014915760001901906200135f565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b34620001f6576020366003190112620001f6576004358060005260986020526040600020609960205260018060a01b039081604060002054169182330362001556577ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d926005602093019060018060a01b03199081835416178255856000526099845260406000209081541690555416604051908152a2005b604051630b4d48c160e41b8152600490fd5b34620001f6576020366003190112620001f65760043560005260656020526020600160406000200154604051908152f35b34620001f6576040366003190112620001f6576020620010a1620015bc6200179b565b60043562001d44565b34620001f6576020366003190112620001f65760043563ffffffff60e01b8116809103620001f657602090637965db0b60e01b81149081156200160e575b506040519015158152f35b6301ffc9a760e01b1490508262001603565b34620001f6576020366003190112620001f6576200163d62001aae565b5060043560005260986020526200030a6040600020604051906200166182620017c9565b80548252600181015460208301526200167d60028201620019d8565b6040830152620016906003820162001a8a565b606083015260058101546001600160a01b0390811660808401526006909101541660a08201526040519182918262001731565b60005b838110620016d75750506000910152565b8181015183820152602001620016c6565b906020916200170381518092818552858086019101620016c3565b601f01601f1916010190565b90604060206200172e93805184520151918160208201520190620016e8565b90565b60208152815160208201526020820151604082015260c06200177d62001766604085015183606086015260e0850190620016e8565b6060850151848203601f190160808601526200170f565b9260a0600180821b0391826080820151168286015201511691015290565b602435906001600160a01b0382168203620001f657565b600435906001600160a01b0382168203620001f657565b60c081019081106001600160401b038211176200058857604052565b604081019081106001600160401b038211176200058857604052565b608081019081106001600160401b038211176200058857604052565b601f909101601f19168101906001600160401b038211908210176200058857604052565b81601f82011215620001f6578035906001600160401b03821162000588576040519262001879601f8401601f1916602001856200181d565b82845260208383010111620001f657816000926020809301838601378301015290565b9190604083820312620001f65760405190620018b882620017e5565b8335825290928391602082013591906001600160401b038311620001f657602092620018e5920162001841565b910152565b9080601f83011215620001f6578135906001600160401b03821162000588578160051b6040519360209362001922858401876200181d565b85528380860192820101928311620001f6578301905b82821062001947575050505090565b81356001600160a01b0381168103620001f657815290830190830162001938565b906040600319830112620001f65760043591602435906001600160401b038211620001f6576200172e91600401620018ea565b90600182811c92168015620019cd575b6020831014620019b757565b634e487b7160e01b600052602260045260246000fd5b91607f1691620019ab565b9060405191826000825492620019ee846200199b565b90818452600194858116908160001462001a65575060011462001a1e575b505062001a1c925003836200181d565b565b9093915060005260209081600020936000915b81831062001a4c57505062001a1c9350820101388062001a0c565b8554888401850152948501948794509183019162001a31565b91505062001a1c94506020925060ff191682840152151560051b820101388062001a0c565b9060405162001a9981620017e5565b6020620018e5600183958054855201620019d8565b6040519062001abd82620017c9565b600060a0838281528260208201526060604082015260405162001ae081620017e5565b8381526060602082015260608201528260808201520152565b8051821015620014a75760209160051b010190565b62001b1b90339062001d21565b1562000e8e57565b9081526001600160a01b03909116602082015260400190565b604090815160209062001bf28162001b648482019786895287808401526060830190620016e8565b039562001b7a601f19978881018552846200181d565b85519062001ba0858301988362001b93308a8d62001b23565b039081018452836200181d565b6106559362001bff86895162001bb9828901826200181d565b8781526200211f9b82820196898e89398c5198899362001be28686019a8b9251928391620016c3565b84019151809386840190620016c3565b010380875201856200181d565b5190209151902085516001600160f81b03198582019081523060601b602183015260358201849052605580830193909352918152909260808201916001600160401b039182841182851017620005885783895260018060a01b03809683519020169960808284010193858510908511176200058857843962001c87607f199288309162001b23565b0301906000f58062001d18575050825163041c375d60e11b8152908082600481885afa90811562001d0d5760009162001cd8575b5090500362001cc8575090565b51630113b81f60e41b8152600490fd5b82813d831162001d05575b62001cef81836200181d565b8101031262001d02575051803862001cbb565b80fd5b503d62001ce3565b84513d6000823e3d90fd5b16949350505050565b6000908152609860205260409020600501546001600160a01b0391821691161490565b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff84822054161562001d975750505050565b62001da23362002017565b9184519062001db18262001801565b6042825284820192606036853782511562001f10576030845382519060019182101562001f105790607860218501536041915b81831162001e9d5750505062001e6c5760486200141293869362001e4f9362001e3f985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152620013b5815180928c603789019101620016c3565b010360288101875201856200181d565b5192839262461bcd60e51b845260048401526024830190620016e8565b60648486519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b909192600f8116601081101562001efc576f181899199a1a9b1b9c1cb0b131b232b360811b901a62001ed0858762002005565b5360041c92801562001ee85760001901919062001de4565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054161562001f5757505050565b80835260656020526040832082845260205260408320600160ff1982541617905560008051602062002774833981519152339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541662001fc057505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015620014a7570160200190565b60405190606082016001600160401b038111838210176200058857604052602a8252602082016040368237825115620014a757603090538151600190811015620014a757607860218401536029905b808211620020ab575050620020785790565b606460405162461bcd60e51b81526020600482015260206024820152600080516020620027948339815191526044820152fd5b9091600f8116601081101562002109576f181899199a1a9b1b9c1cb0b131b232b360811b901a620020dd848662002005565b5360041c918015620020f457600019019062002066565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfe60c03461008c57601f61065538819003918201601f19168301916001600160401b0383118484101761009157808492604094855283398101031261008c5780516020909101516001600160a01b0381169081900361008c5760805260a0526040516105ad90816100a882396080518181816101dc0152610333015260a05181818161019f01526103ce0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816301ffc9a7146103f15750806308386eba146103b6578063150b7a02146103625780637b1039991461031e578063b61d27f614610157578063bc197c81146100ce5763f23a6e610361001257346100cb5760a03660031901126100cb57610091610445565b5061009a610460565b50608435906001600160401b0382116100cb57506020926100bd913691016104ca565b505163f23a6e6160e01b8152f35b80fd5b50346100cb5760a03660031901126100cb576100e8610445565b506100f1610460565b506001600160401b0390604435828111610153576101129036908601610511565b506064358281116101535761012a9036908601610511565b506084359182116100cb5750602092610145913691016104ca565b505163bc197c8160e01b8152f35b5080fd5b50913461031a57606036600319011261031a57610172610445565b926044356001600160401b0381116101535761019190369084016104ca565b8351630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000084820152336024820152602095906001600160a01b039087816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156103105785916102d6575b50156102c6578116156102b65781518392839290880190602435905af1913d156102ae573d9261023c846104af565b9361024986519586610476565b84523d838786013e5b156102a05750929082519382859384528251928382860152825b84811061028a57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161026c565b83516384aed38d60e01b8152fd5b606092610252565b84516384aed38d60e01b81528490fd5b855163075fd2b160e01b81528590fd5b90508781813d8311610309575b6102ed8183610476565b8101031261030557518015158103610305573861020d565b8480fd5b503d6102e3565b87513d87823e3d90fd5b8280fd5b509034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cb5760803660031901126100cb5761037c610445565b50610385610460565b50606435906001600160401b0382116100cb57506020926103a8913691016104ca565b5051630a85bd0160e11b8152f35b509034610153578160031936011261015357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050833461031a57602036600319011261031a573563ffffffff60e01b811680910361031a5760209250630271189760e51b8114908115610434575b5015158152f35b6301ffc9a760e01b1490508361042d565b600435906001600160a01b038216820361045b57565b600080fd5b602435906001600160a01b038216820361045b57565b601f909101601f19168101906001600160401b0382119082101761049957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161049957601f01601f191660200190565b81601f8201121561045b578035906104e1826104af565b926104ef6040519485610476565b8284526020838301011161045b57816000926020809301838601378301015290565b9080601f8301121561045b578135906001600160401b038211610499578160051b6040519360209361054585840187610476565b8552838086019282010192831161045b578301905b828210610568575050505090565b8135815290830190830161055a56fea2646970667358221220af767c6e329726029a1010f6556d5ab99057f56545124578bd9d3672c865e2df64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d537472696e67733a20686578206c656e67746820696e73756666696369656e7454cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3a2646970667358221220a8ce799ad250330db7d7b7a6a4e094e1f3f37b0b67bcfe76b5589cff765e40cb64736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;5702:47;5237:15930;;;;;;;;5702:47;;5237:15930;5702:47;;;;;;:::i;:::-;5237:15930;5702:47;5237:15930;5702:47;;;:::i;:::-;5237:15930;;;;;;5702:47;;;;;5237:15930;;5702:47;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;17099:9;5237:15930;17110:16;;;;;;5237:15930;17099:9;5237:15930;;17249:11;-1:-1:-1;;;;;17249:11:2;5237:15930;17249:11;;:::i;:::-;5237:15930;;17249:11;;:::i;:::-;5237:15930;17099:9;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;7951:17;5237:15930;;;;;;;;7994:12;5237:15930;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;5837:7:45;5237:15930:2;;;;:::i;:::-;;;;;4955:6:45;5237:15930:2;;2809:4:45;5237:15930:2;;;;4955:22:45;5237:15930:2;2809:4:45;:::i;:::-;5837:7;:::i;:::-;5237:15930:2;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;;:::i;:::-;11429:34;;;;:::i;:::-;5237:15930;;;;;;11564:12;5237:15930;;;;;11627:12;;;;5237:15930;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;11705:14;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;11705:14;5237:15930;;;;;;;;;;;;;11687:17;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;11931:45;;;5237:15930;;;;;;;;;;;;;;;;19584:32;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;11705:14;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;4881:14:49;:40;;;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;;;;-1:-1:-1;;;;;5237:15930:2;;6968:20;;6964:47;;5091:20:49;6011:23:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;8020:23:45;8016:149;;5237:15930:2;;;;;;;;;;;;;;;5091:20:49;5237:15930:2;8016:149:45;5237:15930:2;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;965:10:53;8114:40:45;-1:-1:-1;;;;;;;;;;;5237:15930:2;8114:40:45;;8016:149;;;;6964:47:2;5237:15930;;-1:-1:-1;;;6997:14:2;;5237:15930;;6997:14;5237:15930;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;4881:40:49;5237:15930:2;6900:1;5237:15930;;;4899:22:49;4881:40;;5237:15930:2;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;;;12553:12;5237:15930;;;;;;;;;12553:33;;5237:15930;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12672:45;;;5237:15930;;;;;-1:-1:-1;5237:15930:2;;;;;19584:32;;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;4445:42:9;5237:15930:2;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;:::i;:::-;13110:39;;;;:::i;:::-;:83;;;;;5237:15930;;;;;;;;;;;13110:83;20575:28;;;;:::i;:::-;13110:83;;;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;5859:58;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;16216:9;5237:15930;16227:16;;;;;;5237:15930;16216:9;-1:-1:-1;;;;;16277:11:2;;;;:::i;:::-;5237:15930;;16377:20;;;16373:47;;16537:6;5237:15930;16537:6;;;:::i;:::-;5237:15930;16216:9;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;:::i;:::-;;;;5544:52;5237:15930;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;14658:53;5237:15930;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;;;14530:23;5237:15930;;;;;;;;;-1:-1:-1;;;;;;5237:15930:2;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;14658:53;5237:15930;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;;19584:32;;5237:15930;;;;;;;-1:-1:-1;;;;;;5237:15930:2;;;;;;;;19584:32;;;5237:15930;;;;;;;19584:32;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;19574:43;;5237:15930;;;;9173:12;5237:15930;;;;;;;9173:30;5237:15930;;;9173:30;5237:15930;;9169:78;;-1:-1:-1;;;;;;5237:15930:2;;9317:20;9313:47;;9641:33;;;;:::i;:::-;5237:15930;;;;;;;:::i;:::-;;;;;9472:213;;;5237:15930;;;;9472:213;;;5237:15930;;;;9472:213;;5237:15930;;;;-1:-1:-1;;;;;5237:15930:2;;;;9472:213;;5237:15930;;;;;;9472:213;;5237:15930;-1:-1:-1;5237:15930:2;;;9173:12;5237:15930;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9472:213;;5237:15930;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9472:213;;5237:15930;;;;;;-1:-1:-1;;;;;5237:15930:2;;;-1:-1:-1;;;;;;5237:15930:2;;;;;;;;9472:213;;5237:15930;9173:30;5237:15930;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;9739:17;5237:15930;;;;;;;;;;;9942:16;;;;;:40;;5237:15930;9938:92;;;5237:15930;10056:16;;;;;;5237:15930;9472:213;;10512:103;9472:213;;;;5237:15930;;9472:213;;10553:12;9472:213;5237:15930;9472:213;;10567:16;5237:15930;;;;;;;9472:213;;5237:15930;;;;;;;;;9472:213;;5237:15930;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;10512:103;;;5237:15930;;;;;;10045:9;-1:-1:-1;;;;;10106:11:2;;;;:::i;:::-;5237:15930;;10206:20;;;10202:47;;10365:6;5237:15930;10365:6;;;:::i;:::-;5237:15930;10045:9;;9938:92;5237:15930;;-1:-1:-1;;;10005:14:2;;5237:15930;;10005:14;9942:40;-1:-1:-1;;;;;5237:15930:2;9972:10;9962:20;;;-1:-1:-1;9942:40:2;;;5237:15930;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;19584:32;;;;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;9169:78;-1:-1:-1;;;9226:21:2;;5237:15930;;9226:21;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;13560:37;5237:15930;;:::i;:::-;;;13560:37;:::i;:::-;5237:15930;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;965:10:53;-1:-1:-1;;;;;5237:15930:2;;6484:23:45;5237:15930:2;;6588:7:45;5237:15930:2;;;6588:7:45;:::i;5237:15930:2:-;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;5410:7:45;5237:15930:2;;;;:::i;:::-;;;;;4955:6:45;5237:15930:2;;2809:4:45;5237:15930:2;;;;4955:22:45;5237:15930:2;2809:4:45;:::i;:::-;5410:7;:::i;5237:15930:2:-;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;:::i;:::-;965:10:53;5237:15930:2;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6011:23:2;5237:15930;;4260:23:45;4256:412;;-1:-1:-1;;;;;;5237:15930:2;;;20949:24;20945:51;;5237:15930;;21024:16;4445:42:9;21024:16:2;;:81;;;;;;;21043:21;;;21024:81;;6815:16:10;;;2570:369:15;;5237:15930:2;2570:369:15;;;;;;;;;;5237:15930:2;2570:369:15;;5237:15930:2;2570:369:15;5237:15930:2;2570:369:15;;6811:173:10;5237:15930:2;11581:1056:15;;;;;;;;;;;;;;;;;;;;5237:15930:2;;11581:1056:15;;;;;;;5237:15930:2;11581:1056:15;;5237:15930:2;11581:1056:15;5237:15930:2;11581:1056:15;;21024:81:2;5237:15930;;-1:-1:-1;;;21067:38:2;;21099:4;5237:15930;21067:38;;5237:15930;;;;;;;;21067:38;;;;;;;5237:15930;21067:38;;;21024:81;;;;;21067:38;;;;;;;;;;;;;;;;:::i;:::-;;;5237:15930;;;;;21067:38;;;;;;;;;5237:15930;;;;;;;;;4256:412:45;965:10:53;2563:52:54;965:10:53;2563:52:54;:::i;:::-;1884:437;5237:15930:2;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:54;;;5237:15930:2;;;;;;;;;2066:15:54;5237:15930:2;;;2066:15:54;5237:15930:2;2091:128:54;2124:5;;;;;;2236:10;;311:18;;5237:15930:2;;4351:274:45;5237:15930:2;;;;;4351:274:45;;;-1:-1:-1;;;4351:274:45;;;5237:15930:2;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;4351:274:45;;;;;;;;;:::i;:::-;5237:15930:2;;;311:18:54;;;;;;4299:358:45;;5237:15930:2;4299:358:45;;5237:15930:2;;;;;;:::i;:::-;4299:358:45;;;311:18:54;;5237:15930:2;;;311:18:54;;;;;;;5237:15930:2;311:18:54;;;;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:54;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;5237:15930:2;;2131:3:54;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:54;;5237:15930:2;;;;;;;;;;;;2162:21:54;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;15157:12;5237:15930;;;;;15301:23;5237:15930;;;;;;;;;;;;;;15414:10;;;:22;15410:54;;15708:46;15550:13;;5237:15930;15550:13;;5237:15930;;;;;;;;;;;;;;;;;;15301:23;5237:15930;;;;;;;;;;;;;;;;;;15708:46;5237:15930;15410:54;5237:15930;;-1:-1:-1;;;15445:19:2;;5237:15930;;15445:19;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;4955:6:45;5237:15930:2;;;;;;;4955:22:45;5237:15930:2;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;13967:39;5237:15930;;:::i;:::-;;;13967:39;:::i;5237:15930::-;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3158:58:45;;;:98;;;;5237:15930:2;;;;;;;;;;3158:98:45;-1:-1:-1;;;1189:51:55;;-1:-1:-1;3158:98:45;;;5237:15930:2;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;;7572:12;5237:15930;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;5237:15930:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19584:32;5237:15930;-1:-1:-1;;5237:15930:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;19584:32;5237:15930;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;19584:32;5237:15930;;-1:-1:-1;;5237:15930:2;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;5237:15930:2;;;;-1:-1:-1;5237:15930:2;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;17659:152::-;17740:41;17659:152;17770:10;17740:41;;:::i;:::-;17739:42;17735:69;;17659:152::o;5237:15930::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::o;18166:969::-;5237:15930;;;;18303:29;;5237:15930;18303:29;5237:15930;18303:29;;;5237:15930;;;;;;;;;;;;;;:::i;:::-;18303:29;19584:32;18303:29;19584:32;;18303:29;;;;;;;;:::i;:::-;5237:15930;;18380:37;;;;;18411:4;;18380:37;18411:4;18380:37;;;:::i;:::-;;;;;;;;;:::i;:::-;18469:25;5237:15930;18452:67;5237:15930;;;;18469:25;;;5237:15930;;:::i;:::-;18469:25;;;;;;;;;;;;;5237:15930;;18452:67;;;5237:15930;18452:67;;;5237:15930;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;18452:67;;;;;;;:::i;:::-;5237:15930;18545:22;;5237:15930;;18706:19;;5237:15930;;-1:-1:-1;;;;;;18654:72:2;;;5237:15930;;;18411:4;5237:15930;;;;;;;;;;;;;;;;;;;;18654:72;;;;;5237:15930;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;18644:83;;5237:15930;18843:49;5237:15930;18843:49;;;;;;;;;;;;;;;;;;;18411:4;;;18843:49;;:::i;:::-;;;;-1:-1:-1;18843:49:2;;;;-1:-1:-1;;5237:15930:2;;-1:-1:-1;;;18993:47:2;;5237:15930;;;18993:47;5237:15930;18993:47;;;;;;;;-1:-1:-1;18993:47:2;;;18839:290;18993:61;;;;18989:88;;19091:27;18839:290;18166:969::o;18989:88::-;5237:15930;-1:-1:-1;;;19063:14:2;;18993:47;;19063:14;18993:47;;;;;;;;;;;;;:::i;:::-;;;5237:15930;;;;;;18993:47;;;;5237:15930;;;18993:47;;;;;;5237:15930;;;-1:-1:-1;5237:15930:2;;;;;18839:290;5237:15930;;18839:290;-1:-1:-1;;;;18166:969:2:o;19963:156::-;-1:-1:-1;5237:15930:2;;;20072:12;5237:15930;;;;;20072:30;;5237:15930;-1:-1:-1;;;;;5237:15930:2;;;;;20072:40;;19963:156::o;20464:146::-;-1:-1:-1;5237:15930:2;3459:6:45;5237:15930:2;;;-1:-1:-1;5237:15930:2;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;20464:146;:::o;3789:103:45:-;-1:-1:-1;5237:15930:2;;;;;;3459:6:45;5237:15930:2;;;;;;;965:10:53;5237:15930:2;;;;;;;;;;4260:23:45;4256:412;;3789:103;;;;:::o;4256:412::-;2563:52:54;965:10:53;2563:52:54;:::i;:::-;4554:49:45;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:54;;;5237:15930:2;;;;;;;;;;;2066:15:54;5237:15930:2;;;2066:15:54;5237:15930:2;2091:128:54;2124:5;;;;;;2236:10;;;311:18;;5237:15930:2;;;;;4351:274:45;5237:15930:2;;;;4351:274:45;;;-1:-1:-1;;;4351:274:45;;;5237:15930:2;;;;;;;;;;;;;:::i;:::-;;4351:274:45;;;;;;;;;:::i;:::-;5237:15930:2;311:18:54;;;;;;4299:358:45;;2207:1:54;4299:358:45;;5237:15930:2;;;;;;:::i;311:18:54:-;;5237:15930:2;;;311:18:54;;;;;;;2207:1;311:18;;;;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:54;;2131:3;2171:11;;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;2207:1;5237:15930:2;2131:3:54;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:54;;;5237:15930:2;-1:-1:-1;;;5237:15930:2;;;2207:1:54;5237:15930:2;;;;2162:21:54;-1:-1:-1;;;5237:15930:2;;;2207:1:54;5237:15930:2;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;7938:233:45;;-1:-1:-1;5237:15930:2;;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;8020:23:45;8016:149;;7938:233;;;:::o;8016:149::-;5237:15930:2;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;965:10:53;8114:40:45;;;7938:233::o;8342:234::-;;-1:-1:-1;5237:15930:2;;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;8421:149:45;;8342:234;;;:::o;8421:149::-;5237:15930:2;;;3459:6:45;5237:15930:2;;;;;;;;;;;;;;;;;;;;8519:40:45;965:10:53;8519:40:45;;;8342:234::o;5237:15930:2:-;;;;;;;;;;;;;:::o;1884:437:54:-;5237:15930:2;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:54;;;5237:15930:2;;;;;;;;;2066:15:54;5237:15930:2;;;2066:15:54;5237:15930:2;2091:128:54;2124:5;;;;;;2236:10;;311:18;;1884:437;:::o;311:18::-;;5237:15930:2;;311:18:54;;;;;5237:15930:2;2207:1:54;311:18;;;5237:15930:2;311:18:54;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:54;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;2207:1;5237:15930:2;2131:3:54;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:54;;5237:15930:2;;;;;;;;;2207:1:54;5237:15930:2;;2162:21:54;5237:15930:2;;;;;;;;2207:1:54;5237:15930:2;","linkReferences":{}},"methodIdentifiers":{"ALLO_OWNER()":"cfda7e0a","DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","anchorToProfileId(address)":"4756487f","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address)":"c4d66de8","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","profileIdToPendingOwner(bytes32)":"50d005e0","profilesById(bytes32)":"ee888196","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ALLO_OWNER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"anchorToProfileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profileIdToPendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profilesById\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"This contract is used to create and manage profiles for the Allo protocol It is also used to deploy the anchor contract for each profile which acts as a proxy for the profile and is used to receive funds and execute transactions on behalf of the profile The Registry is also used to add and remove members from a profile and update the profile 'Metadata'\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\",\"params\":{\"_profileId\":\"The ID of the profile\"}},\"addMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_members\":\"The members to add\",\"_profileId\":\"The ID of the profile\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address\",\"params\":{\"_members\":\"The members of the profile (can be set only if msg.sender == _owner)\",\"_metadata\":\"The metadata of the profile\",\"_name\":\"The name of the profile\",\"_nonce\":\"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.\",\"_owner\":\"The owner of the profile\"},\"returns\":{\"_0\":\"The ID for the created profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Used when you have the 'anchor' address and want to retrieve the profile\",\"params\":{\"_anchor\":\"The anchor of the profile\"},\"returns\":{\"_0\":\"Profile details for the `_anchor`\"}},\"getProfileById(bytes32)\":{\"details\":\"Used when you have the 'profileId' and want to retrieve the profile\",\"params\":{\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"The Profile details for the `_profileId`\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\",\"params\":{\"_owner\":\"The owner of the contract\"}},\"isMemberOfProfile(bytes32,address)\":{\"params\":{\"_member\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is a member of the profile, otherwise 'false'\"}},\"isOwnerOfProfile(bytes32,address)\":{\"params\":{\"_owner\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner of the profile, otherwise 'false'\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"params\":{\"_account\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner or member of the profile, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be the Allo owner\",\"params\":{\"_recipient\":\"The address of the recipient\",\"_token\":\"The address of the token to transfer\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the pending owner of the profile.\",\"params\":{\"_members\":\"The members to remove\",\"_profileId\":\"The ID of the profile\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_metadata\":\"The new 'Metadata' of the profile\",\"_profileId\":\"The ID of the profile\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\",\"params\":{\"_name\":\"The new name of the profile\",\"_profileId\":\"The profileId of the profile\"},\"returns\":{\"anchor\":\"The new anchor\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\",\"params\":{\"_pendingOwner\":\"The new pending owner\",\"_profileId\":\"The ID of the profile\"}}},\"stateVariables\":{\"anchorToProfileId\":{\"details\":\"anchor -> Profile.id\"},\"profileIdToPendingOwner\":{\"details\":\"Profile.id -> pending owner\"},\"profilesById\":{\"details\":\"Profile.id -> Profile\"}},\"title\":\"Registry Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"ALLO_OWNER()\":{\"notice\":\"Allo Owner Role for fund recovery\"},\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"acceptProfileOwnership(bytes32)\":{\"notice\":\"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\"},\"addMembers(bytes32,address[])\":{\"notice\":\"Adds members to the profile\"},\"anchorToProfileId(address)\":{\"notice\":\"This maps the anchor address to the profile ID\"},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"notice\":\"Creates a new profile\"},\"getProfileByAnchor(address)\":{\"notice\":\"Retrieve profile by anchor\"},\"getProfileById(bytes32)\":{\"notice\":\"Retrieve profile by profileId\"},\"initialize(address)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is a member of the profile\"},\"isOwnerOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is an owner of the profile\"},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the address is an owner or member of the profile\"},\"profileIdToPendingOwner(bytes32)\":{\"notice\":\"This maps the profile ID to the pending owner\"},\"profilesById(bytes32)\":{\"notice\":\"This maps the profile ID to the profile details\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfers any fund balance in Allo to the recipient\"},\"removeMembers(bytes32,address[])\":{\"notice\":\"Removes members from the profile\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"notice\":\"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\"},\"updateProfileName(bytes32,string)\":{\"notice\":\"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event.\"},\"updateProfilePendingOwner(bytes32,address)\":{\"notice\":\"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\"}},\"notice\":\"Registry contract for creating and managing profiles\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Registry.sol\":\"Registry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ALLO_OWNER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"anchorToProfileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profileIdToPendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profilesById","outputs":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.","params":{"_profileId":"The ID of the profile"}},"addMembers(bytes32,address[])":{"details":"'msg.sender' must be the owner of the profile.","params":{"_members":"The members to add","_profileId":"The ID of the profile"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address","params":{"_members":"The members of the profile (can be set only if msg.sender == _owner)","_metadata":"The metadata of the profile","_name":"The name of the profile","_nonce":"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.","_owner":"The owner of the profile"},"returns":{"_0":"The ID for the created profile"}},"getProfileByAnchor(address)":{"details":"Used when you have the 'anchor' address and want to retrieve the profile","params":{"_anchor":"The anchor of the profile"},"returns":{"_0":"Profile details for the `_anchor`"}},"getProfileById(bytes32)":{"details":"Used when you have the 'profileId' and want to retrieve the profile","params":{"_profileId":"The ID of the profile"},"returns":{"_0":"The Profile details for the `_profileId`"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address)":{"details":"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'","params":{"_owner":"The owner of the contract"}},"isMemberOfProfile(bytes32,address)":{"params":{"_member":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is a member of the profile, otherwise 'false'"}},"isOwnerOfProfile(bytes32,address)":{"params":{"_owner":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner of the profile, otherwise 'false'"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"params":{"_account":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner or member of the profile, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be the Allo owner","params":{"_recipient":"The address of the recipient","_token":"The address of the token to transfer"}},"removeMembers(bytes32,address[])":{"details":"'msg.sender' must be the pending owner of the profile.","params":{"_members":"The members to remove","_profileId":"The ID of the profile"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"'msg.sender' must be the owner of the profile.","params":{"_metadata":"The new 'Metadata' of the profile","_profileId":"The ID of the profile"}},"updateProfileName(bytes32,string)":{"details":"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.","params":{"_name":"The new name of the profile","_profileId":"The profileId of the profile"},"returns":{"anchor":"The new anchor"}},"updateProfilePendingOwner(bytes32,address)":{"details":"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.","params":{"_pendingOwner":"The new pending owner","_profileId":"The ID of the profile"}}},"version":1},"userdoc":{"kind":"user","methods":{"ALLO_OWNER()":{"notice":"Allo Owner Role for fund recovery"},"NATIVE()":{"notice":"Address of the native token"},"acceptProfileOwnership(bytes32)":{"notice":"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event."},"addMembers(bytes32,address[])":{"notice":"Adds members to the profile"},"anchorToProfileId(address)":{"notice":"This maps the anchor address to the profile ID"},"createProfile(uint256,string,(uint256,string),address,address[])":{"notice":"Creates a new profile"},"getProfileByAnchor(address)":{"notice":"Retrieve profile by anchor"},"getProfileById(bytes32)":{"notice":"Retrieve profile by profileId"},"initialize(address)":{"notice":"Initializes the contract after an upgrade"},"isMemberOfProfile(bytes32,address)":{"notice":"Checks if the given address is a member of the profile"},"isOwnerOfProfile(bytes32,address)":{"notice":"Checks if the given address is an owner of the profile"},"isOwnerOrMemberOfProfile(bytes32,address)":{"notice":"Checks if the address is an owner or member of the profile"},"profileIdToPendingOwner(bytes32)":{"notice":"This maps the profile ID to the pending owner"},"profilesById(bytes32)":{"notice":"This maps the profile ID to the profile details"},"recoverFunds(address,address)":{"notice":"Transfers any fund balance in Allo to the recipient"},"removeMembers(bytes32,address[])":{"notice":"Removes members from the profile"},"updateProfileMetadata(bytes32,(uint256,string))":{"notice":"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event."},"updateProfileName(bytes32,string)":{"notice":"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event."},"updateProfilePendingOwner(bytes32,address)":{"notice":"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Registry.sol":"Registry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":54050,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52470,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)"},{"astId":52777,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":1525,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchorToProfileId","offset":0,"slot":"151","type":"t_mapping(t_address,t_bytes32)"},{"astId":1531,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profilesById","offset":0,"slot":"152","type":"t_mapping(t_bytes32,t_struct(Profile)2629_storage)"},{"astId":1536,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profileIdToPendingOwner","offset":0,"slot":"153","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_bytes32)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bytes32)","numberOfBytes":"32","value":"t_bytes32"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_bytes32,t_struct(Profile)2629_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct IRegistry.Profile)","numberOfBytes":"32","value":"t_struct(Profile)2629_storage"},"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52465_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Profile)2629_storage":{"encoding":"inplace","label":"struct IRegistry.Profile","numberOfBytes":"224","members":[{"astId":2617,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"id","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2619,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"nonce","offset":0,"slot":"1","type":"t_uint256"},{"astId":2621,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"name","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2624,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2626,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"owner","offset":0,"slot":"5","type":"t_address"},{"astId":2628,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchor","offset":0,"slot":"6","type":"t_address"}]},"t_struct(RoleData)52465_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52462,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52464,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","id":2296,"exportedSymbols":{"AccessControlUpgradeable":[52778],"AddressUpgradeable":[53726],"Anchor":[1492],"ContextUpgradeable":[53777],"ERC165Upgradeable":[54051],"ERC20":[4533],"Errors":[3089],"IAccessControlUpgradeable":[52851],"IERC165Upgradeable":[54063],"IRegistry":[2802],"Initializable":[53233],"MathUpgradeable":[54929],"Metadata":[3098],"Native":[3106],"Registry":[2295],"SafeTransferLib":[4691],"SignedMathUpgradeable":[55034],"StringsUpgradeable":[54006],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:21126:2","nodes":[{"id":1494,"nodeType":"PragmaDirective","src":"42:23:2","nodes":[],"literals":["solidity","0.8",".19"]},{"id":1495,"nodeType":"ImportDirective","src":"89:90:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":52779,"symbolAliases":[],"unitAlias":""},{"id":1496,"nodeType":"ImportDirective","src":"180:84:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":53234,"symbolAliases":[],"unitAlias":""},{"id":1498,"nodeType":"ImportDirective","src":"265:50:2","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":4534,"symbolAliases":[{"foreign":{"id":1497,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"273:5:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1499,"nodeType":"ImportDirective","src":"330:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":2803,"symbolAliases":[],"unitAlias":""},{"id":1501,"nodeType":"ImportDirective","src":"389:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Anchor.sol","file":"./Anchor.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":1493,"symbolAliases":[{"foreign":{"id":1500,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"397:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1503,"nodeType":"ImportDirective","src":"426:46:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":1502,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"434:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1505,"nodeType":"ImportDirective","src":"473:50:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"./libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":1504,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"481:8:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1506,"nodeType":"ImportDirective","src":"524:32:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":1507,"nodeType":"ImportDirective","src":"557:34:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3318,"symbolAliases":[],"unitAlias":""},{"id":2295,"nodeType":"ContractDefinition","src":"5237:15930:2","nodes":[{"id":1525,"nodeType":"VariableDeclaration","src":"5544:52:2","nodes":[],"constant":false,"documentation":{"id":1521,"nodeType":"StructuredDocumentation","src":"5447:92:2","text":"@notice This maps the anchor address to the profile ID\n @dev anchor -> Profile.id"},"functionSelector":"4756487f","mutability":"mutable","name":"anchorToProfileId","nameLocation":"5579:17:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"typeName":{"id":1524,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"5552:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5544:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5563:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":1531,"nodeType":"VariableDeclaration","src":"5702:47:2","nodes":[],"constant":false,"documentation":{"id":1526,"nodeType":"StructuredDocumentation","src":"5603:94:2","text":"@notice This maps the profile ID to the profile details\n @dev Profile.id -> Profile"},"functionSelector":"ee888196","mutability":"mutable","name":"profilesById","nameLocation":"5737:12:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"typeName":{"id":1530,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5710:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5702:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1529,"nodeType":"UserDefinedTypeName","pathNode":{"id":1528,"name":"Profile","nameLocations":["5721:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"5721:7:2"},"referencedDeclaration":2629,"src":"5721:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}}},"visibility":"public"},{"id":1536,"nodeType":"VariableDeclaration","src":"5859:58:2","nodes":[],"constant":false,"documentation":{"id":1532,"nodeType":"StructuredDocumentation","src":"5756:98:2","text":"@notice This maps the profile ID to the pending owner\n @dev Profile.id -> pending owner"},"functionSelector":"50d005e0","mutability":"mutable","name":"profileIdToPendingOwner","nameLocation":"5894:23:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":1535,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5859:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1534,"name":"address","nodeType":"ElementaryTypeName","src":"5878:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":1542,"nodeType":"VariableDeclaration","src":"5974:60:2","nodes":[],"constant":true,"documentation":{"id":1537,"nodeType":"StructuredDocumentation","src":"5924:45:2","text":"@notice Allo Owner Role for fund recovery"},"functionSelector":"cfda7e0a","mutability":"constant","name":"ALLO_OWNER","nameLocation":"5998:10:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"414c4c4f5f4f574e4552","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6021:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""},"value":"ALLO_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""}],"id":1539,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6011:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6011:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":1553,"nodeType":"ModifierDefinition","src":"6360:108:2","nodes":[],"body":{"id":1552,"nodeType":"Block","src":"6406:62:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1548,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1545,"src":"6439:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1547,"name":"_checkOnlyProfileOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2071,"src":"6416:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1550,"nodeType":"ExpressionStatement","src":"6416:34:2"},{"id":1551,"nodeType":"PlaceholderStatement","src":"6460:1:2"}]},"documentation":{"id":1543,"nodeType":"StructuredDocumentation","src":"6177:178:2","text":"@notice Checks if the caller is the profile owner\n @dev Reverts `UNAUTHORIZED()` if the caller is not the profile owner\n @param _profileId The ID of the profile"},"name":"onlyProfileOwner","nameLocation":"6369:16:2","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"mutability":"mutable","name":"_profileId","nameLocation":"6394:10:2","nodeType":"VariableDeclaration","scope":1553,"src":"6386:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6386:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6385:20:2"},"virtual":false,"visibility":"internal"},{"id":1578,"nodeType":"FunctionDefinition","src":"6841:257:2","nodes":[],"body":{"id":1577,"nodeType":"Block","src":"6903:195:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1562,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"6968:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6986:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6978:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1563,"name":"address","nodeType":"ElementaryTypeName","src":"6978:7:2","typeDescriptions":{}}},"id":1566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6978:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6968:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1571,"nodeType":"IfStatement","src":"6964:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1568,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"6997:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6997:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1570,"nodeType":"RevertStatement","src":"6990:21:2"}},{"expression":{"arguments":[{"id":1573,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"7072:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1574,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"7084:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1572,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"7061:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1576,"nodeType":"ExpressionStatement","src":"7061:30:2"}]},"documentation":{"id":1554,"nodeType":"StructuredDocumentation","src":"6608:228:2","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\n @param _owner The owner of the contract"},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":1559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6900:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":1560,"kind":"modifierInvocation","modifierName":{"id":1558,"name":"reinitializer","nameLocations":["6886:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53168,"src":"6886:13:2"},"nodeType":"ModifierInvocation","src":"6886:16:2"}],"name":"initialize","nameLocation":"6850:10:2","parameters":{"id":1557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1556,"mutability":"mutable","name":"_owner","nameLocation":"6869:6:2","nodeType":"VariableDeclaration","scope":1578,"src":"6861:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1555,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6860:16:2"},"returnParameters":{"id":1561,"nodeType":"ParameterList","parameters":[],"src":"6903:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1592,"nodeType":"FunctionDefinition","src":"7472:131:2","nodes":[],"body":{"id":1591,"nodeType":"Block","src":"7555:48:2","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1587,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7572:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1589,"indexExpression":{"id":1588,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1581,"src":"7585:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7572:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1586,"id":1590,"nodeType":"Return","src":"7565:31:2"}]},"baseFunctions":[2685],"documentation":{"id":1579,"nodeType":"StructuredDocumentation","src":"7240:227:2","text":"@notice Retrieve profile by profileId\n @dev Used when you have the 'profileId' and want to retrieve the profile\n @param _profileId The ID of the profile\n @return The Profile details for the `_profileId`"},"functionSelector":"0114cf0a","implemented":true,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"7481:14:2","parameters":{"id":1582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1581,"mutability":"mutable","name":"_profileId","nameLocation":"7504:10:2","nodeType":"VariableDeclaration","scope":1592,"src":"7496:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7495:20:2"},"returnParameters":{"id":1586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1592,"src":"7539:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1584,"nodeType":"UserDefinedTypeName","pathNode":{"id":1583,"name":"Profile","nameLocations":["7539:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7539:7:2"},"referencedDeclaration":2629,"src":"7539:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7538:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1612,"nodeType":"FunctionDefinition","src":"7837:187:2","nodes":[],"body":{"id":1611,"nodeType":"Block","src":"7921:103:2","nodes":[],"statements":[{"assignments":[1602],"declarations":[{"constant":false,"id":1602,"mutability":"mutable","name":"profileId","nameLocation":"7939:9:2","nodeType":"VariableDeclaration","scope":1611,"src":"7931:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7931:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1606,"initialValue":{"baseExpression":{"id":1603,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"7951:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1605,"indexExpression":{"id":1604,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7969:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7951:26:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7931:46:2"},{"expression":{"baseExpression":{"id":1607,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7994:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1609,"indexExpression":{"id":1608,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1602,"src":"8007:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7994:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1600,"id":1610,"nodeType":"Return","src":"7987:30:2"}]},"baseFunctions":[2694],"documentation":{"id":1593,"nodeType":"StructuredDocumentation","src":"7609:223:2","text":"@notice Retrieve profile by anchor\n @dev Used when you have the 'anchor' address and want to retrieve the profile\n @param _anchor The anchor of the profile\n @return Profile details for the `_anchor`"},"functionSelector":"dd93da43","implemented":true,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"7846:18:2","parameters":{"id":1596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1595,"mutability":"mutable","name":"_anchor","nameLocation":"7873:7:2","nodeType":"VariableDeclaration","scope":1612,"src":"7865:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1594,"name":"address","nodeType":"ElementaryTypeName","src":"7865:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7864:17:2"},"returnParameters":{"id":1600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1612,"src":"7905:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1598,"nodeType":"UserDefinedTypeName","pathNode":{"id":1597,"name":"Profile","nameLocations":["7905:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7905:7:2"},"referencedDeclaration":2629,"src":"7905:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7904:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1756,"nodeType":"FunctionDefinition","src":"8781:1901:2","nodes":[],"body":{"id":1755,"nodeType":"Block","src":"8984:1698:2","nodes":[],"statements":[{"assignments":[1631],"declarations":[{"constant":false,"id":1631,"mutability":"mutable","name":"profileId","nameLocation":"9068:9:2","nodeType":"VariableDeclaration","scope":1755,"src":"9060:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9060:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1636,"initialValue":{"arguments":[{"id":1633,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9099:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1634,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9107:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1632,"name":"_generateProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"9080:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9060:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1637,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9173:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1639,"indexExpression":{"id":1638,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9186:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9173:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9197:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9173:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9215:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9207:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1641,"name":"address","nodeType":"ElementaryTypeName","src":"9207:7:2","typeDescriptions":{}}},"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9173:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1649,"nodeType":"IfStatement","src":"9169:78:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1646,"name":"NONCE_NOT_AVAILABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3026,"src":"9226:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9226:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1648,"nodeType":"RevertStatement","src":"9219:28:2"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1650,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9317:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9335:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9327:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1651,"name":"address","nodeType":"ElementaryTypeName","src":"9327:7:2","typeDescriptions":{}}},"id":1654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9327:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9317:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1659,"nodeType":"IfStatement","src":"9313:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1656,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"9346:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1658,"nodeType":"RevertStatement","src":"9339:21:2"}},{"assignments":[1662],"declarations":[{"constant":false,"id":1662,"mutability":"mutable","name":"profile","nameLocation":"9462:7:2","nodeType":"VariableDeclaration","scope":1755,"src":"9447:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1661,"nodeType":"UserDefinedTypeName","pathNode":{"id":1660,"name":"Profile","nameLocations":["9447:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"9447:7:2"},"referencedDeclaration":2629,"src":"9447:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1674,"initialValue":{"arguments":[{"id":1664,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9498:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1665,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9528:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1666,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9554:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1667,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"9583:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":1668,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1670,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9657:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1671,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9668:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1669,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"9641:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1663,"name":"Profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2629,"src":"9472:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Profile_$2629_storage_ptr_$","typeString":"type(struct IRegistry.Profile storage pointer)"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9494:2:2","9521:5:2","9548:4:2","9573:8:2","9606:5:2","9633:6:2"],"names":["id","nonce","name","metadata","owner","anchor"],"nodeType":"FunctionCall","src":"9472:213:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"nodeType":"VariableDeclarationStatement","src":"9447:238:2"},{"expression":{"id":1679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1675,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9696:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1677,"indexExpression":{"id":1676,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9709:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9696:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1678,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9722:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"src":"9696:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1680,"nodeType":"ExpressionStatement","src":"9696:33:2"},{"expression":{"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1681,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9739:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1684,"indexExpression":{"expression":{"id":1682,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9757:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9765:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9757:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9739:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1685,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9775:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9739:45:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1687,"nodeType":"ExpressionStatement","src":"9739:45:2"},{"assignments":[1689],"declarations":[{"constant":false,"id":1689,"mutability":"mutable","name":"memberLength","nameLocation":"9851:12:2","nodeType":"VariableDeclaration","scope":1755,"src":"9843:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1688,"name":"uint256","nodeType":"ElementaryTypeName","src":"9843:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1692,"initialValue":{"expression":{"id":1690,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"9866:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9875:6:2","memberName":"length","nodeType":"MemberAccess","src":"9866:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9843:38:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1693,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"9942:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9962:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9972:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9976:6:2","memberName":"sender","nodeType":"MemberAccess","src":"9972:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9962:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1705,"nodeType":"IfStatement","src":"9938:92:2","trueBody":{"id":1704,"nodeType":"Block","src":"9984:46:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1701,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"10005:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10005:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1703,"nodeType":"RevertStatement","src":"9998:21:2"}]}},{"body":{"id":1737,"nodeType":"Block","src":"10075:367:2","statements":[{"assignments":[1713],"declarations":[{"constant":false,"id":1713,"mutability":"mutable","name":"member","nameLocation":"10097:6:2","nodeType":"VariableDeclaration","scope":1737,"src":"10089:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1712,"name":"address","nodeType":"ElementaryTypeName","src":"10089:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1717,"initialValue":{"baseExpression":{"id":1714,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"10106:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1716,"indexExpression":{"id":1715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10115:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10106:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10089:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1718,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10206:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10224:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10216:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1719,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:2","typeDescriptions":{}}},"id":1722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10216:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10206:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1727,"nodeType":"IfStatement","src":"10202:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1724,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10235:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10235:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1726,"nodeType":"RevertStatement","src":"10228:21:2"}},{"expression":{"arguments":[{"id":1729,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10354:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1730,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10365:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1728,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"10343:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10343:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"10343:29:2"},{"id":1736,"nodeType":"UncheckedBlock","src":"10386:46:2","statements":[{"expression":{"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10414:3:2","subExpression":{"id":1733,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10416:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ExpressionStatement","src":"10414:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10056:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1710,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"10060:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10056:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1738,"initializationExpression":{"assignments":[1707],"declarations":[{"constant":false,"id":1707,"mutability":"mutable","name":"i","nameLocation":"10053:1:2","nodeType":"VariableDeclaration","scope":1738,"src":"10045:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1706,"name":"uint256","nodeType":"ElementaryTypeName","src":"10045:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1708,"nodeType":"VariableDeclarationStatement","src":"10045:9:2"},"nodeType":"ForStatement","src":"10040:402:2"},{"eventCall":{"arguments":[{"id":1740,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10527:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1741,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10546:5:2","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"10538:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1743,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10553:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10561:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"10553:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1745,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10575:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"10567:16:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"expression":{"id":1747,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10585:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10593:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"10585:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1749,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10600:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10608:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"10600:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1739,"name":"ProfileCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"10512:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,struct Metadata memory,address,address)"}},"id":1751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1752,"nodeType":"EmitStatement","src":"10507:108:2"},{"expression":{"id":1753,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10666:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1629,"id":1754,"nodeType":"Return","src":"10659:16:2"}]},"baseFunctions":[2742],"documentation":{"id":1613,"nodeType":"StructuredDocumentation","src":"8030:746:2","text":"@notice Creates a new profile\n @dev This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event\n Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile\n Note: The 'name' and 'profileId' are used to generate the 'anchor' address\n @param _nonce Nonce used to generate profileId. Can be any integer, but should be unique\n for each profile.\n @param _name The name of the profile\n @param _metadata The metadata of the profile\n @param _owner The owner of the profile\n @param _members The members of the profile (can be set only if msg.sender == _owner)\n @return The ID for the created profile"},"functionSelector":"3a92f65f","implemented":true,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"8790:13:2","parameters":{"id":1626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"_nonce","nameLocation":"8821:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8813:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1614,"name":"uint256","nodeType":"ElementaryTypeName","src":"8813:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"_name","nameLocation":"8851:5:2","nodeType":"VariableDeclaration","scope":1756,"src":"8837:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1616,"name":"string","nodeType":"ElementaryTypeName","src":"8837:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1620,"mutability":"mutable","name":"_metadata","nameLocation":"8882:9:2","nodeType":"VariableDeclaration","scope":1756,"src":"8866:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1619,"nodeType":"UserDefinedTypeName","pathNode":{"id":1618,"name":"Metadata","nameLocations":["8866:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8866:8:2"},"referencedDeclaration":3098,"src":"8866:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"_owner","nameLocation":"8909:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8901:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1621,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1625,"mutability":"mutable","name":"_members","nameLocation":"8942:8:2","nodeType":"VariableDeclaration","scope":1756,"src":"8925:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1623,"name":"address","nodeType":"ElementaryTypeName","src":"8925:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1624,"nodeType":"ArrayTypeName","src":"8925:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8803:153:2"},"returnParameters":{"id":1629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1756,"src":"8975:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8975:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8974:9:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1820,"nodeType":"FunctionDefinition","src":"11210:830:2","nodes":[],"body":{"id":1819,"nodeType":"Block","src":"11369:671:2","nodes":[],"statements":[{"expression":{"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1769,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11420:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1771,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11445:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1772,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11457:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1770,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"11429:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11429:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11420:43:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1775,"nodeType":"ExpressionStatement","src":"11420:43:2"},{"assignments":[1778],"declarations":[{"constant":false,"id":1778,"mutability":"mutable","name":"profile","nameLocation":"11554:7:2","nodeType":"VariableDeclaration","scope":1819,"src":"11538:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1777,"nodeType":"UserDefinedTypeName","pathNode":{"id":1776,"name":"Profile","nameLocations":["11538:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"11538:7:2"},"referencedDeclaration":2629,"src":"11538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1782,"initialValue":{"baseExpression":{"id":1779,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"11564:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1781,"indexExpression":{"id":1780,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11577:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11564:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11538:50:2"},{"expression":{"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1783,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11627:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11635:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"11627:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1786,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11642:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11627:20:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1788,"nodeType":"ExpressionStatement","src":"11627:20:2"},{"expression":{"id":1797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1789,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11687:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1792,"indexExpression":{"expression":{"id":1790,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11705:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11713:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11705:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11687:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":1795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11731:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11723:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11723:7:2","typeDescriptions":{}}},"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11723:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11687:46:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1798,"nodeType":"ExpressionStatement","src":"11687:46:2"},{"expression":{"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1799,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11774:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11782:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11774:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1802,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11791:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11774:23:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1804,"nodeType":"ExpressionStatement","src":"11774:23:2"},{"expression":{"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1805,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11807:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1807,"indexExpression":{"id":1806,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11825:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11807:25:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1808,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11835:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11807:38:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1810,"nodeType":"ExpressionStatement","src":"11807:38:2"},{"eventCall":{"arguments":[{"id":1812,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11950:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1813,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11962:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1814,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11969:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1811,"name":"ProfileNameUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"11931:18:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,string memory,address)"}},"id":1815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1816,"nodeType":"EmitStatement","src":"11926:50:2"},{"expression":{"id":1817,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"12027:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1768,"id":1818,"nodeType":"Return","src":"12020:13:2"}]},"baseFunctions":[2752],"documentation":{"id":1757,"nodeType":"StructuredDocumentation","src":"10688:517:2","text":"@notice Updates the name of the profile and generates new anchor.\n Emits a 'ProfileNameUpdated()' event.\n @dev Use caution when updating your profile name as it will generate a new anchor address. You can always update the name\n back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\n @param _profileId The profileId of the profile\n @param _name The new name of the profile\n @return anchor The new anchor"},"functionSelector":"cf189ff2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1764,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11320:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1765,"kind":"modifierInvocation","modifierName":{"id":1763,"name":"onlyProfileOwner","nameLocations":["11303:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"11303:16:2"},"nodeType":"ModifierInvocation","src":"11303:28:2"}],"name":"updateProfileName","nameLocation":"11219:17:2","parameters":{"id":1762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1759,"mutability":"mutable","name":"_profileId","nameLocation":"11245:10:2","nodeType":"VariableDeclaration","scope":1820,"src":"11237:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11237:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1761,"mutability":"mutable","name":"_name","nameLocation":"11271:5:2","nodeType":"VariableDeclaration","scope":1820,"src":"11257:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1760,"name":"string","nodeType":"ElementaryTypeName","src":"11257:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11236:41:2"},"returnParameters":{"id":1768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1767,"mutability":"mutable","name":"anchor","nameLocation":"11357:6:2","nodeType":"VariableDeclaration","scope":1820,"src":"11349:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1766,"name":"address","nodeType":"ElementaryTypeName","src":"11349:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11348:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1845,"nodeType":"FunctionDefinition","src":"12309:415:2","nodes":[],"body":{"id":1844,"nodeType":"Block","src":"12445:279:2","nodes":[],"statements":[{"expression":{"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1832,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"12553:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1834,"indexExpression":{"id":1833,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12566:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12553:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12578:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"12553:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1836,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12589:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12553:45:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":1838,"nodeType":"ExpressionStatement","src":"12553:45:2"},{"eventCall":{"arguments":[{"id":1840,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12695:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1841,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12707:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":1839,"name":"ProfileMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"12672:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,struct Metadata memory)"}},"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12672:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1843,"nodeType":"EmitStatement","src":"12667:50:2"}]},"baseFunctions":[2761],"documentation":{"id":1821,"nodeType":"StructuredDocumentation","src":"12046:258:2","text":"@notice Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _metadata The new 'Metadata' of the profile"},"functionSelector":"ac402839","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1829,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12429:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1830,"kind":"modifierInvocation","modifierName":{"id":1828,"name":"onlyProfileOwner","nameLocations":["12412:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"12412:16:2"},"nodeType":"ModifierInvocation","src":"12412:28:2"}],"name":"updateProfileMetadata","nameLocation":"12318:21:2","parameters":{"id":1827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1823,"mutability":"mutable","name":"_profileId","nameLocation":"12348:10:2","nodeType":"VariableDeclaration","scope":1845,"src":"12340:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12340:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1826,"mutability":"mutable","name":"_metadata","nameLocation":"12376:9:2","nodeType":"VariableDeclaration","scope":1845,"src":"12360:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1825,"nodeType":"UserDefinedTypeName","pathNode":{"id":1824,"name":"Metadata","nameLocations":["12360:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12360:8:2"},"referencedDeclaration":3098,"src":"12360:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12339:47:2"},"returnParameters":{"id":1831,"nodeType":"ParameterList","parameters":[],"src":"12445:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1866,"nodeType":"FunctionDefinition","src":"12992:208:2","nodes":[],"body":{"id":1865,"nodeType":"Block","src":"13093:107:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1856,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13128:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1857,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13140:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1855,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13110:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13110:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1860,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13172:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1861,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13184:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1859,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13153:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13153:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13110:83:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1864,"nodeType":"Return","src":"13103:90:2"}]},"baseFunctions":[2704],"documentation":{"id":1846,"nodeType":"StructuredDocumentation","src":"12730:257:2","text":"@notice Checks if the address is an owner or member of the profile\n @param _profileId The ID of the profile\n @param _account The address to check\n @return 'true' if the address is an owner or member of the profile, otherwise 'false'"},"functionSelector":"5e8a7915","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"13001:24:2","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1848,"mutability":"mutable","name":"_profileId","nameLocation":"13034:10:2","nodeType":"VariableDeclaration","scope":1866,"src":"13026:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13026:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"_account","nameLocation":"13054:8:2","nodeType":"VariableDeclaration","scope":1866,"src":"13046:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"13046:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13025:38:2"},"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1866,"src":"13087:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13087:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13086:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1882,"nodeType":"FunctionDefinition","src":"13452:152:2","nodes":[],"body":{"id":1881,"nodeType":"Block","src":"13543:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1877,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"13578:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1878,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"13590:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1876,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13560:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13560:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1875,"id":1880,"nodeType":"Return","src":"13553:44:2"}]},"baseFunctions":[2714],"documentation":{"id":1867,"nodeType":"StructuredDocumentation","src":"13206:241:2","text":"@notice Checks if the given address is an owner of the profile\n @param _profileId The ID of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"functionSelector":"39b86b8c","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"13461:16:2","parameters":{"id":1872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"_profileId","nameLocation":"13486:10:2","nodeType":"VariableDeclaration","scope":1882,"src":"13478:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13478:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"_owner","nameLocation":"13506:6:2","nodeType":"VariableDeclaration","scope":1882,"src":"13498:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1870,"name":"address","nodeType":"ElementaryTypeName","src":"13498:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13477:36:2"},"returnParameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1882,"src":"13537:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1873,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13536:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1898,"nodeType":"FunctionDefinition","src":"13857:156:2","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"13950:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"13986:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1894,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"13998:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1892,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13967:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13967:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1891,"id":1896,"nodeType":"Return","src":"13960:46:2"}]},"baseFunctions":[2724],"documentation":{"id":1883,"nodeType":"StructuredDocumentation","src":"13610:242:2","text":"@notice Checks if the given address is a member of the profile\n @param _profileId The ID of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"functionSelector":"0ec1fbac","implemented":true,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"13866:17:2","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1885,"mutability":"mutable","name":"_profileId","nameLocation":"13892:10:2","nodeType":"VariableDeclaration","scope":1898,"src":"13884:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13884:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"_member","nameLocation":"13912:7:2","nodeType":"VariableDeclaration","scope":1898,"src":"13904:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1886,"name":"address","nodeType":"ElementaryTypeName","src":"13904:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13883:37:2"},"returnParameters":{"id":1891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1898,"src":"13944:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1889,"name":"bool","nodeType":"ElementaryTypeName","src":"13944:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13943:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1921,"nodeType":"FunctionDefinition","src":"14336:382:2","nodes":[],"body":{"id":1920,"nodeType":"Block","src":"14472:246:2","nodes":[],"statements":[{"expression":{"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1909,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"14530:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1911,"indexExpression":{"id":1910,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14554:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14530:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1912,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14568:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14530:51:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1914,"nodeType":"ExpressionStatement","src":"14530:51:2"},{"eventCall":{"arguments":[{"id":1916,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14685:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1917,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14697:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1915,"name":"ProfilePendingOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2676,"src":"14658:26:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1919,"nodeType":"EmitStatement","src":"14653:58:2"}]},"baseFunctions":[2769],"documentation":{"id":1899,"nodeType":"StructuredDocumentation","src":"14019:312:2","text":"@notice Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\n @dev 'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\n @param _profileId The ID of the profile\n @param _pendingOwner The new pending owner"},"functionSelector":"3b66dacd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1906,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14456:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1907,"kind":"modifierInvocation","modifierName":{"id":1905,"name":"onlyProfileOwner","nameLocations":["14439:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"14439:16:2"},"nodeType":"ModifierInvocation","src":"14439:28:2"}],"name":"updateProfilePendingOwner","nameLocation":"14345:25:2","parameters":{"id":1904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"_profileId","nameLocation":"14379:10:2","nodeType":"VariableDeclaration","scope":1921,"src":"14371:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14371:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1903,"mutability":"mutable","name":"_pendingOwner","nameLocation":"14399:13:2","nodeType":"VariableDeclaration","scope":1921,"src":"14391:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1902,"name":"address","nodeType":"ElementaryTypeName","src":"14391:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14370:43:2"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"14472:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1966,"nodeType":"FunctionDefinition","src":"15016:745:2","nodes":[],"body":{"id":1965,"nodeType":"Block","src":"15077:684:2","nodes":[],"statements":[{"assignments":[1929],"declarations":[{"constant":false,"id":1929,"mutability":"mutable","name":"profile","nameLocation":"15147:7:2","nodeType":"VariableDeclaration","scope":1965,"src":"15131:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1928,"nodeType":"UserDefinedTypeName","pathNode":{"id":1927,"name":"Profile","nameLocations":["15131:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"15131:7:2"},"referencedDeclaration":2629,"src":"15131:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1933,"initialValue":{"baseExpression":{"id":1930,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"15157:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1932,"indexExpression":{"id":1931,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15170:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15157:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15131:50:2"},{"assignments":[1935],"declarations":[{"constant":false,"id":1935,"mutability":"mutable","name":"newOwner","nameLocation":"15290:8:2","nodeType":"VariableDeclaration","scope":1965,"src":"15282:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1934,"name":"address","nodeType":"ElementaryTypeName","src":"15282:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1939,"initialValue":{"baseExpression":{"id":1936,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15301:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1938,"indexExpression":{"id":1937,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15325:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15301:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15282:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1940,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15414:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15418:6:2","memberName":"sender","nodeType":"MemberAccess","src":"15414:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1942,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15428:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15414:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1947,"nodeType":"IfStatement","src":"15410:54:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1944,"name":"NOT_PENDING_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"15445:17:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1946,"nodeType":"RevertStatement","src":"15438:26:2"}},{"expression":{"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1948,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15558:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15550:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1951,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15566:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15550:24:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1953,"nodeType":"ExpressionStatement","src":"15550:24:2"},{"expression":{"id":1957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"15584:42:2","subExpression":{"baseExpression":{"id":1954,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15591:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1956,"indexExpression":{"id":1955,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15615:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15591:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1958,"nodeType":"ExpressionStatement","src":"15584:42:2"},{"eventCall":{"arguments":[{"id":1960,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15728:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1961,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15740:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15748:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15740:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1959,"name":"ProfileOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2669,"src":"15708:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15708:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1964,"nodeType":"EmitStatement","src":"15703:51:2"}]},"baseFunctions":[2775],"documentation":{"id":1922,"nodeType":"StructuredDocumentation","src":"14724:287:2","text":"@notice Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\n @dev 'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\n @param _profileId The ID of the profile"},"functionSelector":"2497f3c6","implemented":true,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"15025:22:2","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1924,"mutability":"mutable","name":"_profileId","nameLocation":"15056:10:2","nodeType":"VariableDeclaration","scope":1966,"src":"15048:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15047:20:2"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"15077:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2017,"nodeType":"FunctionDefinition","src":"15962:658:2","nodes":[],"body":{"id":2016,"nodeType":"Block","src":"16067:553:2","nodes":[],"statements":[{"assignments":[1979],"declarations":[{"constant":false,"id":1979,"mutability":"mutable","name":"memberLength","nameLocation":"16085:12:2","nodeType":"VariableDeclaration","scope":2016,"src":"16077:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"16077:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1982,"initialValue":{"expression":{"id":1980,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16100:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16109:6:2","memberName":"length","nodeType":"MemberAccess","src":"16100:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16077:38:2"},{"body":{"id":2014,"nodeType":"Block","src":"16246:368:2","statements":[{"assignments":[1990],"declarations":[{"constant":false,"id":1990,"mutability":"mutable","name":"member","nameLocation":"16268:6:2","nodeType":"VariableDeclaration","scope":2014,"src":"16260:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"16260:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1994,"initialValue":{"baseExpression":{"id":1991,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16277:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1993,"indexExpression":{"id":1992,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16286:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16277:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16260:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1995,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16377:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16395:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1996,"name":"address","nodeType":"ElementaryTypeName","src":"16387:7:2","typeDescriptions":{}}},"id":1999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16387:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16377:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2004,"nodeType":"IfStatement","src":"16373:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2001,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"16406:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2003,"nodeType":"RevertStatement","src":"16399:21:2"}},{"expression":{"arguments":[{"id":2006,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16525:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2007,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16537:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2005,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"16514:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16514:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2009,"nodeType":"ExpressionStatement","src":"16514:30:2"},{"id":2013,"nodeType":"UncheckedBlock","src":"16558:46:2","statements":[{"expression":{"id":2011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16586:3:2","subExpression":{"id":2010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16588:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2012,"nodeType":"ExpressionStatement","src":"16586:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16227:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1987,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"16231:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16227:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2015,"initializationExpression":{"assignments":[1984],"declarations":[{"constant":false,"id":1984,"mutability":"mutable","name":"i","nameLocation":"16224:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"16216:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1983,"name":"uint256","nodeType":"ElementaryTypeName","src":"16216:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1985,"nodeType":"VariableDeclarationStatement","src":"16216:9:2"},"nodeType":"ForStatement","src":"16211:403:2"}]},"baseFunctions":[2784],"documentation":{"id":1967,"nodeType":"StructuredDocumentation","src":"15767:190:2","text":"@notice Adds members to the profile\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to add"},"functionSelector":"5063f361","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1975,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16055:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1976,"kind":"modifierInvocation","modifierName":{"id":1974,"name":"onlyProfileOwner","nameLocations":["16038:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16038:16:2"},"nodeType":"ModifierInvocation","src":"16038:28:2"}],"name":"addMembers","nameLocation":"15971:10:2","parameters":{"id":1973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1969,"mutability":"mutable","name":"_profileId","nameLocation":"15990:10:2","nodeType":"VariableDeclaration","scope":2017,"src":"15982:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15982:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"_members","nameLocation":"16019:8:2","nodeType":"VariableDeclaration","scope":2017,"src":"16002:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1970,"name":"address","nodeType":"ElementaryTypeName","src":"16002:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1971,"nodeType":"ArrayTypeName","src":"16002:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15981:47:2"},"returnParameters":{"id":1977,"nodeType":"ParameterList","parameters":[],"src":"16067:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2054,"nodeType":"FunctionDefinition","src":"16837:500:2","nodes":[],"body":{"id":2053,"nodeType":"Block","src":"16945:392:2","nodes":[],"statements":[{"assignments":[2030],"declarations":[{"constant":false,"id":2030,"mutability":"mutable","name":"memberLength","nameLocation":"16963:12:2","nodeType":"VariableDeclaration","scope":2053,"src":"16955:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2029,"name":"uint256","nodeType":"ElementaryTypeName","src":"16955:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2033,"initialValue":{"expression":{"id":2031,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"16978:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16987:6:2","memberName":"length","nodeType":"MemberAccess","src":"16978:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16955:38:2"},{"body":{"id":2051,"nodeType":"Block","src":"17129:202:2","statements":[{"expression":{"arguments":[{"id":2041,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"17237:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":2042,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"17249:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2044,"indexExpression":{"id":2043,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17258:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17249:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2040,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52772,"src":"17225:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17225:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2046,"nodeType":"ExpressionStatement","src":"17225:36:2"},{"id":2050,"nodeType":"UncheckedBlock","src":"17275:46:2","statements":[{"expression":{"id":2048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17303:3:2","subExpression":{"id":2047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17305:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2049,"nodeType":"ExpressionStatement","src":"17303:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17110:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2038,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2030,"src":"17114:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17110:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2052,"initializationExpression":{"assignments":[2035],"declarations":[{"constant":false,"id":2035,"mutability":"mutable","name":"i","nameLocation":"17107:1:2","nodeType":"VariableDeclaration","scope":2052,"src":"17099:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2034,"name":"uint256","nodeType":"ElementaryTypeName","src":"17099:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2036,"nodeType":"VariableDeclarationStatement","src":"17099:9:2"},"nodeType":"ForStatement","src":"17094:237:2"}]},"baseFunctions":[2793],"documentation":{"id":2018,"nodeType":"StructuredDocumentation","src":"16626:206:2","text":"@notice Removes members from the profile\n @dev 'msg.sender' must be the pending owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to remove"},"functionSelector":"e0cf1e4c","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2026,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"16933:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2027,"kind":"modifierInvocation","modifierName":{"id":2025,"name":"onlyProfileOwner","nameLocations":["16916:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16916:16:2"},"nodeType":"ModifierInvocation","src":"16916:28:2"}],"name":"removeMembers","nameLocation":"16846:13:2","parameters":{"id":2024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2020,"mutability":"mutable","name":"_profileId","nameLocation":"16868:10:2","nodeType":"VariableDeclaration","scope":2054,"src":"16860:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16860:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2023,"mutability":"mutable","name":"_members","nameLocation":"16897:8:2","nodeType":"VariableDeclaration","scope":2054,"src":"16880:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2021,"name":"address","nodeType":"ElementaryTypeName","src":"16880:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2022,"nodeType":"ArrayTypeName","src":"16880:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16859:47:2"},"returnParameters":{"id":2028,"nodeType":"ParameterList","parameters":[],"src":"16945:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2071,"nodeType":"FunctionDefinition","src":"17659:152:2","nodes":[],"body":{"id":2070,"nodeType":"Block","src":"17725:86:2","nodes":[],"statements":[{"condition":{"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17739:42:2","subExpression":{"arguments":[{"id":2061,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"17758:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":2062,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17770:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17774:6:2","memberName":"sender","nodeType":"MemberAccess","src":"17770:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2060,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"17740:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17740:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2069,"nodeType":"IfStatement","src":"17735:69:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2066,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"17790:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17790:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2068,"nodeType":"RevertStatement","src":"17783:21:2"}}]},"documentation":{"id":2055,"nodeType":"StructuredDocumentation","src":"17479:175:2","text":"@notice Checks if the caller is the owner of the profile\n @dev Internal function used by modifier 'onlyProfileOwner'\n @param _profileId The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyProfileOwner","nameLocation":"17668:22:2","parameters":{"id":2058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2057,"mutability":"mutable","name":"_profileId","nameLocation":"17699:10:2","nodeType":"VariableDeclaration","scope":2071,"src":"17691:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17691:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17690:20:2"},"returnParameters":{"id":2059,"nodeType":"ParameterList","parameters":[],"src":"17725:0:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2192,"nodeType":"FunctionDefinition","src":"18166:969:2","nodes":[],"body":{"id":2191,"nodeType":"Block","src":"18266:869:2","nodes":[],"statements":[{"assignments":[2082],"declarations":[{"constant":false,"id":2082,"mutability":"mutable","name":"encodedData","nameLocation":"18289:11:2","nodeType":"VariableDeclaration","scope":2191,"src":"18276:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2081,"name":"bytes","nodeType":"ElementaryTypeName","src":"18276:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2088,"initialValue":{"arguments":[{"id":2085,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18314:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2086,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"18326:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18303:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18307:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18303:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18303:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18276:56:2"},{"assignments":[2090],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"encodedConstructorArgs","nameLocation":"18355:22:2","nodeType":"VariableDeclaration","scope":2191,"src":"18342:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2089,"name":"bytes","nodeType":"ElementaryTypeName","src":"18342:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2099,"initialValue":{"arguments":[{"id":2093,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18391:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2096,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18411:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2094,"name":"address","nodeType":"ElementaryTypeName","src":"18403:7:2","typeDescriptions":{}}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18403:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18380:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18384:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18380:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18380:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18342:75:2"},{"assignments":[2101],"declarations":[{"constant":false,"id":2101,"mutability":"mutable","name":"bytecode","nameLocation":"18441:8:2","nodeType":"VariableDeclaration","scope":2191,"src":"18428:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2100,"name":"bytes","nodeType":"ElementaryTypeName","src":"18428:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2110,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":2105,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18474:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}],"id":2104,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18469:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18469:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_Anchor_$1492","typeString":"type(contract Anchor)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18482:12:2","memberName":"creationCode","nodeType":"MemberAccess","src":"18469:25:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2108,"name":"encodedConstructorArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18496:22:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18452:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18456:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18452:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18452:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18428:91:2"},{"assignments":[2112],"declarations":[{"constant":false,"id":2112,"mutability":"mutable","name":"salt","nameLocation":"18538:4:2","nodeType":"VariableDeclaration","scope":2191,"src":"18530:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18530:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2116,"initialValue":{"arguments":[{"id":2114,"name":"encodedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"18555:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2113,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18545:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18545:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18530:37:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"mutability":"mutable","name":"preComputedAddress","nameLocation":"18586:18:2","nodeType":"VariableDeclaration","scope":2191,"src":"18578:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2117,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2145,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":2130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18678:4:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":2129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18671:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":2128,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18671:6:2","typeDescriptions":{}}},"id":2131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18671:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":2134,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18693:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18685:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2132,"name":"address","nodeType":"ElementaryTypeName","src":"18685:7:2","typeDescriptions":{}}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18685:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2136,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18700:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2138,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"18716:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2137,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18706:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18706:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18658:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18654:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18654:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2125,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18644:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18644:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18636:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2123,"name":"uint256","nodeType":"ElementaryTypeName","src":"18636:7:2","typeDescriptions":{}}},"id":2142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18636:92:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18628:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2121,"name":"uint160","nodeType":"ElementaryTypeName","src":"18628:7:2","typeDescriptions":{}}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18628:101:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18607:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:2","typeDescriptions":{}}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18607:132:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:161:2"},{"clauses":[{"block":{"id":2168,"nodeType":"Block","src":"18918:50:2","statements":[{"expression":{"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2161,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"18932:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2164,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"18949:7:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}],"id":2163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18941:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2162,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:2","typeDescriptions":{}}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18941:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18932:25:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2167,"nodeType":"ExpressionStatement","src":"18932:25:2"}]},"errorName":"","id":2169,"nodeType":"TryCatchClause","parameters":{"id":2160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2159,"mutability":"mutable","name":"_anchor","nameLocation":"18909:7:2","nodeType":"VariableDeclaration","scope":2169,"src":"18902:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"},"typeName":{"id":2158,"nodeType":"UserDefinedTypeName","pathNode":{"id":2157,"name":"Anchor","nameLocations":["18902:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18902:6:2"},"referencedDeclaration":1492,"src":"18902:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"visibility":"internal"}],"src":"18901:16:2"},"src":"18893:75:2"},{"block":{"id":2188,"nodeType":"Block","src":"18975:154:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":2173,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19008:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19000:8:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":2171,"name":"address","nodeType":"ElementaryTypeName","src":"19000:8:2","stateMutability":"payable","typeDescriptions":{}}},"id":2174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19000:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":2170,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18993:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19029:9:2","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"18993:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2178,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"19044:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18993:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2183,"nodeType":"IfStatement","src":"18989:88:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2180,"name":"ANCHOR_ERROR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"19063:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19063:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2182,"nodeType":"RevertStatement","src":"19056:21:2"}},{"expression":{"id":2186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2184,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"19091:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2185,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19100:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19091:27:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2187,"nodeType":"ExpressionStatement","src":"19091:27:2"}]},"errorName":"","id":2189,"nodeType":"TryCatchClause","src":"18969:160:2"}],"externalCall":{"arguments":[{"id":2151,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18866:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2154,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18886:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2152,"name":"address","nodeType":"ElementaryTypeName","src":"18878:7:2","typeDescriptions":{}}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18843:10:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$","typeString":"function (bytes32,address) returns (contract Anchor)"},"typeName":{"id":2147,"nodeType":"UserDefinedTypeName","pathNode":{"id":2146,"name":"Anchor","nameLocations":["18847:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18847:6:2"},"referencedDeclaration":1492,"src":"18847:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["salt"],"nodeType":"FunctionCallOptions","options":[{"id":2149,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18860:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"src":"18843:22:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$salt","typeString":"function (bytes32,address) returns (contract Anchor)"}},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18843:49:2","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2190,"nodeType":"TryStatement","src":"18839:290:2"}]},"documentation":{"id":2072,"nodeType":"StructuredDocumentation","src":"17817:344:2","text":"@notice Generates and deploys the anchor for the given 'profileId' and name\n @dev Internal function used by 'createProfile()' and 'updateProfileName()' to create and anchor.\n @param _profileId The ID of the profile\n @param _name The name of the profile\n @return anchor The address of the deployed anchor contract"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateAnchor","nameLocation":"18175:15:2","parameters":{"id":2077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2074,"mutability":"mutable","name":"_profileId","nameLocation":"18199:10:2","nodeType":"VariableDeclaration","scope":2192,"src":"18191:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18191:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2076,"mutability":"mutable","name":"_name","nameLocation":"18225:5:2","nodeType":"VariableDeclaration","scope":2192,"src":"18211:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2075,"name":"string","nodeType":"ElementaryTypeName","src":"18211:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18190:41:2"},"returnParameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"mutability":"mutable","name":"anchor","nameLocation":"18258:6:2","nodeType":"VariableDeclaration","scope":2192,"src":"18250:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2078,"name":"address","nodeType":"ElementaryTypeName","src":"18250:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18249:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2211,"nodeType":"FunctionDefinition","src":"19465:159:2","nodes":[],"body":{"id":2210,"nodeType":"Block","src":"19557:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2205,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"19601:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2206,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"19609:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19588:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"19584:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19584:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2202,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19574:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19574:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2201,"id":2209,"nodeType":"Return","src":"19567:50:2"}]},"documentation":{"id":2193,"nodeType":"StructuredDocumentation","src":"19141:319:2","text":"@notice Generates the 'profileId' based on msg.sender and nonce\n @dev Internal function used by 'createProfile()' to generate profileId.\n @param _nonce Nonce provided by the caller to generate 'profileId'\n @param _owner The owner of the profile\n @return 'profileId' The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateProfileId","nameLocation":"19474:18:2","parameters":{"id":2198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2195,"mutability":"mutable","name":"_nonce","nameLocation":"19501:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19493:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2194,"name":"uint256","nodeType":"ElementaryTypeName","src":"19493:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2197,"mutability":"mutable","name":"_owner","nameLocation":"19517:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2196,"name":"address","nodeType":"ElementaryTypeName","src":"19509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19492:32:2"},"returnParameters":{"id":2201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2211,"src":"19548:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19548:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19547:9:2"},"scope":2295,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2229,"nodeType":"FunctionDefinition","src":"19963:156:2","nodes":[],"body":{"id":2228,"nodeType":"Block","src":"20055:64:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":2221,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"20072:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":2223,"indexExpression":{"id":2222,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2214,"src":"20085:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20072:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":2224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20097:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"20072:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2225,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2216,"src":"20106:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20072:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2220,"id":2227,"nodeType":"Return","src":"20065:47:2"}]},"documentation":{"id":2212,"nodeType":"StructuredDocumentation","src":"19630:328:2","text":"@notice Checks if an address is the owner of the profile\n @dev Internal function used to determine if an address is the profile owner\n @param _profileId The 'profileId' of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isOwnerOfProfile","nameLocation":"19972:17:2","parameters":{"id":2217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2214,"mutability":"mutable","name":"_profileId","nameLocation":"19998:10:2","nodeType":"VariableDeclaration","scope":2229,"src":"19990:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2216,"mutability":"mutable","name":"_owner","nameLocation":"20018:6:2","nodeType":"VariableDeclaration","scope":2229,"src":"20010:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2215,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19989:36:2"},"returnParameters":{"id":2220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2229,"src":"20049:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2218,"name":"bool","nodeType":"ElementaryTypeName","src":"20049:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20048:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2245,"nodeType":"FunctionDefinition","src":"20464:146:2","nodes":[],"body":{"id":2244,"nodeType":"Block","src":"20558:52:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2240,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"20583:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2241,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"20595:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2239,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"20575:7:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20575:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2243,"nodeType":"Return","src":"20568:35:2"}]},"documentation":{"id":2230,"nodeType":"StructuredDocumentation","src":"20125:334:2","text":"@notice Checks if an address is a member of the profile\n @dev Internal function used to determine if an address is a member of the profile\n @param _profileId The 'profileId' of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isMemberOfProfile","nameLocation":"20473:18:2","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"mutability":"mutable","name":"_profileId","nameLocation":"20500:10:2","nodeType":"VariableDeclaration","scope":2245,"src":"20492:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20492:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2234,"mutability":"mutable","name":"_member","nameLocation":"20520:7:2","nodeType":"VariableDeclaration","scope":2245,"src":"20512:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2233,"name":"address","nodeType":"ElementaryTypeName","src":"20512:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20491:37:2"},"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2245,"src":"20552:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"20552:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20551:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2294,"nodeType":"FunctionDefinition","src":"20847:318:2","nodes":[],"body":{"id":2293,"nodeType":"Block","src":"20935:230:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2256,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"20949:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20971:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2257,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:2","typeDescriptions":{}}},"id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20949:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2265,"nodeType":"IfStatement","src":"20945:51:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2262,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"20982:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"RevertStatement","src":"20975:21:2"}},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"mutability":"mutable","name":"amount","nameLocation":"21015:6:2","nodeType":"VariableDeclaration","scope":2293,"src":"21007:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2286,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2268,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21024:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2269,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21034:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21024:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":2282,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21099:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21091:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2280,"name":"address","nodeType":"ElementaryTypeName","src":"21091:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21091:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":2277,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21073:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2276,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"21067:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$4533_$","typeString":"type(contract ERC20)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$4533","typeString":"contract ERC20"}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21081:9:2","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4242,"src":"21067:23:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"21024:81:2","trueExpression":{"expression":{"arguments":[{"id":2273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21051:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21043:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"21043:7:2","typeDescriptions":{}}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21043:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21057:7:2","memberName":"balance","nodeType":"MemberAccess","src":"21043:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21007:98:2"},{"expression":{"arguments":[{"id":2288,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21131:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2289,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"21139:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2290,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"21151:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2287,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21115:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21115:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2292,"nodeType":"ExpressionStatement","src":"21115:43:2"}]},"baseFunctions":[2801],"documentation":{"id":2246,"nodeType":"StructuredDocumentation","src":"20616:226:2","text":"@notice Transfers any fund balance in Allo to the recipient\n @dev 'msg.sender' must be the Allo owner\n @param _token The address of the token to transfer\n @param _recipient The address of the recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2253,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"20923:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2254,"kind":"modifierInvocation","modifierName":{"id":2252,"name":"onlyRole","nameLocations":["20914:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":52484,"src":"20914:8:2"},"nodeType":"ModifierInvocation","src":"20914:20:2"}],"name":"recoverFunds","nameLocation":"20856:12:2","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2248,"mutability":"mutable","name":"_token","nameLocation":"20877:6:2","nodeType":"VariableDeclaration","scope":2294,"src":"20869:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2247,"name":"address","nodeType":"ElementaryTypeName","src":"20869:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"_recipient","nameLocation":"20893:10:2","nodeType":"VariableDeclaration","scope":2294,"src":"20885:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2249,"name":"address","nodeType":"ElementaryTypeName","src":"20885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20868:36:2"},"returnParameters":{"id":2255,"nodeType":"ParameterList","parameters":[],"src":"20935:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1509,"name":"IRegistry","nameLocations":["5258:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5258:9:2"},"id":1510,"nodeType":"InheritanceSpecifier","src":"5258:9:2"},{"baseName":{"id":1511,"name":"Initializable","nameLocations":["5269:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53233,"src":"5269:13:2"},"id":1512,"nodeType":"InheritanceSpecifier","src":"5269:13:2"},{"baseName":{"id":1513,"name":"Native","nameLocations":["5284:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5284:6:2"},"id":1514,"nodeType":"InheritanceSpecifier","src":"5284:6:2"},{"baseName":{"id":1515,"name":"AccessControlUpgradeable","nameLocations":["5292:24:2"],"nodeType":"IdentifierPath","referencedDeclaration":52778,"src":"5292:24:2"},"id":1516,"nodeType":"InheritanceSpecifier","src":"5292:24:2"},{"baseName":{"id":1517,"name":"Transfer","nameLocations":["5318:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5318:8:2"},"id":1518,"nodeType":"InheritanceSpecifier","src":"5318:8:2"},{"baseName":{"id":1519,"name":"Errors","nameLocations":["5328:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5328:6:2"},"id":1520,"nodeType":"InheritanceSpecifier","src":"5328:6:2"}],"canonicalName":"Registry","contractDependencies":[1492],"contractKind":"contract","documentation":{"id":1508,"nodeType":"StructuredDocumentation","src":"4584:653:2","text":"@title Registry Contract\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Registry contract for creating and managing profiles\n @dev This contract is used to create and manage profiles for the Allo protocol\n It is also used to deploy the anchor contract for each profile which acts as a proxy\n for the profile and is used to receive funds and execute transactions on behalf of the profile\n The Registry is also used to add and remove members from a profile and update the profile 'Metadata'"},"fullyImplemented":true,"linearizedBaseContracts":[2295,3089,3317,52778,3106,54051,54063,52851,53777,53233,2802],"name":"Registry","nameLocation":"5246:8:2","scope":2296,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117]}],"license":"AGPL-3.0-only"},"id":2}
\ No newline at end of file
diff --git a/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json b/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json
index 255c8a4bd..9072bb33a 100644
--- a/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json
+++ b/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[{"name":"_user","type":"address","internalType":"address"}]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a0806040523461003157306080526155249081610037823960805181818161114f015281816115460152611a1e0152f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004555780630331383c146200038957806308386eba146200044f5780630d12bbdb14620004495780630d4a8b491462000443578063175188e8146200043d5780631f787d281462000437578063223e5479146200043157806322bcf999146200042b578063248a9ca3146200042557806328c309e9146200041f5780632b38c69c14620004195780632c611c4a14620004135780632f2ff15d146200040d57806331f61bca14620004075780633396045914620004015780633517aa7d14620003fb57806336568abe14620003f55780633659cfe614620003ef578063397e254314620003e95780633a871fe114620003e3578063477a5cc014620003dd5780634f1ef28614620003d7578063524e59e814620003d157806352d1902d14620003cb578063559de05d14620003c55780635c94e4d214620003bf5780635ecf71c514620003b957806365e3864c146200038f5780636871eb4d14620003b357806368decabb14620003ad5780636c53db9a14620003a7578063715018a614620003a157806373265c37146200039b578063733a2d1f14620003955780637817ee4f146200038f57806378a0b8a914620003895780637b103999146200038357806382d6a1e7146200037d57806388cfe68414620003775780638961be6b14620003715780638da5cb5b146200036b57806391d148541462000365578063a0cf0aea146200035f578063a217fddf1462000359578063a230c5241462000353578063b3f00674146200034d578063b5058c501462000347578063b64e39af1462000341578063b99b4370146200033b578063bc063e1a1462000335578063c6d572ae146200032f578063d547741f1462000329578063d6d8428d1462000323578063d7050f07146200031d578063db61d65c1462000317578063e16d0e321462000311578063ebd7dc52146200030b578063f2fde38b1462000305578063f86c5f8914620002ff5763fa50f53d14620002f957600080fd5b62002be2565b62002b9e565b62002b04565b62002ab9565b620029aa565b6200297e565b6200295f565b62002933565b620028e9565b62002853565b62002833565b620026e5565b62002613565b620024f0565b620024c0565b62002453565b62002435565b62002404565b620023c6565b6200239b565b6200237b565b62002319565b62002263565b62002237565b620004c1565b62001f12565b6200220b565b6200216f565b6200211e565b620020f2565b620020c6565b62001f51565b62001c9a565b62001c6e565b62001acd565b62001a09565b620018eb565b620014ed565b62001356565b6200130f565b62001282565b62001124565b62001087565b62000e2f565b62000e0f565b62000dbf565b62000d12565b62000ccd565b62000c68565b62000aaf565b62000a7e565b6200098d565b62000958565b62000932565b620008fb565b62000608565b62000501565b620004e1565b34620004b0576020366003190112620004b05760043563ffffffff60e01b8116809103620004b057602090637965db0b60e01b81149081156200049e575b506040519015158152f35b6301ffc9a760e01b1490503862000493565b600080fd5b6000910312620004b057565b34620004b0576000366003190112620004b057602060fc54604051908152f35b34620004b0576000366003190112620004b057602060ff54604051908152f35b34620004b0576020366003190112620004b0576004356200052162004dd6565b620186a081116200055d576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fd55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b03811603620004b057565b602435906200059c826200057b565b565b6101c435906200059c826200057b565b6101e435906200059c826200057b565b61020435906200059c826200057b565b35906200059c826200057b565b6040906003190112620004b057600435620005f6816200057b565b9060243562000605816200057b565b90565b34620004b0576200061936620005db565b6200062482620047cc565b6200062f8162004819565b6200063a81620042f6565b6200065b62000654826200064e8562000b9d565b62000c09565b5460ff1690565b620008e9576020908162000679620006738562000bb8565b620046e6565b015160fc5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af18015620007b8576003918a91620008c7575b50620006c6816200443b565b03620007be57505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af18015620007b8576000805160206200542f833981519152946200077e92879262000784575b50505b8062000739856200064e8662000bd3565b556200075b6200074e856200064e8662000b9d565b805460ff19166001179055565b62000771846200076b8562000bee565b62004770565b60405193849384620047aa565b0390a180f35b620007a89250803d10620007b0575b6200079f818362001450565b8101906200323c565b388062000725565b503d62000793565b6200324c565b604096919392965193845282846004818b865af18015620007b8578894859162000893575b50620007ef816200443b565b62000814575b505050506200077e6000805160206200542f8339815191529362000728565b82939650906200083c9160405197888094819363782aadff60e01b8352896004840162004736565b03925af18015620007b8576000805160206200542f833981519152946200077e92879262000871575b505093859138620007f5565b6200088b9250803d10620007b0576200079f818362001450565b388062000865565b620008b89150843d8611620008bf575b620008af818362001450565b8101906200471e565b38620007e3565b503d620008a3565b620008e29150863d8811620008bf57620008af818362001450565b38620006ba565b604051636adcde4b60e11b8152600490fd5b34620004b0576020366003190112620004b0576200093060043562000920816200057b565b6200092a62004dd6565b62004ea7565b005b34620004b0576000366003190112620004b057602060ff61010054166040519015158152f35b34620004b0576020366003190112620004b057620009306004356200097d816200057b565b6200098762004dd6565b62004e2d565b34620004b0576200099e36620005db565b620009a982620047cc565b620009b481620042f6565b6001600160a01b038116330362000a6c57620009e1620009dd62000654836200064e8662000b9d565b1590565b62000a5a578162000a2562000a1b836200064e7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000b9d565b805460ff19169055565b600062000a37836200064e8462000bd3565b5562000a44828262004895565b62000a556040519283928362004319565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b34620004b0576020366003190112620004b05760043560005260c96020526020600160406000200154604051908152f35b34620004b0576000366003190112620004b05762000ada62000ad4610101546200056f565b6200056f565b60fc549062000af962000af060fd548462002819565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000b1c306004830162000c55565b03916001600160a01b03165afa918215620007b85762000b769362000b5962000af062000b669562000b609460009162000b7a575b508562002819565b9262003056565b62003056565b6040519081529081906020820190565b0390f35b62000b96915060203d8111620007b0576200079f818362001450565b3862000b51565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000c4f5760005260206000200190600090565b62000c20565b6001600160a01b03909116815260200190565b34620004b0576040366003190112620004b05760043562000c89816200057b565b6024359060018060a01b0380911660005261010d60205260406000208054831015620004b05760209262000cbd9162000c36565b9190546040519260031b1c168152f35b34620004b0576020366003190112620004b05760043562000cee816200057b565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b34620004b0576040366003190112620004b05760043560243562000d36816200057b565b60009180835260c960205262000d53600160408520015462002d4f565b80835260c960205260ff62000d6c836040862062000c09565b54161562000d78578280f35b80835260c960205262000d8f826040852062000c09565b805460ff1916600117905533916001600160a01b031690600080516020620053cf8339815191528480a438808280f35b34620004b0576020366003190112620004b0577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000e0262004dd6565b8060fc55604051908152a1005b34620004b0576000366003190112620004b057602060fe54604051908152f35b34620004b057600080600319360112620010845762000e4d6200494d565b62000e583362000bb8565b62000e6a62000ad4610101546200056f565b60fc549162000e8062000af060fd548562002819565b6040516302a64b8360e21b815260209491936001600160a01b0316919085818062000eaf306004830162000c55565b0381865afa8015620007b85762000ed49262000af092899262001060575b5062002819565b9262000ef5620009dd604062000eee620006733362000bb8565b0151151590565b62000f0a575b8562000f076001606555565b80f35b8262000f22600260019501600160ff19825416179055565b60fc54938491015562000f5a6101059362000f4f8662000b608562000f4889546200056f565b9462003056565b9030903390620049a4565b8062001031575b508262000fb1575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768962000fa360fc54604051918291338362004736565b0390a1388080808062000efb565b8362000fc0600493546200056f565b9160405193848092634c3a1adf60e11b82525afa918215620007b85762000ff194869362000ffb575b505062004b36565b3880808062000f69565b62001020929350803d1062001029575b62001017818362001450565b81019062003915565b90388062000fe9565b503d6200100b565b62001059906200104284546200056f565b6101005460081c6001600160a01b03169062004b36565b3862000f61565b6200107c919250883d8a11620007b0576200079f818362001450565b903862000ecd565b80fd5b34620004b0576040366003190112620004b057602435620010a8816200057b565b336001600160a01b03821603620010c757620009309060043562002f3d565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620004b0576020366003190112620004b05760043562001145816200057b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062001180308414156200319a565b620011a06000805160206200546f833981519152938285541614620031eb565b620011aa62002fb6565b60405190602082016001600160401b038111838210176200127c57604052600082526000805160206200540f8339815191525460ff1615620011f457505062000930915062003306565b6020600491604094939451928380926352d1902d60e01b825286165afa6000918162001257575b50620012405760405162461bcd60e51b8152806200123c60048201620032b7565b0390fd5b620009309362001251911462003258565b6200344e565b6200127491925060203d8111620007b0576200079f818362001450565b90386200121b565b6200139a565b34620004b0576020366003190112620004b0577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf86040600435620012c6816200057b565b620012d062004dd6565b6001600160a01b0390811690620012e782620042f6565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b34620004b0576020366003190112620004b05760043562001330816200057b565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b34620004b057602060ff6200138e6200136f36620005db565b6001600160a01b03909116600090815261010e85526040902062000c09565b54166040519015158152f35b634e487b7160e01b600052604160045260246000fd5b60c081019081106001600160401b038211176200127c57604052565b60e081019081106001600160401b038211176200127c57604052565b608081019081106001600160401b038211176200127c57604052565b604081019081106001600160401b038211176200127c57604052565b606081019081106001600160401b038211176200127c57604052565b6001600160401b0381116200127c57604052565b601f909101601f19168101906001600160401b038211908210176200127c57604052565b604051906101a082016001600160401b038111838210176200127c57604052565b6001600160401b0381116200127c57601f01601f191660200190565b929192620014bf8262001495565b91620014cf604051938462001450565b829481845281830111620004b0578281602093846000960137010152565b6040366003190112620004b05760043562001508816200057b565b6024356001600160401b038111620004b05736602382011215620004b0576200153c903690602481600401359101620014b1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692919062001578308514156200319a565b620015986000805160206200546f833981519152948286541614620031eb565b620015a262002fb6565b6000805160206200540f8339815191525460ff1615620015ca57505062000930915062003306565b6020600491604094939451928380926352d1902d60e01b825286165afa6000918162001629575b50620016125760405162461bcd60e51b8152806200123c60048201620032b7565b620009309362001623911462003258565b62003398565b6200164691925060203d8111620007b0576200079f818362001450565b9038620015f1565b60a435906003821015620004b057565b60c435906003821015620004b057565b60041115620004b057565b60c435906200059c826200166e565b60e435906200059c826200166e565b60209060e3190112620004b05760405190602082016001600160401b038111838210176200127c5760405260e4358252565b602090610103190112620004b05760405190602082016001600160401b038111838210176200127c57604052610104358252565b60c090610103190112620004b057604051906200171a82620013b0565b81610104356200172a816200057b565b8152610124356200173b816200057b565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c090610123190112620004b057604051906200178382620013b0565b816101243562001793816200057b565b815261014435620017a4816200057b565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e08312620004b05760405190620017ef82620013cc565b6080829412620004b0576200185f906040516200180c81620013e8565b60243581526044356020820152606435604082015260843560608201528352620018356200164e565b60208401526200184462001679565b6040840152620018548162001697565b6060840152620016fd565b60808201526200186e6200059e565b60a082015260c06200187f620005ae565b910152565b9080601f83011215620004b0578160206200060593359101620014b1565b9190604083820312620004b05760405190620018be8262001404565b8335825290928391602082013591906001600160401b038311620004b0576020926200187f920162001884565b34620004b057610220366003190112620004b0576004356200190d816200057b565b6200191836620017cf565b6001600160401b039061020435828111620004b0576200193d903690600401620018a2565b916200194c610102546200056f565b906200195f62000ad4610107546200056f565b91620019a26200197160fb546200056f565b60405163784d200b60e11b602082015294859162001993916024840162004319565b03601f19810185528462001450565b604051926104109182850193858510908511176200127c578493620019cd9362004fbf863962004333565b03906000f0928315620007b857620019ee936001600160a01b0316620045c9565b604080519283526001600160a01b0391909116602083015290f35b34620004b0576000366003190112620004b0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001a67576040516000805160206200546f8339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b34620004b057602080600319360112620004b05760049081359162001af16200494d565b62001afb62004ae7565b62001b1062001b0a3362000bee565b620043b5565b60005b815181101562001bf25762001b4262000ad462000ad462001b35848662003a39565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001b668c338c840162004736565b03925af18015620007b85762001b8e9260009162001bd0575b508062001b94575b5062003a29565b62001b13565b62001bc762001bbe62001ba73362000bd3565b62001bb762001b35868962003a39565b9062000c09565b91825462003056565b90553862001b87565b62001beb9150863d8811620007b0576200079f818362001450565b3862001b7f565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001c608662001c358162001c2b610105546200056f565b30903390620049a4565b600162001c423362000bb8565b0162001c5082825462003056565b9055604051918291338362004736565b0390a1620009306001606555565b34620004b0576000366003190112620004b057610102546040516001600160a01b039091168152602090f35b34620004b057602080600319360112620004b05760049081359062001cbe6200494d565b62001cc862004ae7565b62001cd33362000bee565b9060019362001cf0848662001ce83362000bb8565b015462003a6e565b60fc541162001f035790849262001d16853362001d10610105546200056f565b62004b36565b6000935b62001d60575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001c60868862001d523362000bb8565b0162001c5082825462003a6e565b909192948154948587101562001efa5762001d9562001d80888562000c36565b905460039190911b1c6001600160a01b031690565b9562001da18762004b61565b1562001ea957506040928484518098632ed04b2b60e01b82528160008162001dce888d3390840162004736565b03926001600160a01b03165af1968715620007b85760009762001e85575b5062001e0c62001dfc3362000bd3565b62001bb762001d808b8562000c36565b54948588111562001e395784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001e7a9162001e7262001e6962001e593362000bd3565b62001bb762001d80868c62000c36565b91825462003a6e565b905562003a29565b939092919262001d1a565b62001ea1919750853d8711620007b0576200079f818362001450565b953862001dec565b9662001ef462001e7a929762001ee962001ed662001d8062001ecf889d9b999b62003a4e565b8b62000c36565b62001ee2858b62000c36565b9062004751565b6200092a886200484f565b62003a29565b94509462001d20565b604051634e23e81760e11b8152fd5b34620004b057602062001f4862001f2936620005db565b6001600160a01b03909116600090815261010b84526040902062000c09565b54604051908152f35b34620004b05762001f6236620005db565b62001f6c6200494d565b62001f7662004dd6565b62001f88620009dd6101005460ff1690565b620020b45762001fa6620009dd604062000eee620006738662000bb8565b620020a2578162001fbd6200067360009462000bb8565b62001fc88262004efe565b62001fe962001fd78362000bb8565b60026000918281558260018201550155565b602062002025816200200262000ad4610105546200056f565b930192835160405197888094819363a9059cbb60e01b83528a6004840162004736565b03925af1908115620007b8577fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39462001c60926200206d575b505160405193849384620047aa565b620020929060203d81116200209a575b62002089818362001450565b810190620049e5565b50386200205e565b503d6200207d565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b34620004b0576000366003190112620004b057610103546040516001600160a01b039091168152602090f35b34620004b0576000366003190112620004b057610106546040516001600160a01b039091168152602090f35b34620004b05760008060031936011262001084576200213c62002fb6565b603380546001600160a01b0319811690915581906001600160a01b03166000805160206200548f8339815191528280a380f35b34620004b0576020366003190112620004b0576200218c62004dd6565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa918215620007b8576200093092602091600091620021e5575b500151166200092a81620042f6565b62002204913d8091833e620021fb818362001450565b81019062004d3a565b38620021d6565b34620004b0576000366003190112620004b0576020604051600080516020620053ef8339815191528152f35b34620004b0576000366003190112620004b057610104546040516001600160a01b039091168152602090f35b34620004b0576020366003190112620004b0576200228062004dd6565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa8015620007b857602062000ad491620022d493600091620022fc575b5001516200056f565b620022df81620042f6565b620022ea8162004b61565b620022f157005b620009309062004e2d565b62002312913d8091833e620021fb818362001450565b38620022cb565b34620004b0576020366003190112620004b05760606004356200233c816200057b565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b34620004b0576000366003190112620004b057602060fd54604051908152f35b34620004b0576000366003190112620004b0576033546040516001600160a01b039091168152602090f35b34620004b0576040366003190112620004b057602060ff6200138e602435620023ef816200057b565b60043560005260c98452604060002062000c09565b34620004b0576000366003190112620004b057602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620004b0576000366003190112620004b057602060405160008152f35b34620004b0576020366003190112620004b0576020604060043562002478816200057b565b60018060a01b0380911660005261010c835260ff600283600020845193620024a08562001420565b815416845260018101548685015201541615159182910152604051908152f35b34620004b0576000366003190112620004b0576101005460405160089190911c6001600160a01b03168152602090f35b34620004b057600080600319360112620010845761010380546001600160a01b0381169033829003620025655761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620025a9575b60208310146200259357565b634e487b7160e01b600052602260045260246000fd5b91607f169162002587565b60005b838110620025c85750506000910152565b8181015183820152602001620025b7565b90602091620025f481518092818552858086019101620025b4565b601f01601f1916010190565b90602062000605928181520190620025d9565b34620004b05760008060031936011262001084576040518161010980546200263b8162002577565b80855291600191808316908115620026b7575060011462002677575b62000b76856200266a8189038262001450565b6040519182918262002600565b835260208084209095505b828410620026a3575050508162000b76936200266a92820101933862002657565b805485850187015292850192810162002682565b905062000b7696506200266a9450602092508593915060ff191682840152151560051b820101933862002657565b34620004b0576000806003193601126200108457620027036200494d565b6200270e33620047cc565b620027193362004efe565b8062002729620006733362000bb8565b6200273862001fd73362000bb8565b6200274d620027473362000bee565b62003bcb565b602062002789816200276662000ad4610105546200056f565b930192835160405195868094819363a9059cbb60e01b8352336004840162004736565b03925af1908115620007b8577fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f492620027d292620027e0575b5051604051918291338362004736565b0390a162000f076001606555565b620027fb9060203d81116200209a5762002089818362001450565b5038620027c2565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200282d57565b62002803565b34620004b0576000366003190112620004b0576020604051620186a08152f35b34620004b05760008060031936011262001084576040518161010880546200287b8162002577565b80855291600191808316908115620026b75750600114620028a95762000b76856200266a8189038262001450565b835260208084209095505b828410620028d5575050508162000b76936200266a92820101933862002657565b8054858501870152928501928101620028b4565b34620004b0576040366003190112620004b0576200093060243560043562002911826200057b565b8060005260c96020526200292d60016040600020015462002d4f565b62002f3d565b34620004b0576000366003190112620004b057610107546040516001600160a01b039091168152602090f35b34620004b0576000366003190112620004b05760206040516127108152f35b34620004b0576000366003190112620004b057610105546040516001600160a01b039091168152602090f35b34620004b057610240366003190112620004b057600435620029cc816200057b565b60243590620029db826200057b565b36604319016101e08112620004b057608060405191620029fb83620013cc565b12620004b05760405162002a0f81620013e8565b60443581526064356020820152608435604082015260a4356060820152815262002a386200165e565b602082015262002a4762001688565b604082015262002a5736620016c9565b606082015262002a673662001766565b608082015262002a76620005ae565b60a082015262002a85620005be565b60c082015261022435926001600160401b038411620004b05762002ab2620019ee943690600401620018a2565b92620045c9565b34620004b0576020366003190112620004b057602060ff6200138e60043562002ae2816200057b565b600080516020620053ef83398151915260005260c98452604060002062000c09565b34620004b0576020366003190112620004b05760043562002b25816200057b565b62002b2f62002fb6565b6001600160a01b0381161562002b4a5762000930906200300f565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620004b0576000366003190112620004b057610101546040516001600160a01b039091168152602090f35b80151503620004b057565b35906200059c8262002bca565b34620004b057600319604036820112620004b0576001600160401b039060043590828211620004b0576101a0908236030112620004b05762002c2362001474565b9062002c3281600401620005ce565b825262002c4260248201620005ce565b602083015260448101356040830152606481013560608301526084810135608083015262002c7360a48201620005ce565b60a083015262002c8660c48201620005ce565b60c083015260e4810135838111620004b05762002caa9060043691840101620018a2565b60e083015262002cbe6101048201620005ce565b610100830152610124810135838111620004b05762002ce4906004369184010162001884565b61012083015262002cf9610144820162002bd5565b610140830152610164810135928311620004b05761018462002d389162002d2b62000930956004369184010162001884565b61016085015201620005ce565b61018082015262002d486200058d565b9062003561565b8060005260c960205260ff62002d6a33604060002062000c09565b54161562002d755750565b339062002d8162003064565b91603062002d8f8462003081565b53607862002d9d846200308f565b5360295b6001811162002e54576200123c62002e0f62002e3b8662002e2c62002dd28862002dcc8915620030c0565b6200310c565b62002e0860405195869462002e086020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002e9c565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262001450565b60405162461bcd60e51b81529182916004830162002600565b90600f811690601082101562000c4f5762002e96916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002e8b8487620030a0565b5360041c91620030b2565b62002da1565b9062002eb160209282815194859201620025b4565b0190565b600080516020620053ef833981519152600081815260c96020529060ff62002eed84600080516020620054cf83398151915262000c09565b54161562002efa57505050565b80825260c960205262002f11836040842062000c09565b805460ff1916600117905533926001600160a01b031691600080516020620053cf8339815191529080a4565b60009080825260c960205260ff62002f59846040852062000c09565b541662002f6557505050565b80825260c960205262002f7c836040842062000c09565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b6033546001600160a01b0316330362002fcb57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091166000805160206200548f833981519152600080a3565b90600282018092116200282d57565b919082018092116200282d57565b60405190620030738262001420565b602a82526040366020840137565b80511562000c4f5760200190565b80516001101562000c4f5760210190565b90815181101562000c4f570160200190565b80156200282d576000190190565b15620030c857565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b604051906200311b82620013e8565b6042825260603660208401376030620031348362003081565b53607862003142836200308f565b536041905b600182116200315d5762000605915015620030c0565b600f811690601082101562000c4f5762003193916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002e8b8486620030a0565b9062003147565b15620031a257565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200544f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620031f357565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200544f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b90816020910312620004b0575190565b6040513d6000823e3d90fd5b156200326057565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b156200333d576000805160206200546f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b90620033a48262003306565b6001600160a01b038216600080516020620054af833981519152600080a280511580159062003445575b620033d7575050565b620034429160008060405193620033ee8562001420565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200343b62003495565b91620034ca565b50565b506001620033ce565b906200345a8262003306565b6001600160a01b038216600080516020620054af833981519152600080a28051158015906200348c57620033d7575050565b506000620033ce565b3d15620034c5573d90620034a98262001495565b91620034b9604051938462001450565b82523d6000602084013e565b606090565b919290156200352f5750815115620034e0575090565b3b15620034ea5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620035435750805190602001fd5b60405162461bcd60e51b81529081906200123c906004830162002600565b6000549160ff8360081c16158093819462003690575b81156200366d575b50156200361157620035aa91836200359f600160ff196000541617600055565b620035f65762003cc6565b620035b157565b620035c261ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200360b61010061ff00196000541617600055565b62003cc6565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003681575b50386200357f565b6001915060ff16143862003679565b600160ff821610915062003577565b818110620036ab575050565b600081556001016200369f565b90601f8211620036c6575050565b6200059c916101086000526020600020906020601f840160051c83019310620036f8575b601f0160051c01906200369f565b9091508190620036ea565b90601f821162003711575050565b6200059c916101096000526020600020906020601f840160051c83019310620036f857601f0160051c01906200369f565b80519091906001600160401b0381116200127c576101089062003771816200376b845462002577565b620036b8565b602080601f8311600114620037b0575081929394600092620037a4575b50508160011b916000199060031b1c1916179055565b0151905038806200378e565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b888210620038205750508360019596971062003806575b505050811b019055565b015160001960f88460031b161c19169055388080620037fc565b80600185968294968601518155019501930190620037e5565b80519091906001600160401b0381116200127c5761010990620038688162003862845462002577565b62003703565b602080601f83116001146200389a575081929394600092620037a45750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b888210620038ef575050836001959697106200380657505050811b019055565b80600185968294968601518155019501930190620038cf565b51906200059c826200057b565b90816020910312620004b0575162000605816200057b565b6001600160401b0381116200127c5760051b60200190565b6020908181840312620004b0578051906001600160401b038211620004b057019180601f84011215620004b05782516200397f816200392d565b936200398f604051958662001450565b818552838086019260051b820101928311620004b0578301905b828210620039b8575050505090565b8380918351620039c8816200057b565b815201910190620039a9565b60405190620039e382620013e8565b600382526060366020840137565b90620039fd826200392d565b62003a0c604051918262001450565b828152809262003a1f601f19916200392d565b0190602036910137565b60001981146200282d5760010190565b805182101562000c4f5760209160051b010190565b6000198101919082116200282d57565b6001198101919082116200282d57565b919082039182116200282d57565b9060009161010880549162003a918362002577565b91828252600193848116908160001462003af8575060011462003ab5575b50505050565b90919394506000526020928360002092846000945b83861062003ae357505050500101903880808062003aaf565b80548587018301529401938590820162003aca565b9294505050602093945060ff191683830152151560051b0101903880808062003aaf565b90604060206200060593805184520151918160208201520190620025d9565b90815180825260208080930193019160005b82811062003b5c575050505090565b83516001600160a01b03168552938101939281019260010162003b4d565b9062000605949262003bac91835260a0602084015262003b9d60a0840162003a7c565b90838203604085015262003b1c565b6001600160a01b03909316606082015280830360809091015262003b3b565b8054600082558062003bdb575050565b6200059c916000526020600020908101906200369f565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b0382116200127c57600160401b82116200127c5761010f90815483835580841062003c78575b50602080910191600052806000209060005b84811062003c5c575050505050565b83516001600160a01b0316838201559281019260010162003c4d565b62003c92908360005284602060002091820191016200369f565b3862003c3b565b9091620006059282526060602083015262003cb76060830162003a7c565b91604081840391015262003b1c565b9062003cd1620042ae565b62003cdb620042d7565b62003ce562004232565b62003cef62004245565b6020918281019162003d1062003d0a62000ad485516200056f565b620042f6565b610100820162003d2962003d0a62000ad483516200056f565b62003d3962003d0a84516200056f565b60a083019062003d4e62003d0a83516200056f565b61018084019162003d6462003d0a84516200056f565b62003dd862003db660608701978851620041b8575b62003daf62003d8d62000ad48a516200056f565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b516200056f565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b604095868601805115620041a75762000ad462003f03959462003e7d62003e5b62003efd9662003e3b62003e276101408e62000eee62003edb9b62003e2162003eb89c5160fc55565b5160fd55565b6101009060ff801983541691151516179055565b62003e4b6101208d015162003742565b62003daf6101608d015162003839565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b62003daf62003e9060c08b01516200056f565b6101008054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b0383161790559262003daf565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b62002eb5565b60048462003f1862000ad4610107546200056f565b8551635ab1bd5360e01b815292839182905afa8015620007b85762003f649160009162004185575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b60009062003f7962000ad4610106546200056f565b91823b620040cc575062003fc762003f90620039d4565b9262003fb03362003fa18662003081565b6001600160a01b039091169052565b62003fa162003fc0855162003a4e565b8562003a39565b62003fdc3062003fa162003fc0855162003a5e565b62004021858362003ff462000ad4610104546200056f565b60e06080880151970196600088518a5196879586948593633a92f65f60e01b855230916004860162003b7a565b03925af1928315620007b8576200406d620040959462004073937f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320599600092620040aa575b505060ff55565b62003c0b565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b620035f160ff54915192519283928362003c99565b620040c49250803d10620007b0576200079f818362001450565b388062004066565b93909592819592955163a0e67e2b60e01b815285816004818a5afa958615620007b85780966200415b575b50506200410f62004109865162003047565b620039f1565b9660005b865181101562004148578062001ef46200413662001b3562004142948b62003a39565b62003fa1838d62003a39565b62004113565b509194509295919462003fc79062003fb0565b6200417c9296503d8091833e62004173818362001450565b81019062003945565b933880620040f7565b620041a09150863d8811620010295762001017818362001450565b3862003f40565b87516363868c5560e11b8152600490fd5b620041cb62003d0a60c08a01516200056f565b62003d79565b15620041d957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6200059c60ff60005460081c16620041d1565b600080516020620053ef833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b620042cc60ff60005460081c16620042c681620041d1565b620041d1565b6200059c336200300f565b620042ef60ff60005460081c16620042c681620041d1565b6001606555565b6001600160a01b0316156200430757565b6040516303988b8160e61b8152600490fd5b6001600160a01b0391821681529116602082015260400190565b6001600160a01b0390911681526040602082018190526200060592910190620025d9565b6040519061010f828154918282526020928383019160005283600020936000905b82821062004391575050506200059c9250038362001450565b85546001600160a01b03168452600195860195889550938101939091019062004378565b9060405191828154918282526020928383019160005283600020936000905b828210620043ed575050506200059c9250038362001450565b85546001600160a01b031684526001958601958895509381019390910190620043d4565b634e487b7160e01b600052602160045260246000fd5b906003821015620044355752565b62004411565b600411156200443557565b906004821015620044355752565b6200059c909291926101c060c06101e083019560608151805186526020810151602087015260408101516040870152015160608501526200449e6020820151608086019062004427565b620044b2604082015160a086019062004446565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b94909162004564620045809462000605989694885260018060a01b03809316602089015260e0604089015260e0880190620025d9565b921660608601526000608086015284820360a086015262003b1c565b9160c081840391015262003b3b565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a060808201819052620006059291019062003b1c565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b038616620046dd575b60206200463782968360006200460862004357565b92620046656200461f62000ad4610107546200056f565b946200464660ff54936040519889918b830162004454565b03601f19810189528862001450565b896040519b8c98899788966370803ea560e11b8852600488016200452e565b03925af1918215620007b8577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620046b3575b50620035f19083976040519485943091866200458f565b620035f1919350620046d59060203d8111620007b0576200079f818362001450565b92906200469c565b859250620045f3565b90604051620046f58162001420565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b90816020910312620004b0575162000605816200166e565b6001600160a01b039091168152602081019190915260400190565b805490926200476c926001600160a01b039091169162003bf2565b9055565b805490600160401b8210156200127c5781620047969160016200476c9401815562000c36565b815491936001600160a01b03169162003bf2565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff6002604060002060405193620047f78562001420565b815416845260018101546020850152015416159060408215910152620020a257565b6001600160a01b0316600090815261010a602052604090205460ff16156200483d57565b6040516346c26e4b60e01b8152600490fd5b805480156200487f57600019019062004869828262000c36565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b815490818110156200494557620048ca818462000c36565b905460039391841b1c861687871614620048f2575b50620048ec915062003a29565b620048b2565b60001981019081116200282d57620048ec926200491187928662000c36565b9054911b1c166200493162004927838662000c36565b8193915462003bf2565b90556200493e836200484f565b38620048df565b505050915050565b6002606554146200495f576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90620049df90620049d06200059c956040519586936323b872dd60e01b602086015260248501620047aa565b03601f19810184528362001450565b620049fd565b90816020910312620004b05751620006058162002bca565b60405162004a5a916001600160a01b031662004a198262001404565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200343b62003495565b80519082821592831562004acc575b5050501562004a755750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b62004ade9350820181019101620049e5565b38828162004a69565b3360005261010c602052604060002060ff60026040519262004b098462001420565b80546001600160a01b0316845260018101546020850152015416158015604090920191909152620020a257565b620049df6200059c9392620049d060405194859263a9059cbb60e01b60208501526024840162004736565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004b8e8162001420565b51617530938685fa933d600051908662004c41575b508562004c36575b508462004bcc575b5050508162004bc0575090565b62000605915062004c4d565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004bfa8162001420565b5192fa60005190913d8362004c2a575b50508162004c1f575b50159038808062004bb3565b905015153862004c13565b10159150388062004c0a565b151594503862004bab565b84111595503862004ba3565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004c7f8162001420565b5191617530fa6000513d8262004ca2575b508162004c9b575090565b9050151590565b6020111591503862004c90565b9190604083820312620004b05760405162004cca8162001404565b83518152602084015190938491906001600160401b038211620004b057019082601f83011215620004b05781519162004d038362001495565b9362004d13604051958662001450565b83855260208483010111620004b05760209262004d3691848087019101620025b4565b0152565b90602082820312620004b05781516001600160401b0392838211620004b0570160c081830312620004b0576040519262004d7484620013b0565b81518452602082015162004d88816200057b565b602085015262004d9b6040830162003908565b60408501526060820151908111620004b05760a09262004dbd91830162004caf565b606084015260808101516080840152015160a082015290565b600080516020620053ef83398151915260005260c960205260ff62004e0b33600080516020620054cf83398151915262000c09565b54161562004e1557565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff1662004e9557816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49162004ed681620042f6565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062004f23828520620043b5565b845b815181101562004fb65762004f4762000ad462000ad462001b35848662003a39565b90813b1562004fb2578685518093631914f67160e21b825281838162004f718a6004830162000c55565b03925af1918215620007b85762004f8e9262004f94575062003a29565b62004f25565b8062004fa462004fab926200143c565b80620004b5565b3862001b87565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a264697066735822122006410cf624a92fa7c21c76d8d4a27f3c200b7d9f78644012fddf82d17193685564736f6c63430008130033","sourceMap":"1384:23526:117:-:0;;;;;;;1088:4:66;1080:13;;1384:23526:117;;;;;;1080:13:66;1384:23526:117;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004555780630331383c146200038957806308386eba146200044f5780630d12bbdb14620004495780630d4a8b491462000443578063175188e8146200043d5780631f787d281462000437578063223e5479146200043157806322bcf999146200042b578063248a9ca3146200042557806328c309e9146200041f5780632b38c69c14620004195780632c611c4a14620004135780632f2ff15d146200040d57806331f61bca14620004075780633396045914620004015780633517aa7d14620003fb57806336568abe14620003f55780633659cfe614620003ef578063397e254314620003e95780633a871fe114620003e3578063477a5cc014620003dd5780634f1ef28614620003d7578063524e59e814620003d157806352d1902d14620003cb578063559de05d14620003c55780635c94e4d214620003bf5780635ecf71c514620003b957806365e3864c146200038f5780636871eb4d14620003b357806368decabb14620003ad5780636c53db9a14620003a7578063715018a614620003a157806373265c37146200039b578063733a2d1f14620003955780637817ee4f146200038f57806378a0b8a914620003895780637b103999146200038357806382d6a1e7146200037d57806388cfe68414620003775780638961be6b14620003715780638da5cb5b146200036b57806391d148541462000365578063a0cf0aea146200035f578063a217fddf1462000359578063a230c5241462000353578063b3f00674146200034d578063b5058c501462000347578063b64e39af1462000341578063b99b4370146200033b578063bc063e1a1462000335578063c6d572ae146200032f578063d547741f1462000329578063d6d8428d1462000323578063d7050f07146200031d578063db61d65c1462000317578063e16d0e321462000311578063ebd7dc52146200030b578063f2fde38b1462000305578063f86c5f8914620002ff5763fa50f53d14620002f957600080fd5b62002be2565b62002b9e565b62002b04565b62002ab9565b620029aa565b6200297e565b6200295f565b62002933565b620028e9565b62002853565b62002833565b620026e5565b62002613565b620024f0565b620024c0565b62002453565b62002435565b62002404565b620023c6565b6200239b565b6200237b565b62002319565b62002263565b62002237565b620004c1565b62001f12565b6200220b565b6200216f565b6200211e565b620020f2565b620020c6565b62001f51565b62001c9a565b62001c6e565b62001acd565b62001a09565b620018eb565b620014ed565b62001356565b6200130f565b62001282565b62001124565b62001087565b62000e2f565b62000e0f565b62000dbf565b62000d12565b62000ccd565b62000c68565b62000aaf565b62000a7e565b6200098d565b62000958565b62000932565b620008fb565b62000608565b62000501565b620004e1565b34620004b0576020366003190112620004b05760043563ffffffff60e01b8116809103620004b057602090637965db0b60e01b81149081156200049e575b506040519015158152f35b6301ffc9a760e01b1490503862000493565b600080fd5b6000910312620004b057565b34620004b0576000366003190112620004b057602060fc54604051908152f35b34620004b0576000366003190112620004b057602060ff54604051908152f35b34620004b0576020366003190112620004b0576004356200052162004dd6565b620186a081116200055d576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fd55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b03811603620004b057565b602435906200059c826200057b565b565b6101c435906200059c826200057b565b6101e435906200059c826200057b565b61020435906200059c826200057b565b35906200059c826200057b565b6040906003190112620004b057600435620005f6816200057b565b9060243562000605816200057b565b90565b34620004b0576200061936620005db565b6200062482620047cc565b6200062f8162004819565b6200063a81620042f6565b6200065b62000654826200064e8562000b9d565b62000c09565b5460ff1690565b620008e9576020908162000679620006738562000bb8565b620046e6565b015160fc5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af18015620007b8576003918a91620008c7575b50620006c6816200443b565b03620007be57505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af18015620007b8576000805160206200542f833981519152946200077e92879262000784575b50505b8062000739856200064e8662000bd3565b556200075b6200074e856200064e8662000b9d565b805460ff19166001179055565b62000771846200076b8562000bee565b62004770565b60405193849384620047aa565b0390a180f35b620007a89250803d10620007b0575b6200079f818362001450565b8101906200323c565b388062000725565b503d62000793565b6200324c565b604096919392965193845282846004818b865af18015620007b8578894859162000893575b50620007ef816200443b565b62000814575b505050506200077e6000805160206200542f8339815191529362000728565b82939650906200083c9160405197888094819363782aadff60e01b8352896004840162004736565b03925af18015620007b8576000805160206200542f833981519152946200077e92879262000871575b505093859138620007f5565b6200088b9250803d10620007b0576200079f818362001450565b388062000865565b620008b89150843d8611620008bf575b620008af818362001450565b8101906200471e565b38620007e3565b503d620008a3565b620008e29150863d8811620008bf57620008af818362001450565b38620006ba565b604051636adcde4b60e11b8152600490fd5b34620004b0576020366003190112620004b0576200093060043562000920816200057b565b6200092a62004dd6565b62004ea7565b005b34620004b0576000366003190112620004b057602060ff61010054166040519015158152f35b34620004b0576020366003190112620004b057620009306004356200097d816200057b565b6200098762004dd6565b62004e2d565b34620004b0576200099e36620005db565b620009a982620047cc565b620009b481620042f6565b6001600160a01b038116330362000a6c57620009e1620009dd62000654836200064e8662000b9d565b1590565b62000a5a578162000a2562000a1b836200064e7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000b9d565b805460ff19169055565b600062000a37836200064e8462000bd3565b5562000a44828262004895565b62000a556040519283928362004319565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b34620004b0576020366003190112620004b05760043560005260c96020526020600160406000200154604051908152f35b34620004b0576000366003190112620004b05762000ada62000ad4610101546200056f565b6200056f565b60fc549062000af962000af060fd548462002819565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000b1c306004830162000c55565b03916001600160a01b03165afa918215620007b85762000b769362000b5962000af062000b669562000b609460009162000b7a575b508562002819565b9262003056565b62003056565b6040519081529081906020820190565b0390f35b62000b96915060203d8111620007b0576200079f818362001450565b3862000b51565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000c4f5760005260206000200190600090565b62000c20565b6001600160a01b03909116815260200190565b34620004b0576040366003190112620004b05760043562000c89816200057b565b6024359060018060a01b0380911660005261010d60205260406000208054831015620004b05760209262000cbd9162000c36565b9190546040519260031b1c168152f35b34620004b0576020366003190112620004b05760043562000cee816200057b565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b34620004b0576040366003190112620004b05760043560243562000d36816200057b565b60009180835260c960205262000d53600160408520015462002d4f565b80835260c960205260ff62000d6c836040862062000c09565b54161562000d78578280f35b80835260c960205262000d8f826040852062000c09565b805460ff1916600117905533916001600160a01b031690600080516020620053cf8339815191528480a438808280f35b34620004b0576020366003190112620004b0577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000e0262004dd6565b8060fc55604051908152a1005b34620004b0576000366003190112620004b057602060fe54604051908152f35b34620004b057600080600319360112620010845762000e4d6200494d565b62000e583362000bb8565b62000e6a62000ad4610101546200056f565b60fc549162000e8062000af060fd548562002819565b6040516302a64b8360e21b815260209491936001600160a01b0316919085818062000eaf306004830162000c55565b0381865afa8015620007b85762000ed49262000af092899262001060575b5062002819565b9262000ef5620009dd604062000eee620006733362000bb8565b0151151590565b62000f0a575b8562000f076001606555565b80f35b8262000f22600260019501600160ff19825416179055565b60fc54938491015562000f5a6101059362000f4f8662000b608562000f4889546200056f565b9462003056565b9030903390620049a4565b8062001031575b508262000fb1575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768962000fa360fc54604051918291338362004736565b0390a1388080808062000efb565b8362000fc0600493546200056f565b9160405193848092634c3a1adf60e11b82525afa918215620007b85762000ff194869362000ffb575b505062004b36565b3880808062000f69565b62001020929350803d1062001029575b62001017818362001450565b81019062003915565b90388062000fe9565b503d6200100b565b62001059906200104284546200056f565b6101005460081c6001600160a01b03169062004b36565b3862000f61565b6200107c919250883d8a11620007b0576200079f818362001450565b903862000ecd565b80fd5b34620004b0576040366003190112620004b057602435620010a8816200057b565b336001600160a01b03821603620010c757620009309060043562002f3d565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620004b0576020366003190112620004b05760043562001145816200057b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062001180308414156200319a565b620011a06000805160206200546f833981519152938285541614620031eb565b620011aa62002fb6565b60405190602082016001600160401b038111838210176200127c57604052600082526000805160206200540f8339815191525460ff1615620011f457505062000930915062003306565b6020600491604094939451928380926352d1902d60e01b825286165afa6000918162001257575b50620012405760405162461bcd60e51b8152806200123c60048201620032b7565b0390fd5b620009309362001251911462003258565b6200344e565b6200127491925060203d8111620007b0576200079f818362001450565b90386200121b565b6200139a565b34620004b0576020366003190112620004b0577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf86040600435620012c6816200057b565b620012d062004dd6565b6001600160a01b0390811690620012e782620042f6565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b34620004b0576020366003190112620004b05760043562001330816200057b565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b34620004b057602060ff6200138e6200136f36620005db565b6001600160a01b03909116600090815261010e85526040902062000c09565b54166040519015158152f35b634e487b7160e01b600052604160045260246000fd5b60c081019081106001600160401b038211176200127c57604052565b60e081019081106001600160401b038211176200127c57604052565b608081019081106001600160401b038211176200127c57604052565b604081019081106001600160401b038211176200127c57604052565b606081019081106001600160401b038211176200127c57604052565b6001600160401b0381116200127c57604052565b601f909101601f19168101906001600160401b038211908210176200127c57604052565b604051906101a082016001600160401b038111838210176200127c57604052565b6001600160401b0381116200127c57601f01601f191660200190565b929192620014bf8262001495565b91620014cf604051938462001450565b829481845281830111620004b0578281602093846000960137010152565b6040366003190112620004b05760043562001508816200057b565b6024356001600160401b038111620004b05736602382011215620004b0576200153c903690602481600401359101620014b1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692919062001578308514156200319a565b620015986000805160206200546f833981519152948286541614620031eb565b620015a262002fb6565b6000805160206200540f8339815191525460ff1615620015ca57505062000930915062003306565b6020600491604094939451928380926352d1902d60e01b825286165afa6000918162001629575b50620016125760405162461bcd60e51b8152806200123c60048201620032b7565b620009309362001623911462003258565b62003398565b6200164691925060203d8111620007b0576200079f818362001450565b9038620015f1565b60a435906003821015620004b057565b60c435906003821015620004b057565b60041115620004b057565b60c435906200059c826200166e565b60e435906200059c826200166e565b60209060e3190112620004b05760405190602082016001600160401b038111838210176200127c5760405260e4358252565b602090610103190112620004b05760405190602082016001600160401b038111838210176200127c57604052610104358252565b60c090610103190112620004b057604051906200171a82620013b0565b81610104356200172a816200057b565b8152610124356200173b816200057b565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c090610123190112620004b057604051906200178382620013b0565b816101243562001793816200057b565b815261014435620017a4816200057b565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e08312620004b05760405190620017ef82620013cc565b6080829412620004b0576200185f906040516200180c81620013e8565b60243581526044356020820152606435604082015260843560608201528352620018356200164e565b60208401526200184462001679565b6040840152620018548162001697565b6060840152620016fd565b60808201526200186e6200059e565b60a082015260c06200187f620005ae565b910152565b9080601f83011215620004b0578160206200060593359101620014b1565b9190604083820312620004b05760405190620018be8262001404565b8335825290928391602082013591906001600160401b038311620004b0576020926200187f920162001884565b34620004b057610220366003190112620004b0576004356200190d816200057b565b6200191836620017cf565b6001600160401b039061020435828111620004b0576200193d903690600401620018a2565b916200194c610102546200056f565b906200195f62000ad4610107546200056f565b91620019a26200197160fb546200056f565b60405163784d200b60e11b602082015294859162001993916024840162004319565b03601f19810185528462001450565b604051926104109182850193858510908511176200127c578493620019cd9362004fbf863962004333565b03906000f0928315620007b857620019ee936001600160a01b0316620045c9565b604080519283526001600160a01b0391909116602083015290f35b34620004b0576000366003190112620004b0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001a67576040516000805160206200546f8339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b34620004b057602080600319360112620004b05760049081359162001af16200494d565b62001afb62004ae7565b62001b1062001b0a3362000bee565b620043b5565b60005b815181101562001bf25762001b4262000ad462000ad462001b35848662003a39565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001b668c338c840162004736565b03925af18015620007b85762001b8e9260009162001bd0575b508062001b94575b5062003a29565b62001b13565b62001bc762001bbe62001ba73362000bd3565b62001bb762001b35868962003a39565b9062000c09565b91825462003056565b90553862001b87565b62001beb9150863d8811620007b0576200079f818362001450565b3862001b7f565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001c608662001c358162001c2b610105546200056f565b30903390620049a4565b600162001c423362000bb8565b0162001c5082825462003056565b9055604051918291338362004736565b0390a1620009306001606555565b34620004b0576000366003190112620004b057610102546040516001600160a01b039091168152602090f35b34620004b057602080600319360112620004b05760049081359062001cbe6200494d565b62001cc862004ae7565b62001cd33362000bee565b9060019362001cf0848662001ce83362000bb8565b015462003a6e565b60fc541162001f035790849262001d16853362001d10610105546200056f565b62004b36565b6000935b62001d60575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001c60868862001d523362000bb8565b0162001c5082825462003a6e565b909192948154948587101562001efa5762001d9562001d80888562000c36565b905460039190911b1c6001600160a01b031690565b9562001da18762004b61565b1562001ea957506040928484518098632ed04b2b60e01b82528160008162001dce888d3390840162004736565b03926001600160a01b03165af1968715620007b85760009762001e85575b5062001e0c62001dfc3362000bd3565b62001bb762001d808b8562000c36565b54948588111562001e395784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001e7a9162001e7262001e6962001e593362000bd3565b62001bb762001d80868c62000c36565b91825462003a6e565b905562003a29565b939092919262001d1a565b62001ea1919750853d8711620007b0576200079f818362001450565b953862001dec565b9662001ef462001e7a929762001ee962001ed662001d8062001ecf889d9b999b62003a4e565b8b62000c36565b62001ee2858b62000c36565b9062004751565b6200092a886200484f565b62003a29565b94509462001d20565b604051634e23e81760e11b8152fd5b34620004b057602062001f4862001f2936620005db565b6001600160a01b03909116600090815261010b84526040902062000c09565b54604051908152f35b34620004b05762001f6236620005db565b62001f6c6200494d565b62001f7662004dd6565b62001f88620009dd6101005460ff1690565b620020b45762001fa6620009dd604062000eee620006738662000bb8565b620020a2578162001fbd6200067360009462000bb8565b62001fc88262004efe565b62001fe962001fd78362000bb8565b60026000918281558260018201550155565b602062002025816200200262000ad4610105546200056f565b930192835160405197888094819363a9059cbb60e01b83528a6004840162004736565b03925af1908115620007b8577fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39462001c60926200206d575b505160405193849384620047aa565b620020929060203d81116200209a575b62002089818362001450565b810190620049e5565b50386200205e565b503d6200207d565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b34620004b0576000366003190112620004b057610103546040516001600160a01b039091168152602090f35b34620004b0576000366003190112620004b057610106546040516001600160a01b039091168152602090f35b34620004b05760008060031936011262001084576200213c62002fb6565b603380546001600160a01b0319811690915581906001600160a01b03166000805160206200548f8339815191528280a380f35b34620004b0576020366003190112620004b0576200218c62004dd6565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa918215620007b8576200093092602091600091620021e5575b500151166200092a81620042f6565b62002204913d8091833e620021fb818362001450565b81019062004d3a565b38620021d6565b34620004b0576000366003190112620004b0576020604051600080516020620053ef8339815191528152f35b34620004b0576000366003190112620004b057610104546040516001600160a01b039091168152602090f35b34620004b0576020366003190112620004b0576200228062004dd6565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa8015620007b857602062000ad491620022d493600091620022fc575b5001516200056f565b620022df81620042f6565b620022ea8162004b61565b620022f157005b620009309062004e2d565b62002312913d8091833e620021fb818362001450565b38620022cb565b34620004b0576020366003190112620004b05760606004356200233c816200057b565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b34620004b0576000366003190112620004b057602060fd54604051908152f35b34620004b0576000366003190112620004b0576033546040516001600160a01b039091168152602090f35b34620004b0576040366003190112620004b057602060ff6200138e602435620023ef816200057b565b60043560005260c98452604060002062000c09565b34620004b0576000366003190112620004b057602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620004b0576000366003190112620004b057602060405160008152f35b34620004b0576020366003190112620004b0576020604060043562002478816200057b565b60018060a01b0380911660005261010c835260ff600283600020845193620024a08562001420565b815416845260018101548685015201541615159182910152604051908152f35b34620004b0576000366003190112620004b0576101005460405160089190911c6001600160a01b03168152602090f35b34620004b057600080600319360112620010845761010380546001600160a01b0381169033829003620025655761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620025a9575b60208310146200259357565b634e487b7160e01b600052602260045260246000fd5b91607f169162002587565b60005b838110620025c85750506000910152565b8181015183820152602001620025b7565b90602091620025f481518092818552858086019101620025b4565b601f01601f1916010190565b90602062000605928181520190620025d9565b34620004b05760008060031936011262001084576040518161010980546200263b8162002577565b80855291600191808316908115620026b7575060011462002677575b62000b76856200266a8189038262001450565b6040519182918262002600565b835260208084209095505b828410620026a3575050508162000b76936200266a92820101933862002657565b805485850187015292850192810162002682565b905062000b7696506200266a9450602092508593915060ff191682840152151560051b820101933862002657565b34620004b0576000806003193601126200108457620027036200494d565b6200270e33620047cc565b620027193362004efe565b8062002729620006733362000bb8565b6200273862001fd73362000bb8565b6200274d620027473362000bee565b62003bcb565b602062002789816200276662000ad4610105546200056f565b930192835160405195868094819363a9059cbb60e01b8352336004840162004736565b03925af1908115620007b8577fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f492620027d292620027e0575b5051604051918291338362004736565b0390a162000f076001606555565b620027fb9060203d81116200209a5762002089818362001450565b5038620027c2565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200282d57565b62002803565b34620004b0576000366003190112620004b0576020604051620186a08152f35b34620004b05760008060031936011262001084576040518161010880546200287b8162002577565b80855291600191808316908115620026b75750600114620028a95762000b76856200266a8189038262001450565b835260208084209095505b828410620028d5575050508162000b76936200266a92820101933862002657565b8054858501870152928501928101620028b4565b34620004b0576040366003190112620004b0576200093060243560043562002911826200057b565b8060005260c96020526200292d60016040600020015462002d4f565b62002f3d565b34620004b0576000366003190112620004b057610107546040516001600160a01b039091168152602090f35b34620004b0576000366003190112620004b05760206040516127108152f35b34620004b0576000366003190112620004b057610105546040516001600160a01b039091168152602090f35b34620004b057610240366003190112620004b057600435620029cc816200057b565b60243590620029db826200057b565b36604319016101e08112620004b057608060405191620029fb83620013cc565b12620004b05760405162002a0f81620013e8565b60443581526064356020820152608435604082015260a4356060820152815262002a386200165e565b602082015262002a4762001688565b604082015262002a5736620016c9565b606082015262002a673662001766565b608082015262002a76620005ae565b60a082015262002a85620005be565b60c082015261022435926001600160401b038411620004b05762002ab2620019ee943690600401620018a2565b92620045c9565b34620004b0576020366003190112620004b057602060ff6200138e60043562002ae2816200057b565b600080516020620053ef83398151915260005260c98452604060002062000c09565b34620004b0576020366003190112620004b05760043562002b25816200057b565b62002b2f62002fb6565b6001600160a01b0381161562002b4a5762000930906200300f565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620004b0576000366003190112620004b057610101546040516001600160a01b039091168152602090f35b80151503620004b057565b35906200059c8262002bca565b34620004b057600319604036820112620004b0576001600160401b039060043590828211620004b0576101a0908236030112620004b05762002c2362001474565b9062002c3281600401620005ce565b825262002c4260248201620005ce565b602083015260448101356040830152606481013560608301526084810135608083015262002c7360a48201620005ce565b60a083015262002c8660c48201620005ce565b60c083015260e4810135838111620004b05762002caa9060043691840101620018a2565b60e083015262002cbe6101048201620005ce565b610100830152610124810135838111620004b05762002ce4906004369184010162001884565b61012083015262002cf9610144820162002bd5565b610140830152610164810135928311620004b05761018462002d389162002d2b62000930956004369184010162001884565b61016085015201620005ce565b61018082015262002d486200058d565b9062003561565b8060005260c960205260ff62002d6a33604060002062000c09565b54161562002d755750565b339062002d8162003064565b91603062002d8f8462003081565b53607862002d9d846200308f565b5360295b6001811162002e54576200123c62002e0f62002e3b8662002e2c62002dd28862002dcc8915620030c0565b6200310c565b62002e0860405195869462002e086020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002e9c565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262001450565b60405162461bcd60e51b81529182916004830162002600565b90600f811690601082101562000c4f5762002e96916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002e8b8487620030a0565b5360041c91620030b2565b62002da1565b9062002eb160209282815194859201620025b4565b0190565b600080516020620053ef833981519152600081815260c96020529060ff62002eed84600080516020620054cf83398151915262000c09565b54161562002efa57505050565b80825260c960205262002f11836040842062000c09565b805460ff1916600117905533926001600160a01b031691600080516020620053cf8339815191529080a4565b60009080825260c960205260ff62002f59846040852062000c09565b541662002f6557505050565b80825260c960205262002f7c836040842062000c09565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b6033546001600160a01b0316330362002fcb57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091166000805160206200548f833981519152600080a3565b90600282018092116200282d57565b919082018092116200282d57565b60405190620030738262001420565b602a82526040366020840137565b80511562000c4f5760200190565b80516001101562000c4f5760210190565b90815181101562000c4f570160200190565b80156200282d576000190190565b15620030c857565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b604051906200311b82620013e8565b6042825260603660208401376030620031348362003081565b53607862003142836200308f565b536041905b600182116200315d5762000605915015620030c0565b600f811690601082101562000c4f5762003193916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002e8b8486620030a0565b9062003147565b15620031a257565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200544f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620031f357565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200544f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b90816020910312620004b0575190565b6040513d6000823e3d90fd5b156200326057565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b156200333d576000805160206200546f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b90620033a48262003306565b6001600160a01b038216600080516020620054af833981519152600080a280511580159062003445575b620033d7575050565b620034429160008060405193620033ee8562001420565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200343b62003495565b91620034ca565b50565b506001620033ce565b906200345a8262003306565b6001600160a01b038216600080516020620054af833981519152600080a28051158015906200348c57620033d7575050565b506000620033ce565b3d15620034c5573d90620034a98262001495565b91620034b9604051938462001450565b82523d6000602084013e565b606090565b919290156200352f5750815115620034e0575090565b3b15620034ea5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620035435750805190602001fd5b60405162461bcd60e51b81529081906200123c906004830162002600565b6000549160ff8360081c16158093819462003690575b81156200366d575b50156200361157620035aa91836200359f600160ff196000541617600055565b620035f65762003cc6565b620035b157565b620035c261ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200360b61010061ff00196000541617600055565b62003cc6565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003681575b50386200357f565b6001915060ff16143862003679565b600160ff821610915062003577565b818110620036ab575050565b600081556001016200369f565b90601f8211620036c6575050565b6200059c916101086000526020600020906020601f840160051c83019310620036f8575b601f0160051c01906200369f565b9091508190620036ea565b90601f821162003711575050565b6200059c916101096000526020600020906020601f840160051c83019310620036f857601f0160051c01906200369f565b80519091906001600160401b0381116200127c576101089062003771816200376b845462002577565b620036b8565b602080601f8311600114620037b0575081929394600092620037a4575b50508160011b916000199060031b1c1916179055565b0151905038806200378e565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b888210620038205750508360019596971062003806575b505050811b019055565b015160001960f88460031b161c19169055388080620037fc565b80600185968294968601518155019501930190620037e5565b80519091906001600160401b0381116200127c5761010990620038688162003862845462002577565b62003703565b602080601f83116001146200389a575081929394600092620037a45750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b888210620038ef575050836001959697106200380657505050811b019055565b80600185968294968601518155019501930190620038cf565b51906200059c826200057b565b90816020910312620004b0575162000605816200057b565b6001600160401b0381116200127c5760051b60200190565b6020908181840312620004b0578051906001600160401b038211620004b057019180601f84011215620004b05782516200397f816200392d565b936200398f604051958662001450565b818552838086019260051b820101928311620004b0578301905b828210620039b8575050505090565b8380918351620039c8816200057b565b815201910190620039a9565b60405190620039e382620013e8565b600382526060366020840137565b90620039fd826200392d565b62003a0c604051918262001450565b828152809262003a1f601f19916200392d565b0190602036910137565b60001981146200282d5760010190565b805182101562000c4f5760209160051b010190565b6000198101919082116200282d57565b6001198101919082116200282d57565b919082039182116200282d57565b9060009161010880549162003a918362002577565b91828252600193848116908160001462003af8575060011462003ab5575b50505050565b90919394506000526020928360002092846000945b83861062003ae357505050500101903880808062003aaf565b80548587018301529401938590820162003aca565b9294505050602093945060ff191683830152151560051b0101903880808062003aaf565b90604060206200060593805184520151918160208201520190620025d9565b90815180825260208080930193019160005b82811062003b5c575050505090565b83516001600160a01b03168552938101939281019260010162003b4d565b9062000605949262003bac91835260a0602084015262003b9d60a0840162003a7c565b90838203604085015262003b1c565b6001600160a01b03909316606082015280830360809091015262003b3b565b8054600082558062003bdb575050565b6200059c916000526020600020908101906200369f565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b0382116200127c57600160401b82116200127c5761010f90815483835580841062003c78575b50602080910191600052806000209060005b84811062003c5c575050505050565b83516001600160a01b0316838201559281019260010162003c4d565b62003c92908360005284602060002091820191016200369f565b3862003c3b565b9091620006059282526060602083015262003cb76060830162003a7c565b91604081840391015262003b1c565b9062003cd1620042ae565b62003cdb620042d7565b62003ce562004232565b62003cef62004245565b6020918281019162003d1062003d0a62000ad485516200056f565b620042f6565b610100820162003d2962003d0a62000ad483516200056f565b62003d3962003d0a84516200056f565b60a083019062003d4e62003d0a83516200056f565b61018084019162003d6462003d0a84516200056f565b62003dd862003db660608701978851620041b8575b62003daf62003d8d62000ad48a516200056f565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b516200056f565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b604095868601805115620041a75762000ad462003f03959462003e7d62003e5b62003efd9662003e3b62003e276101408e62000eee62003edb9b62003e2162003eb89c5160fc55565b5160fd55565b6101009060ff801983541691151516179055565b62003e4b6101208d015162003742565b62003daf6101608d015162003839565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b62003daf62003e9060c08b01516200056f565b6101008054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b0383161790559262003daf565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b62002eb5565b60048462003f1862000ad4610107546200056f565b8551635ab1bd5360e01b815292839182905afa8015620007b85762003f649160009162004185575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b60009062003f7962000ad4610106546200056f565b91823b620040cc575062003fc762003f90620039d4565b9262003fb03362003fa18662003081565b6001600160a01b039091169052565b62003fa162003fc0855162003a4e565b8562003a39565b62003fdc3062003fa162003fc0855162003a5e565b62004021858362003ff462000ad4610104546200056f565b60e06080880151970196600088518a5196879586948593633a92f65f60e01b855230916004860162003b7a565b03925af1928315620007b8576200406d620040959462004073937f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320599600092620040aa575b505060ff55565b62003c0b565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b620035f160ff54915192519283928362003c99565b620040c49250803d10620007b0576200079f818362001450565b388062004066565b93909592819592955163a0e67e2b60e01b815285816004818a5afa958615620007b85780966200415b575b50506200410f62004109865162003047565b620039f1565b9660005b865181101562004148578062001ef46200413662001b3562004142948b62003a39565b62003fa1838d62003a39565b62004113565b509194509295919462003fc79062003fb0565b6200417c9296503d8091833e62004173818362001450565b81019062003945565b933880620040f7565b620041a09150863d8811620010295762001017818362001450565b3862003f40565b87516363868c5560e11b8152600490fd5b620041cb62003d0a60c08a01516200056f565b62003d79565b15620041d957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6200059c60ff60005460081c16620041d1565b600080516020620053ef833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b620042cc60ff60005460081c16620042c681620041d1565b620041d1565b6200059c336200300f565b620042ef60ff60005460081c16620042c681620041d1565b6001606555565b6001600160a01b0316156200430757565b6040516303988b8160e61b8152600490fd5b6001600160a01b0391821681529116602082015260400190565b6001600160a01b0390911681526040602082018190526200060592910190620025d9565b6040519061010f828154918282526020928383019160005283600020936000905b82821062004391575050506200059c9250038362001450565b85546001600160a01b03168452600195860195889550938101939091019062004378565b9060405191828154918282526020928383019160005283600020936000905b828210620043ed575050506200059c9250038362001450565b85546001600160a01b031684526001958601958895509381019390910190620043d4565b634e487b7160e01b600052602160045260246000fd5b906003821015620044355752565b62004411565b600411156200443557565b906004821015620044355752565b6200059c909291926101c060c06101e083019560608151805186526020810151602087015260408101516040870152015160608501526200449e6020820151608086019062004427565b620044b2604082015160a086019062004446565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b94909162004564620045809462000605989694885260018060a01b03809316602089015260e0604089015260e0880190620025d9565b921660608601526000608086015284820360a086015262003b1c565b9160c081840391015262003b3b565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a060808201819052620006059291019062003b1c565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b038616620046dd575b60206200463782968360006200460862004357565b92620046656200461f62000ad4610107546200056f565b946200464660ff54936040519889918b830162004454565b03601f19810189528862001450565b896040519b8c98899788966370803ea560e11b8852600488016200452e565b03925af1918215620007b8577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620046b3575b50620035f19083976040519485943091866200458f565b620035f1919350620046d59060203d8111620007b0576200079f818362001450565b92906200469c565b859250620045f3565b90604051620046f58162001420565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b90816020910312620004b0575162000605816200166e565b6001600160a01b039091168152602081019190915260400190565b805490926200476c926001600160a01b039091169162003bf2565b9055565b805490600160401b8210156200127c5781620047969160016200476c9401815562000c36565b815491936001600160a01b03169162003bf2565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff6002604060002060405193620047f78562001420565b815416845260018101546020850152015416159060408215910152620020a257565b6001600160a01b0316600090815261010a602052604090205460ff16156200483d57565b6040516346c26e4b60e01b8152600490fd5b805480156200487f57600019019062004869828262000c36565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b815490818110156200494557620048ca818462000c36565b905460039391841b1c861687871614620048f2575b50620048ec915062003a29565b620048b2565b60001981019081116200282d57620048ec926200491187928662000c36565b9054911b1c166200493162004927838662000c36565b8193915462003bf2565b90556200493e836200484f565b38620048df565b505050915050565b6002606554146200495f576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90620049df90620049d06200059c956040519586936323b872dd60e01b602086015260248501620047aa565b03601f19810184528362001450565b620049fd565b90816020910312620004b05751620006058162002bca565b60405162004a5a916001600160a01b031662004a198262001404565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200343b62003495565b80519082821592831562004acc575b5050501562004a755750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b62004ade9350820181019101620049e5565b38828162004a69565b3360005261010c602052604060002060ff60026040519262004b098462001420565b80546001600160a01b0316845260018101546020850152015416158015604090920191909152620020a257565b620049df6200059c9392620049d060405194859263a9059cbb60e01b60208501526024840162004736565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004b8e8162001420565b51617530938685fa933d600051908662004c41575b508562004c36575b508462004bcc575b5050508162004bc0575090565b62000605915062004c4d565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004bfa8162001420565b5192fa60005190913d8362004c2a575b50508162004c1f575b50159038808062004bb3565b905015153862004c13565b10159150388062004c0a565b151594503862004bab565b84111595503862004ba3565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004c7f8162001420565b5191617530fa6000513d8262004ca2575b508162004c9b575090565b9050151590565b6020111591503862004c90565b9190604083820312620004b05760405162004cca8162001404565b83518152602084015190938491906001600160401b038211620004b057019082601f83011215620004b05781519162004d038362001495565b9362004d13604051958662001450565b83855260208483010111620004b05760209262004d3691848087019101620025b4565b0152565b90602082820312620004b05781516001600160401b0392838211620004b0570160c081830312620004b0576040519262004d7484620013b0565b81518452602082015162004d88816200057b565b602085015262004d9b6040830162003908565b60408501526060820151908111620004b05760a09262004dbd91830162004caf565b606084015260808101516080840152015160a082015290565b600080516020620053ef83398151915260005260c960205260ff62004e0b33600080516020620054cf83398151915262000c09565b54161562004e1557565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff1662004e9557816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49162004ed681620042f6565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062004f23828520620043b5565b845b815181101562004fb65762004f4762000ad462000ad462001b35848662003a39565b90813b1562004fb2578685518093631914f67160e21b825281838162004f718a6004830162000c55565b03925af1918215620007b85762004f8e9262004f94575062003a29565b62004f25565b8062004fa462004fab926200143c565b80620004b5565b3862001b87565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a264697066735822122006410cf624a92fa7c21c76d8d4a27f3c200b7d9f78644012fddf82d17193685564736f6c63430008130033","sourceMap":"1384:23526:117:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3158:58:45;;;:98;;;;1384:23526:117;;;;;;;;;;3158:98:45;-1:-1:-1;;;1189:51:55;;-1:-1:-1;3158:98:45;;;1384:23526:117;-1:-1:-1;1384:23526:117;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;22628:19;1384:23526;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;5232:24;1384:23526;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;22848:280;;:::i;:::-;4719:7;22947:26;;22943:86;;1384:23526;;23084:37;1384:23526;23038:31;1384:23526;;;;;;23084:37;1384:23526;22943:86;1384:23526;;-1:-1:-1;;;22996:22:117;;1384:23526;;22996:22;1384:23526;-1:-1:-1;;;;;1384:23526:117;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;:::i;:::-;12874:7;;;:::i;:::-;12912:9;;;:::i;:::-;12951;;;:::i;:::-;12976:47;;:36;;;;:::i;:::-;:47;:::i;:::-;1384:23526;;;;;12976:47;12972:107;;13179:19;13112:28;;1384:23526;13112:28;;;:::i;:::-;1384:23526;:::i;:::-;13179:19;1384:23526;13235:19;1384:23526;;;-1:-1:-1;;;13269:42:117;;;-1:-1:-1;;;;;;;1384:23526:117;;;;;;;;;;;;-1:-1:-1;1384:23526:117;13269:42;;;;;;13315:36;13269:42;;;;;1384:23526;;;;;:::i;:::-;13269:82;13315:36;;-1:-1:-1;;1384:23526:117;;-1:-1:-1;;;13386:51:117;;-1:-1:-1;;;;;1384:23526:117;;;13386:51;;1384:23526;-1:-1:-1;1384:23526:117;;;;;;;-1:-1:-1;1384:23526:117;;;;;;13386:51;;;;;;;;-1:-1:-1;;;;;;;;;;;13386:51:117;13872:61;13386:51;;;;;13265:384;13367:70;;13265:384;13659:30;:41;:30;;;;:::i;:41::-;1384:23526;13748:54;:47;:36;;;;:::i;:47::-;1384:23526;;-1:-1:-1;;1384:23526:117;13798:4;1384:23526;;;;13748:54;13813:43;:27;;;;:::i;:::-;:43;:::i;:::-;1384:23526;;13872:61;;;;;:::i;:::-;;;;1384:23526;;13386:51;;;;;;-1:-1:-1;13386:51:117;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;13265:384::-;1384:23526;;;;;;;13458:42;;;;;1384:23526;13458:42;;;;;;;;;;;;;;;13265:384;1384:23526;;;;:::i;:::-;13454:195;;13265:384;;;;;13872:61;-1:-1:-1;;;;;;;;;;;13265:384:117;;;13454:195;1384:23526;;;;;13571:67;1384:23526;;;689:66:62;;;;;;;;;13571:67:117;;;1384:23526;13571:67;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;;;;;;13571:67:117;13872:61;13571:67;;;;;13454:195;13552:86;;13454:195;;;;;;13571:67;;;;;;-1:-1:-1;13571:67:117;;;;;;:::i;:::-;;;;;13458:42;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;13269;;;;;;;;;;;;;;:::i;:::-;;;;12972:107;1384:23526;;-1:-1:-1;;;13046:22:117;;1384:23526;;13046:22;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;19323:9;1384:23526;;;;;:::i;:::-;19220:120;;:::i;:::-;19323:9;:::i;:::-;1384:23526;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;5313:25;1384:23526;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;18517:12;1384:23526;;;;;:::i;:::-;18417:120;;:::i;:::-;18517:12;:::i;1384:23526::-;;;;;;;:::i;:::-;14061:7;;;:::i;:::-;14098:9;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;14138:10;8341:20;8337:77;;14175:48;14176:47;;:36;;;;:::i;:47::-;14175:48;;1384:23526;14175:48;14171:110;;14291:36;:55;:47;:36;;14585:45;14291:36;;:::i;:47::-;1384:23526;;-1:-1:-1;;1384:23526:117;;;;14291:55;14341:5;14356:41;:30;;;;:::i;:41::-;1384:23526;14445:9;;;;:::i;:::-;14585:45;1384:23526;;14585:45;;;;;:::i;:::-;;;;1384:23526;14171:110;1384:23526;;-1:-1:-1;;;14246:24:117;;1384:23526;;14246:24;8337:77;1384:23526;;-1:-1:-1;;;8384:19:117;;1384:23526;;8384:19;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;;;-1:-1:-1;1384:23526:117;4955:6:45;1384:23526:117;;;4955:22:45;1384:23526:117;-1:-1:-1;1384:23526:117;4955:22:45;1384:23526:117;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;22180:33;1384:23526;22197:15;1384:23526;;:::i;:::-;22180:33;:::i;:::-;22253:19;1384:23526;;22252:62;22253:34;22275:12;1384:23526;22253:34;;:::i;:::-;4719:7;1384:23526;;;;22252:62;1384:23526;22386:44;1384:23526;;689:66:62;;;;;22386:44:117;;22424:4;;22386:44;22424:4;1384:23526;22386:44;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;22386:44;;;;;;;1384:23526;22386:44;22363:94;22364:66;22475:59;22386:44;22475:40;22386:44;1384:23526;22386:44;;;1384:23526;22364:66;;;:::i;22363:94::-;22475:40;;:::i;:::-;:59;:::i;:::-;1384:23526;;;;;;;;;;;;;;;;;22386:44;;;;;;;;;;;;;;:::i;:::-;;;;1384:23526;-1:-1:-1;;;;;1384:23526:117;;;;;12976:27;1384:23526;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;13112:19;1384:23526;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;13659:21;1384:23526;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;13813:18;1384:23526;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;-1:-1:-1;1384:23526:117;:::o;:::-;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1384:23526:117;6764:82;1384:23526;;;-1:-1:-1;1384:23526:117;;;6764:82;;;;;1384:23526;6764:82;;;;:::i;:::-;1384:23526;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1384:23526:117;18044:19;1384:23526;;;;;-1:-1:-1;1384:23526:117;18044:41;1384:23526;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;:::i;:::-;-1:-1:-1;1384:23526:117;;;;4955:6:45;1384:23526:117;;2809:4:45;4955:22;1384:23526:117;;;4955:22:45;1384:23526:117;2809:4:45;:::i;:::-;1384:23526:117;;;4955:6:45;1384:23526:117;;;3459:29:45;1384:23526:117;;;;3459:29:45;:::i;:::-;1384:23526:117;;8020:23:45;8016:149;;1384:23526:117;;;8016:149:45;1384:23526:117;;;4955:6:45;1384:23526:117;;8059:29:45;1384:23526:117;;;;8059:29:45;:::i;:::-;1384:23526:117;;-1:-1:-1;;1384:23526:117;4955:22:45;1384:23526:117;;;965:10:53;;-1:-1:-1;;;;;1384:23526:117;;-1:-1:-1;;;;;;;;;;;8114:40:45;;;8016:149;;1384:23526:117;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;22803:32;1384:23526;;;22660:182;;:::i;:::-;1384:23526;22756:32;1384:23526;;;;;;22803:32;1384:23526;;;;;;;-1:-1:-1;;1384:23526:117;;;;;5133:25;1384:23526;;;;;;;;;;;;;;;;;;;;2492:103:50;;:::i;:::-;20271:28:117;20224:10;20271:28;:::i;:::-;20343:33;1384:23526;20360:15;1384:23526;;:::i;20343:33::-;20416:19;1384:23526;;20415:62;20416:34;20438:12;1384:23526;20416:34;;:::i;20415:62::-;1384:23526;;-1:-1:-1;;;20549:44:117;;;;1384:23526;;-1:-1:-1;;;;;1384:23526:117;;689:66:62;20549:44:117;1384:23526;;20549:44;20587:4;1384:23526;20549:44;;;:::i;:::-;;;;;;;;;;20526:94;20549:44;20527:66;20549:44;;;;;1384:23526;20527:66;;:::i;20526:94::-;20224:10;20634:18;20107:22;1384:23526;;20062:28;20224:10;20062:28;:::i;1384:23526::-;20107:22;1384:23526;;;;;20634:18;20630:1430;;1384:23526;2557:1:50;;1808;2086:22;1384:23526:117;2006:109:50;2557:1;1384:23526:117;;20630:1430;20668:22;:29;:22;1384:23526;20668:22;;13798:4;1384:23526;;;;;;;;;20668:29;20416:19;1384:23526;20712:22;;;;1384:23526;20978:59;20908:11;1384:23526;20978:59;1384:23526;20978:40;1384:23526;;;;;:::i;:::-;20978:40;;:::i;:59::-;20587:4;;20224:10;;20978:59;;:::i;:::-;21476:22;21472:178;;20630:1430;21733:20;;21729:255;;20630:1430;1384:23526;;;;22003:46;;20416:19;1384:23526;;;20224:10;;;;22003:46;;:::i;:::-;;;;20630:1430;;;;;;;21729:255;1384:23526;;;;;;:::i;:::-;;;;689:66:62;;;;;;;21912:38:117;;;;;;;;;21952:16;21912:38;;;;;21729:255;21952:16;;;:::i;:::-;21729:255;;;;;;21912:38;;;;;;;-1:-1:-1;21912:38:117;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;21472:178;21616:18;1384:23526;;;;;:::i;:::-;21603:11;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;21616:18;;:::i;:::-;21472:178;;;20549:44;;;;;;;;;;;;;;;:::i;:::-;;;;;1384:23526;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;965:10:53;-1:-1:-1;;;;;1384:23526:117;;6484:23:45;1384:23526:117;;6588:7:45;1384:23526:117;;;6588:7:45;:::i;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;1384:23526:117;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;1384:23526:117;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;689:66:62;;;2993:17;;;;;;:::i;2906:504::-;1384:23526:117;;;;;;;;689:66:62;;;;;;;3046:52;;1384:23526:117;;3046:52:62;;-1:-1:-1;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;1384:23526:117;;-1:-1:-1;;;3262:56:62;;1384:23526:117;3262:56:62;1384:23526:117;3262:56:62;;;:::i;:::-;;;;3042:291;3389:9;3148:28;3140:82;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;1384:23526:117;3046:52:62;;;;;;;;;:::i;:::-;;;;;1384:23526:117;;:::i;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;19513:66;1384:23526;;;;;;:::i;:::-;19346:240;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;19437:25;1384:23526;19437:25;:::i;:::-;19472:26;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;;;;;19546:11;1384:23526;;;;;;;;;;;;;;19513:66;1384:23526;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1384:23526:117;6299:68;1384:23526;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;6924:107;1384:23526;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;6924:107;1384:23526;;;6924:107;1384:23526;;;;;6924:107;:::i;:::-;1384:23526;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;:::o;:::-;;;;;-1:-1:-1;;1384:23526:117;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;-1:-1:-1;;1384:23526:117;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;:::o;:::-;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;1384:23526:117;;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;689:66:62;;;2993:17;;;;;;:::i;2906:504::-;3046:52;1384:23526:117;;;;;;;689:66:62;;;;;;;3046:52;;1384:23526:117;;3046:52:62;;;;;;;2906:504;-1:-1:-1;3042:291:62;;1384:23526:117;;-1:-1:-1;;;3262:56:62;;1384:23526:117;3262:56:62;1384:23526:117;3262:56:62;;;:::i;3042:291::-;3389:9;3148:28;3140:82;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;;;;;;;;;;;:::i;:::-;;;;;1384:23526:117;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;-1:-1:-1;1384:23526:117;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;:::i;:::-;;;11867:16;1384:23526;;:::i;:::-;;11955:13;1384:23526;11963:4;1384:23526;;:::i;11955:13::-;1384:23526;11902:92;1384:23526;11970:23;1384:23526;;:::i;:::-;;;-1:-1:-1;;;1384:23526:117;11902:92;;;1384:23526;;;11902:92;;1384:23526;11902:92;;;:::i;:::-;;1384:23526;;11902:92;;;;;;:::i;:::-;1384:23526;;11825:183;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;11825:183:117;;;;;;12036:53;;-1:-1:-1;;;;;1384:23526:117;12036:53;:::i;:::-;1384:23526;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;2089:6:66;-1:-1:-1;;;;;1384:23526:117;2080:4:66;2072:23;1384:23526:117;;;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;2492:103:50;;;:::i;:::-;15074:1001:117;;:::i;:::-;1384:23526;15259:26;15203:10;15259:26;:::i;:::-;1384:23526;:::i;:::-;-1:-1:-1;15380:3:117;1384:23526;;15351:27;;;;;15523:49;:35;15538:19;;;;;:::i;:::-;1384:23526;-1:-1:-1;;;;;1384:23526:117;;;15523:49;1384:23526;;;;689:66:62;;;;;15523:72:117;;15203:10;-1:-1:-1;15203:10:117;15523:72;15203:10;;15523:72;;;;:::i;:::-;;;;;;;;;15380:3;15523:72;-1:-1:-1;15523:72:117;;;15380:3;15613:21;;15609:232;;15380:3;;;:::i;:::-;15336:13;;15609:232;15654:70;:50;:29;15203:10;15654:29;:::i;:::-;15684:19;;;;;:::i;:::-;15654:50;;:::i;:::-;1384:23526;;;15654:70;:::i;:::-;1384:23526;;15609:232;;;15523:72;;;;;;;;;;;;;;:::i;:::-;;;;15351:27;16025:43;;15351:27;15929:13;1384:23526;;15877:11;1384:23526;;:::i;:::-;15922:4;15203:10;;15929:13;;:::i;:::-;15953:40;:27;15203:10;15953:27;:::i;:::-;:40;:57;1384:23526;;;15953:57;:::i;:::-;1384:23526;;;;15203:10;;;;16025:43;;:::i;:::-;;;;2557:1:50;1808;2086:22;1384:23526:117;2006:109:50;1384:23526:117;;;;;;-1:-1:-1;;1384:23526:117;;;;5578:31;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:50;;;:::i;:::-;16218:1554:117;;:::i;:::-;16406:26;16349:10;16406:26;:::i;:::-;16482:40;;16349:10;16482:58;16349:10;;16482:27;16349:10;16482:27;:::i;:::-;:40;1384:23526;16482:58;:::i;:::-;16543:19;1384:23526;-1:-1:-1;16478:140:117;;16349:10;;;16660:15;16349:10;;1384:23526;16627:11;1384:23526;;:::i;:::-;16660:15;:::i;:::-;-1:-1:-1;16686:951:117;16482:40;;;16686:951;17720:45;;16349:10;;17646:27;16349:10;17646:27;:::i;:::-;:40;:59;1384:23526;;;17646:59;:::i;16735:3::-;1384:23526;;;;;;16706:27;;;;;;;1384:23526;16773:19;;;;:::i;:::-;1384:23526;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;16810:60;;;;:::i;:::-;;;;1384:23526;;;;;;689:66:62;;;;;16909:63:117;;16349:10;-1:-1:-1;16349:10:117;16909:63;16349:10;;;16909:63;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;16909:63;;;;;;;-1:-1:-1;16909:63:117;;;16806:804;16349:10;17013:50;:29;16349:10;17013:29;:::i;:::-;1384:23526;17043:19;;;;:::i;17013:50::-;1384:23526;;17085:31;;;;;;1384:23526;;-1:-1:-1;;;17147:57:117;;;;;1384:23526;;;;;;;;;;;;;3262:56:62;;;17081:259:117;16349:10;;;;;;;;16735:3;16349:10;17251:70;:50;:29;16349:10;17251:29;:::i;:::-;1384:23526;17281:19;;;;:::i;17251:50::-;1384:23526;;;17251:70;:::i;:::-;1384:23526;;16735:3;:::i;:::-;16691:13;;;;;;;16909:63;;;;;;;;;;;;;;;:::i;:::-;;;;;16806:804;17484:27;17586:8;16735:3;17484:27;;17445:67;1384:23526;17467:45;17484:27;;;;;;;:::i;:::-;17467:45;;:::i;1384:23526::-;17445:19;;;;:::i;:::-;:67;;:::i;:::-;17530:20;;;:::i;17586:8::-;16735:3;:::i;16706:27::-;;;;;;16478:140;1384:23526;;-1:-1:-1;;;16585:22:117;;;1384:23526;;;;;6435:98;1384:23526;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;6435:98;1384:23526;;;6435:98;1384:23526;;;;;6435:98;:::i;:::-;1384:23526;;;;;;;;;;;;;;:::i;:::-;2492:103:50;;:::i;:::-;24233:571:117;;:::i;:::-;24357:14;1384:23526;24358:13;1384:23526;;;;;24357:14;24353:68;;24434:18;20107:22;;1384:23526;20062:28;;;:::i;24434:18::-;24430:75;;24537:28;1384:23526;24537:28;-1:-1:-1;24537:28:117;;:::i;1384:23526::-;24599:7;;;:::i;:::-;24617:35;24624:28;;;:::i;:::-;1384:23526;24617:35;1384:23526;;;;;;;;;;;;24617:35;24702:19;24663:59;1384:23526;24663:20;1384:23526;24663:11;1384:23526;;:::i;24663:20::-;24702:19;;1384:23526;;;20107:22;1384:23526;689:66:62;;;;;;;;;24663:59:117;;;1384:23526;24663:59;;;:::i;:::-;;;;;;;;;;24737:60;24663:59;24737:60;24663:59;;;1384:23526;;;20107:22;1384:23526;24737:60;;;;;:::i;24663:59::-;;;24702:19;24663:59;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;24430:75;20107:22;1384:23526;-1:-1:-1;;;24475:19:117;;1384:23526;;24475:19;24353:68;1384:23526;;-1:-1:-1;;;24394:16:117;;1384:23526;;24394:16;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;5677:41;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5937:24;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;1324:62:47;;:::i;:::-;2779:6;1384:23526:117;;-1:-1:-1;;;;;;1384:23526:117;;;;;;;-1:-1:-1;;;;;1384:23526:117;-1:-1:-1;;;;;;;;;;;1384:23526:117;;2827:40:47;1384:23526:117;;;;;;;;-1:-1:-1;;1384:23526:117;;;;18793:229;;:::i;:::-;18912:4;1384:23526;;;-1:-1:-1;;;18912:20:117;;1384:23526;;;18912:20;;;1384:23526;;-1:-1:-1;;;;;1384:23526:117;-1:-1:-1;;1384:23526:117;;;;;;;;18912:20;;;;;;;19006:8;18912:20;1384:23526;18912:20;-1:-1:-1;18912:20:117;;;1384:23526;18912:29;;1384:23526;;18971:8;;;:::i;18912:20::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5768:25;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;18098:313;;:::i;:::-;18214:4;1384:23526;;;-1:-1:-1;;;18214:20:117;;1384:23526;;;18214:20;;;1384:23526;;-1:-1:-1;;1384:23526:117;;;;;;-1:-1:-1;;;;;1384:23526:117;18214:20;;;;;;1384:23526;;18214:20;18206:38;18214:20;-1:-1:-1;18214:20:117;;;1384:23526;18214:29;;1384:23526;;:::i;18206:38::-;18273:8;;;:::i;:::-;18296:60;;;:::i;:::-;18292:113;;1384:23526;18292:113;18385:8;;;:::i;18214:20::-;;;;;;;;;;;;:::i;:::-;;;;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1384:23526:117;6633:60;1384:23526;;;-1:-1:-1;1384:23526:117;;;;;6633:60;1384:23526;6633:60;1384:23526;6633:60;;1384:23526;6633:60;;1384:23526;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;5039:27;1384:23526;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;1534:6:47;1384:23526:117;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;3459:29:45;1384:23526:117;;;;;:::i;:::-;;;-1:-1:-1;1384:23526:117;3459:6:45;1384:23526:117;;;-1:-1:-1;1384:23526:117;3459:29:45;:::i;1384:23526:117:-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;4545:42;1384:23526;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;20107:22;1384:23526;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1384:23526:117;20062:19;1384:23526;;;;;-1:-1:-1;1384:23526:117;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;20107:22;1384:23526;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5405:26;1384:23526;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;19841:18;1384:23526;;-1:-1:-1;;;;;1384:23526:117;;;19827:10;:32;;;19823:89;;19641:39;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;;;;;;;;;;;;;;;;19730:34;;1384:23526;;19730:34;1384:23526;;19823:89;1384:23526;;-1:-1:-1;;;19882:19:117;;1384:23526;;19882:19;1384:23526;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1384:23526:117;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6153:30;1384:23526;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:50;;:::i;:::-;23424:7:117;23378:10;23424:7;:::i;:::-;23466;23378:10;23466:7;:::i;:::-;23378:10;1384:23526;23507:28;23378:10;23507:28;:::i;1384:23526::-;23545:35;23552:28;23378:10;23552:28;:::i;23545:35::-;1384:23526;23597:27;23378:10;23597:27;:::i;:::-;1384:23526;:::i;:::-;23665:19;23635:50;1384:23526;23635:20;1384:23526;23635:11;1384:23526;;:::i;23635:20::-;23665:19;;1384:23526;;;;;689:66:62;;;;;;;;;23635:50:117;;23378:10;1384:23526;23635:50;;;:::i;:::-;;;;;;;;;;23700:48;23635:50;23700:48;23635:50;;;1384:23526;;;;;23378:10;;;;23700:48;;:::i;:::-;;;;2557:1:50;1808;2086:22;1384:23526:117;2006:109:50;23635:50:117;;;23665:19;23635:50;;;;;;;;;:::i;:::-;;;;;4719:7;1384:23526;;;4719:7;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;1384:23526::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;4719:7;1384:23526;;;;;;;;;;;;;;;;;;;6068:27;1384:23526;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5837:7:45;1384:23526:117;;;;;;;:::i;:::-;;-1:-1:-1;1384:23526:117;4955:6:45;1384:23526:117;;2809:4:45;4955:22;1384:23526:117;-1:-1:-1;1384:23526:117;4955:22:45;1384:23526:117;2809:4:45;:::i;:::-;5837:7;:::i;1384:23526:117:-;;;;;;-1:-1:-1;;1384:23526:117;;;;6009:17;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;4719:7;1384:23526;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5856:25;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;3459:29:45;1384:23526:117;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;1384:23526:117;3459:6:45;1384:23526:117;;;-1:-1:-1;1384:23526:117;3459:29:45;:::i;1384:23526:117:-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;2423:22:47;1384:23526:117;;2517:8:47;;;:::i;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5489:30;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;1384:23526:117;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9094:2489;1384:23526;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;9094:2489;;:::i;3789:103:45:-;1384:23526:117;-1:-1:-1;1384:23526:117;3459:6:45;1384:23526:117;;;3459:29:45;965:10:53;1384:23526:117;-1:-1:-1;1384:23526:117;3459:29:45;:::i;:::-;1384:23526:117;;4260:23:45;4256:412;;3789:103;:::o;4256:412::-;965:10:53;2006:25:54;;;:::i;:::-;2041:15;;;;;:::i;:::-;;2066;;;;:::i;:::-;;1384:23526:117;2124:5:54;4719:7:117;2124:5:54;;;;4299:358:45;1384:23526:117;4351:274:45;2236:10:54;1384:23526:117;4554:49:45;2236:10:54;2228:55;2236:10;;2228:55;:::i;:::-;4554:49:45;:::i;:::-;1384:23526:117;;;4351:274:45;;;1384:23526:117;;4351:274:45;;1384:23526:117;;-1:-1:-1;;;1384:23526:117;;;;;;;;:::i;:::-;-1:-1:-1;;;1384:23526:117;;;;;;;4351:274:45;1384:23526:117;;4351:274:45;;;;;;:::i;:::-;1384:23526:117;;-1:-1:-1;;;4299:358:45;;1384:23526:117;;;;4299:358:45;;;:::i;2131:3:54:-;2171:11;2179:3;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;1384:23526:117;;2131:3:54;;:::i;:::-;2096:26;;1384:23526:117;;;;;;;;;;;;;:::i;:::-;;;:::o;7938:233:45:-;-1:-1:-1;;;;;;;;;;;;1384:23526:117;;;3459:6:45;1384:23526:117;;-1:-1:-1;1384:23526:117;3459:29:45;1384:23526:117;-1:-1:-1;;;;;;;;;;;3459:29:45;:::i;:::-;1384:23526:117;;8020:23:45;8016:149;;7938:233;;;:::o;8016:149::-;1384:23526:117;;;3459:6:45;1384:23526:117;;8059:29:45;1384:23526:117;;;;8059:29:45;:::i;:::-;1384:23526:117;;-1:-1:-1;;1384:23526:117;8091:4:45;1384:23526:117;;;965:10:53;;-1:-1:-1;;;;;1384:23526:117;;-1:-1:-1;;;;;;;;;;;8114:40:45;;;7938:233::o;8342:234::-;-1:-1:-1;1384:23526:117;;;;3459:6:45;1384:23526:117;;;3459:29:45;1384:23526:117;;;;3459:29:45;:::i;:::-;1384:23526:117;;8421:149:45;;8342:234;;;:::o;8421:149::-;1384:23526:117;;;3459:6:45;1384:23526:117;;8463:29:45;1384:23526:117;;;;8463:29:45;:::i;:::-;1384:23526:117;;-1:-1:-1;;1384:23526:117;;;965:10:53;;-1:-1:-1;;;;;1384:23526:117;;8519:40:45;;;;8342:234::o;1620:130:47:-;1534:6;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;965:10:53;1683:23:47;1384:23526:117;;1620:130:47:o;1384:23526:117:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;1384:23526:117;;-1:-1:-1;;;;;1384:23526:117;;;-1:-1:-1;;;;;;1384:23526:117;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;1384:23526:117:-;;2016:1:54;1384:23526:117;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;2073:1:54;1384:23526:117;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;1384:23526:117;;:::o;311:18:54:-;;;;:::o;:::-;;1384:23526:117;;;;;311:18:54;;;;;;;;;;;1384:23526:117;311:18:54;1384:23526:117;;;311:18:54;;1884:437;1384:23526:117;;;;;;:::i;:::-;;;;;;;;;;2041:15:54;;;;:::i;:::-;;2066;;;;:::i;:::-;;1384:23526:117;2091:128:54;2124:5;2073:1;2124:5;;;;2228:55;2236:10;;;2228:55;:::i;2131:3::-;2179;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;2131:3::-;2096:26;;;1384:23526:117;;;;:::o;:::-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;-1:-1:-1;;;1384:23526:117;;;;;;;689:66:62;;;;;;;;;;;:::o;:::-;1384:23526:117;;689:66:62;;;;;;;;;;;:::o;:::-;1384:23526:117;;-1:-1:-1;;;689:66:62;;;;;;;;;;;1384:23526:117;689:66:62;1384:23526:117;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;;;;;;;;;;;1384:23526:117;689:66:62;1384:23526:117;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;:::o;1406:259::-;1702:19:78;;:23;1384:23526:117;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;1406:259:62:o;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;2057:265:62;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;-1:-1:-1;;;;;;;;;;;1889:27:62;;;1384:23526:117;;2208:15:62;;;:28;;;2057:265;2204:112;;2057:265;;:::o;2204:112::-;7307:69:78;1384:23526:117;1889:27:62;1384:23526:117;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;7265:25:78;;;;;;;;;:::i;:::-;7307:69;;:::i;:::-;;2057:265:62:o;2208:28::-;;1384:23526:117;2208:28:62;;2057:265;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;-1:-1:-1;;;;;;;;;;;3321:1:66;;1889:27:62;1384:23526:117;;2208:15:62;;;:28;;;2204:112;;2057:265;;:::o;2208:28::-;;3321:1:66;2208:28:62;;1384:23526:117;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1384:23526:117;;;;:::o;:::-;;;:::o;7671:628:78:-;;;;7875:418;;;1384:23526:117;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;1384:23526:117;;8201:17:78;:::o;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;7875:418:78;1384:23526:117;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;1384:23526:117;;-1:-1:-1;;;9324:20:78;;1384:23526:117;;;9324:20:78;;;;;;:::i;3246:506:49:-;3302:13;1384:23526:117;;;;;;;3301:14:49;3347:34;;;;;;3246:506;3346:108;;;;3246:506;1384:23526:117;;;;3636:1:49;3536:16;;;1384:23526:117;;;3302:13:49;1384:23526:117;;;3302:13:49;1384:23526:117;;3536:16:49;3562:65;;3636:1;:::i;:::-;3647:99;;3246:506::o;3647:99::-;3681:21;1384:23526:117;;3302:13:49;1384:23526:117;;3302:13:49;1384:23526:117;;3681:21:49;1384:23526:117;;3551:1:49;1384:23526:117;;3721:14:49;;1384:23526:117;;;;3721:14:49;;;;3246:506::o;3562:65::-;3596:20;1384:23526:117;;;3302:13:49;1384:23526:117;;;3302:13:49;1384:23526:117;;3596:20:49;3636:1;:::i;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;3346:108:49;3426:4;1702:19:78;:23;;-1:-1:-1;1702:23:78;3387:66:49;;3346:108;;;;;3387:66;3452:1;1384:23526:117;;;;3436:17:49;3387:66;;;3347:34;3380:1;1384:23526:117;;;3365:16:49;;-1:-1:-1;3347:34:49;;1384:23526:117;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;10093:37;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;:::o;:::-;;;10140:42;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;10093:37;1384:23526;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1384:23526:117;;;;;10093:37;1384:23526;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;10140:42;1384:23526;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;10140:42;1384:23526;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;10676:1;1384:23526;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;-1:-1:-1;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1384:23526:117;;;;;;;;:::o;:::-;-1:-1:-1;;1384:23526:117;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;10093:37;1384:23526;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;1384:23526:117;;;;-1:-1:-1;1384:23526:117;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1384:23526:117;;;;-1:-1:-1;;;1384:23526:117;;;;11400:36;1384:23526;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;;-1:-1:-1;1384:23526:117;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;9094:2489::-;;1024:95:47;;:::i;:::-;1889:111:50;;:::i;:::-;2838:65:45;;:::i;:::-;9374:18:117;;:::i;:::-;9431:19;;;;;1384:23526;9423:28;;1384:23526;;;;:::i;9423:28::-;;:::i;:::-;9481:19;;;9462:39;;1384:23526;;;;:::i;9462:39::-;9530:12;1384:23526;;;;:::i;9530:12::-;9572:23;;;1384:23526;9572:23;1384:23526;;;;:::i;9572:23::-;9625:24;;;1384:23526;9625:24;1384:23526;;;;:::i;9625:24::-;9801:33;1384:23526;9665:20;;;1384:23526;;;9661:95;;9094:2489;9765:26;9772:19;1384:23526;;;;:::i;9772:19::-;9765:26;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;9765:26;1384:23526;;:::i;:::-;9801:33;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;9801:33;9848:27;;;;;1384:23526;;9848:32;9844:89;;1384:23526;10390:47;1384:23526;;10192:41;1384:23526;10336:43;1384:23526;10046:37;1384:23526;10062:21;1384:23526;10001:35;1384:23526;;9942:49;10300:26;1384:23526;;9942:49;1384:23526;;9942:49;1384:23526;10001:35;1384:23526;;;9481:19;1384:23526;;;;;;;;;;;;;;;10046:37;1384:23526;10109:21;;;;1384:23526;:::i;:::-;;10159:23;;;;1384:23526;:::i;:::-;10192:41;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;10192:41;10243:33;1384:23526;10257:19;;;1384:23526;;:::i;:::-;9481:19;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;10300:26;10286:40;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;10286:40;;1384:23526;;10336:43;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;10336:43;10390:47;:::i;:::-;10469:18;1384:23526;10469:16;1384:23526;9765:26;1384:23526;;:::i;10469:16::-;1384:23526;;-1:-1:-1;;;10469:18:117;;1384:23526;;;;;10469:18;;;;;;10448:40;10469:18;2365:4:45;10469:18:117;;;9094:2489;-1:-1:-1;10448:40:117;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;10448:40;2365:4:45;1384:23526:117;10587:20;1384:23526;10286:40;1384:23526;;:::i;10587:20::-;:32;;;:20;;10662:16;11020:74;10662:16;;:::i;:::-;10717:10;10692:35;10717:10;10692:35;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;10692:35;11020:74;11040:30;1384:23526;;11040:30;:::i;:::-;11020:74;;:::i;:::-;11104:67;11166:4;11104:67;11124:30;1384:23526;;11124:30;:::i;11104:67::-;11283:106;1384:23526;;11283:22;1384:23526;10448:40;1384:23526;;:::i;11283:22::-;689:66:62;11306:13:117;;;1384:23526;11336:16;;;2365:4:45;11336:16:117;;1384:23526;;689:66:62;;;;;;;;;;11283:106:117;;11166:4;11283:106;10469:18;11283:106;;;:::i;:::-;;;;;;;;;;11259:130;11447:50;11283:106;1384:23526;11283:106;11513:63;11283:106;2365:4:45;11283:106:117;;;10583:427;11259:130;;;1384:23526;;11259:130;1384:23526;:::i;:::-;11447:50;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;11447:50;11513:63;11259:130;1384:23526;11559:16;;1384:23526;;11513:63;;;;;:::i;11283:106::-;;;;;;-1:-1:-1;11283:106:117;;;;;;:::i;:::-;;;;;10583:427;1384:23526;;;;;;;;;689:66:62;;;10784:23:117;;;;10469:18;10784:23;;;;;;;;;;;;;10583:427;1384:23526;;10843:32;10857:17;1384:23526;;10857:17;:::i;:::-;10843:32;:::i;:::-;10894:13;2365:4:45;10928:3:117;1384:23526;;10909:17;;;;;10976:9;10951:34;10976:9;;10928:3;10976:9;;;:::i;:::-;10951:34;;;;:::i;10928:3::-;10894:13;;10909:17;;;;;;;;;11020:74;10909:17;10583:427;;10784:23;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;10469:18;;;;;;;;;;;;;;:::i;:::-;;;;9844:89;1384:23526;;-1:-1:-1;;;9903:19:117;;;;;9661:95;9725:19;1384:23526;9725:19;;;1384:23526;;:::i;9725:19::-;9661:95;;1384:23526;;;;:::o;:::-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;5328:125:49;5366:69;1384:23526:117;5374:13:49;1384:23526:117;;;;5366:69:49;:::i;7523:247:45:-;-1:-1:-1;;;;;;;;;;;2365:4:45;1384:23526:117;;;4955:6:45;1384:23526:117;;4955:22:45;1384:23526:117;;;;;;2365:4:45;;7711:52;2365:4;;7711:52;7523:247::o;5328:125:49:-;5366:69;1384:23526:117;5374:13:49;1384:23526:117;;;;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;5328:125:49:-;5366:69;1384:23526:117;5374:13:49;1384:23526:117;;;;5366:69:49;;;:::i;:::-;1808:1:50;2086:22;1384:23526:117;5328:125:49:o;8621:133:117:-;-1:-1:-1;;;;;1384:23526:117;8695:22;8691:56;;8621:133::o;8691:56::-;1384:23526;;-1:-1:-1;;;8726:21:117;;;;;1384:23526;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12501:14;1384:23526;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;-1:-1:-1;1384:23526:117;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;12384:1;1384:23526;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12102:653::-;;;;;4545:42;;-1:-1:-1;;;;;1384:23526:117;;12362:65;;12102:653;12603:19;;12436:20;1384:23526;;12384:1;1384:23526;;:::i;:::-;;12535:134;:33;1384:23526;12535:4;1384:23526;;:::i;12535:33::-;1384:23526;12603:19;12582:9;1384:23526;;;;12603:19;;;;;;;:::i;:::-;;1384:23526;;12603:19;;;;;;:::i;:::-;1384:23526;;;689:66:62;;;;;;;;;;12535:134:117;;;;;;:::i;:::-;;;;;;;;;;12685:63;12535:134;12384:1;12535:134;;;12102:653;12526:143;12685:63;12526:143;;1384:23526;;;12723:4;;;;12685:63;;;:::i;12535:134::-;12685:63;12535:134;;;;;12603:19;12535:134;;;;;;;;;:::i;:::-;;;;;12362:65;12402:14;;-1:-1:-1;12362:65:117;;1384:23526;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;:::i;:::-;;;:::o;:::-;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1384:23526:117;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;:::o;7919:156::-;1384:23526;;;;;;;;-1:-1:-1;1384:23526:117;20062:19;1384:23526;;;;20107:22;-1:-1:-1;1384:23526:117;20107:22;1384:23526;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20107:22;1384:23526;;;;;7994:75;;7919:156::o;8081:162::-;-1:-1:-1;;;;;1384:23526:117;-1:-1:-1;1384:23526:117;;;8157:17;1384:23526;;;;;;;;8156:29;8152:85;;8081:162::o;8152:85::-;1384:23526;;-1:-1:-1;;;8208:18:117;;;;;1384:23526;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;14643:425;;;1384:23526;;;;;;;;-1:-1:-1;1384:23526:117;14769:18;1384:23526;;;-1:-1:-1;1384:23526:117;-1:-1:-1;14855:3:117;1384:23526;;14826:27;;;;;;;14878:19;;;;:::i;:::-;1384:23526;;;;;;;;;;;;;14878:32;14874:178;;14855:3;;;;;;:::i;:::-;14811:13;;14874:178;-1:-1:-1;;1384:23526:117;;;;;;;14855:3;14952:45;;;;;;:::i;:::-;1384:23526;;;;;;;14930:19;;;;:::i;:::-;1384:23526;;;;;:::i;:::-;;;15015:20;;;:::i;:::-;14874:178;;;14826:27;;;;;;;14643:425::o;2601:287:50:-;1851:1;2733:7;1384:23526:117;2733:19:50;1851:1;;;2733:7;1384:23526:117;2601:287:50:o;1851:1::-;1384:23526:117;;-1:-1:-1;;;1851:1:50;;;;;;;;;;;1384:23526:117;1851:1:50;1384:23526:117;;;1851:1:50;;;;1355:203:75;;1482:68;1355:203;1482:68;;1355:203;1384:23526:117;;689:66:62;;;;;;1482:68:75;;;;;;;;:::i;:::-;;1384:23526:117;;1482:68:75;;;;;;:::i;:::-;;:::i;1384:23526:117:-;;;;;;;;;;;;;:::i;5173:642:75:-;1384:23526:117;;5535:69:78;;-1:-1:-1;;;;;1384:23526:117;;;;:::i;:::-;-1:-1:-1;1384:23526:117;;;;;;;;;;;5487:31:78;;;;;;;;;;;:::i;5535:69::-;1384:23526:117;;5705:22:75;;;;:56;;;;;5173:642;1384:23526:117;;;;;;5173:642:75;:::o;1384:23526:117:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;5705:56:75;5731:30;;-1:-1:-1;5731:30:75;;;;;;;:::i;:::-;5705:56;;;;;7770:143:117;7843:10;-1:-1:-1;1384:23526:117;20062:19;1384:23526;;20107:22;-1:-1:-1;1384:23526:117;;;20107:22;1384:23526;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;20107:22;1384:23526;;;;;;;7829:78;;7770:143::o;941:175:75:-;1050:58;;941:175;;1050:58;1384:23526:117;;689:66:62;;;;;;1050:58:75;;;;;;;;:::i;1349:282:83:-;1384:23526:117;;4592:71:83;;;;;1204:36:55;-1:-1:-1;1204:36:55;;;4592:71:83;;;;;;;;1384:23526:117;4592:71:83;;;;;;:::i;:::-;4784:212;;;;;;;;-1:-1:-1;4784:212:83;5013:29;;;;1349:282;5013:48;;;;1349:282;975:149;;;;1349:282;1543:81;;;;;;1536:88;1349:282;:::o;1543:81::-;1570:54;;;;:::i;975:149::-;1384:23526:117;;;;-1:-1:-1;1384:23526:117;;;;;4592:71:83;;;;;;1384:23526:117;;;4592:71:83;;;1384:23526:117;4592:71:83;;;;;;:::i;:::-;4784:212;;;-1:-1:-1;4784:212:83;;;;;5013:29;;975:149;5013:48;;;;;975:149;1059:65;;975:149;;;;;;5013:48;5046:15;;;;5013:48;;;:29;5024:18;;;-1:-1:-1;5013:29:83;;;;:48;5046:15;;;-1:-1:-1;5013:48:83;;;:29;5024:18;-1:-1:-1;5024:18:83;;-1:-1:-1;5013:29:83;;;4421:647;-1:-1:-1;4592:71:83;4421:647;1384:23526:117;;4592:71:83;;;1204:36:55;;;;4592:71:83;;16837:32:117;;;4592:71:83;;;1384:23526:117;4592:71:83;;;;;;:::i;:::-;4784:212;;;;-1:-1:-1;4784:212:83;;5013:29;;;4421:647;5013:48;;;;5006:55;4421:647;:::o;5013:48::-;5046:15;;;;4421:647;:::o;5013:29::-;4592:71;-1:-1:-1;5024:18:83;;-1:-1:-1;5013:29:83;;;1384:23526:117;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:66:62;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;689:66:62;1384:23526:117;;;;;689:66:62;1384:23526:117;;;;;:::o;7606:158::-;-1:-1:-1;;;;;;;;;;;;1384:23526:117;3459:6:45;1384:23526:117;;;3459:29:45;7685:10:117;-1:-1:-1;;;;;;;;;;;3459:29:45;:::i;:::-;1384:23526:117;;7660:36;7656:102;;7606:158::o;7656:102::-;1384:23526;;-1:-1:-1;;;7719:28:117;;7685:10;7719:28;;;1384:23526;;;7719:28;18543:244;-1:-1:-1;;;;;1384:23526:117;-1:-1:-1;1384:23526:117;;;18610:17;1384:23526;;;;;;;;;;;18606:85;;1384:23526;;;18753:27;1384:23526;-1:-1:-1;1384:23526:117;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;18753:27;18543:244::o;18606:85::-;1384:23526;;-1:-1:-1;;;18664:16:117;;;;;19028:186;1384:23526;19181:26;19028:186;19110:9;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;19161:5;1384:23526;;;19130:17;1384:23526;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;19181:26;19028:186::o;23761:466::-;;-1:-1:-1;1384:23526:117;;;;;;;;;;23866:18;1384:23526;;;;;;;;;:::i;:::-;23974:13;24018:3;1384:23526;;23989:27;;;;;24149:52;:35;24164:19;;;;;:::i;24149:52::-;:61;;;;;;1384:23526;;;689:66:62;;;;;24149:61:117;;;;;;;;;;;:::i;:::-;;;;;;;;;;24018:3;24149:61;;;24018:3;;:::i;:::-;23974:13;;24149:61;;;;;;:::i;:::-;;;:::i;:::-;;;;;1384:23526;;;23989:27;;;;;;;23761:466::o","linkReferences":{},"immutableReferences":{"55653":[{"start":4431,"length":32},{"start":5446,"length":32},{"start":6686,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"524e59e8","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"e16d0e32","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address),address)":"fa50f53d","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"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\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunityV0_0.sol\":\"RegistryCommunityV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc\",\"dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunityV0_0.sol":"RegistryCommunityV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304","urls":["bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc","dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53248,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53317,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":54050,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":52470,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)"},{"astId":52777,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":76992,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"collateralVaultTemplate","offset":0,"slot":"251","type":"t_address"},{"astId":77011,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registerStakeAmount","offset":0,"slot":"252","type":"t_uint256"},{"astId":77014,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityFee","offset":0,"slot":"253","type":"t_uint256"},{"astId":77017,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"cloneNonce","offset":0,"slot":"254","type":"t_uint256"},{"astId":77020,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"profileId","offset":0,"slot":"255","type":"t_bytes32"},{"astId":77023,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isKickEnabled","offset":0,"slot":"256","type":"t_bool"},{"astId":77026,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"feeReceiver","offset":1,"slot":"256","type":"t_address"},{"astId":77029,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registryFactory","offset":0,"slot":"257","type":"t_address"},{"astId":77032,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategyTemplate","offset":0,"slot":"258","type":"t_address"},{"astId":77035,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":77039,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":77043,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)56609"},{"astId":77047,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)79732"},{"astId":77051,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)79465"},{"astId":77054,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":77057,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":77062,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":77069,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":77075,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)77216_storage)"},{"astId":77081,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":77088,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":77092,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":78715,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)79465":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)56609":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)79732":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)77216_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunityV0_0.Member)","numberOfBytes":"32","value":"t_struct(Member)77216_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52465_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)77216_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_0.Member","numberOfBytes":"96","members":[{"astId":77211,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":77213,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":77215,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)52465_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52462,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52464,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","id":78717,"exportedSymbols":{"AccessControlUpgradeable":[52778],"CVStrategyV0_0":[75909],"Clone":[3002],"ERC165Checker":[58000],"ERC1967Proxy":[55102],"FAllo":[79465],"IAllo":[2610],"IERC20":[56609],"IPointStrategy":[72381],"IRegistry":[2802],"IRegistryFactory":[76172],"ISafe":[79732],"Metadata":[3098],"OwnableUpgradeable":[52984],"ReentrancyGuardUpgradeable":[53318],"RegistryCommunityV0_0":[78716],"SafeERC20":[57046],"StrategyStruct":[72503],"UUPSUpgradeable":[55753],"Upgrades":[61257]},"nodeType":"SourceUnit","src":"42:24869:117","nodes":[{"id":76768,"nodeType":"PragmaDirective","src":"42:24:117","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76770,"nodeType":"ImportDirective","src":"68:70:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":56610,"symbolAliases":[{"foreign":{"id":76769,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56609,"src":"76:6:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76772,"nodeType":"ImportDirective","src":"139:82:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":57047,"symbolAliases":[{"foreign":{"id":76771,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"147:9:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76774,"nodeType":"ImportDirective","src":"222:92:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":58001,"symbolAliases":[{"foreign":{"id":76773,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58000,"src":"230:13:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76776,"nodeType":"ImportDirective","src":"315:88:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":76775,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"323:15:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76778,"nodeType":"ImportDirective","src":"405:110:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":76777,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"413:18:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76780,"nodeType":"ImportDirective","src":"516:132:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":53319,"symbolAliases":[{"foreign":{"id":76779,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53318,"src":"524:26:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76782,"nodeType":"ImportDirective","src":"649:126:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":52779,"symbolAliases":[{"foreign":{"id":76781,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52778,"src":"657:24:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76784,"nodeType":"ImportDirective","src":"777:66:117","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":76783,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"785:5:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76786,"nodeType":"ImportDirective","src":"844:65:117","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":76785,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"852:5:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76789,"nodeType":"ImportDirective","src":"910:84:117","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":76787,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"918:9:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76788,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"929:8:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76791,"nodeType":"ImportDirective","src":"995:45:117","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","file":"./interfaces/FAllo.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":79466,"symbolAliases":[{"foreign":{"id":76790,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79465,"src":"1003:5:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76793,"nodeType":"ImportDirective","src":"1041:45:117","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"./interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":79749,"symbolAliases":[{"foreign":{"id":76792,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79732,"src":"1049:5:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76795,"nodeType":"ImportDirective","src":"1087:56:117","nodes":[],"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","file":"./IRegistryFactory.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":76173,"symbolAliases":[{"foreign":{"id":76794,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76172,"src":"1095:16:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76799,"nodeType":"ImportDirective","src":"1144:84:117","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","file":"./CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":75910,"symbolAliases":[{"foreign":{"id":76796,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75909,"src":"1152:14:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76797,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"1168:14:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76798,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"1184:14:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76801,"nodeType":"ImportDirective","src":"1230:66:117","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":61378,"symbolAliases":[{"foreign":{"id":76800,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61257,"src":"1238:8:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76803,"nodeType":"ImportDirective","src":"1298:84:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":78717,"sourceUnit":55103,"symbolAliases":[{"foreign":{"id":76802,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"1306:12:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78716,"nodeType":"ContractDefinition","src":"1384:23526:117","nodes":[{"id":76815,"nodeType":"EventDefinition","src":"1696:29:117","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"1702:7:117","parameters":{"id":76814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76813,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"1718:5:117","nodeType":"VariableDeclaration","scope":76815,"src":"1710:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76812,"name":"address","nodeType":"ElementaryTypeName","src":"1710:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1709:15:117"}},{"id":76819,"nodeType":"EventDefinition","src":"1730:36:117","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"1736:14:117","parameters":{"id":76818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76817,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"1759:5:117","nodeType":"VariableDeclaration","scope":76819,"src":"1751:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76816,"name":"address","nodeType":"ElementaryTypeName","src":"1751:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1750:15:117"}},{"id":76825,"nodeType":"EventDefinition","src":"1771:74:117","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"1777:24:117","parameters":{"id":76824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76821,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"1810:10:117","nodeType":"VariableDeclaration","scope":76825,"src":"1802:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76820,"name":"address","nodeType":"ElementaryTypeName","src":"1802:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76823,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"1830:13:117","nodeType":"VariableDeclaration","scope":76825,"src":"1822:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76822,"name":"address","nodeType":"ElementaryTypeName","src":"1822:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1801:43:117"}},{"id":76831,"nodeType":"EventDefinition","src":"1850:63:117","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"1856:16:117","parameters":{"id":76830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76827,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1881:7:117","nodeType":"VariableDeclaration","scope":76831,"src":"1873:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76826,"name":"address","nodeType":"ElementaryTypeName","src":"1873:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76829,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"1898:13:117","nodeType":"VariableDeclaration","scope":76831,"src":"1890:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76828,"name":"uint256","nodeType":"ElementaryTypeName","src":"1890:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1872:40:117"}},{"id":76837,"nodeType":"EventDefinition","src":"1918:67:117","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"1924:18:117","parameters":{"id":76836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76833,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1951:7:117","nodeType":"VariableDeclaration","scope":76837,"src":"1943:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76832,"name":"address","nodeType":"ElementaryTypeName","src":"1943:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76835,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"1968:15:117","nodeType":"VariableDeclaration","scope":76837,"src":"1960:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76834,"name":"uint256","nodeType":"ElementaryTypeName","src":"1960:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1942:42:117"}},{"id":76845,"nodeType":"EventDefinition","src":"1990:87:117","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"1996:12:117","parameters":{"id":76844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76839,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2017:7:117","nodeType":"VariableDeclaration","scope":76845,"src":"2009:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76838,"name":"address","nodeType":"ElementaryTypeName","src":"2009:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76841,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"2034:16:117","nodeType":"VariableDeclaration","scope":76845,"src":"2026:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76840,"name":"address","nodeType":"ElementaryTypeName","src":"2026:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76843,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"2060:15:117","nodeType":"VariableDeclaration","scope":76845,"src":"2052:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76842,"name":"uint256","nodeType":"ElementaryTypeName","src":"2052:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2008:68:117"}},{"id":76849,"nodeType":"EventDefinition","src":"2082:43:117","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"2088:19:117","parameters":{"id":76848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76847,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"2116:7:117","nodeType":"VariableDeclaration","scope":76849,"src":"2108:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76846,"name":"uint256","nodeType":"ElementaryTypeName","src":"2108:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2107:17:117"}},{"id":76858,"nodeType":"EventDefinition","src":"2130:89:117","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"2136:19:117","parameters":{"id":76857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76851,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"2164:10:117","nodeType":"VariableDeclaration","scope":76858,"src":"2156:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2156:7:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":76853,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"2183:14:117","nodeType":"VariableDeclaration","scope":76858,"src":"2176:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":76852,"name":"string","nodeType":"ElementaryTypeName","src":"2176:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":76856,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2208:9:117","nodeType":"VariableDeclaration","scope":76858,"src":"2199:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":76855,"nodeType":"UserDefinedTypeName","pathNode":{"id":76854,"name":"Metadata","nameLocations":["2199:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2199:8:117"},"referencedDeclaration":3098,"src":"2199:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2155:63:117"}},{"id":76862,"nodeType":"EventDefinition","src":"2224:39:117","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"2230:13:117","parameters":{"id":76861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76860,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2252:9:117","nodeType":"VariableDeclaration","scope":76862,"src":"2244:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76859,"name":"address","nodeType":"ElementaryTypeName","src":"2244:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2243:19:117"}},{"id":76866,"nodeType":"EventDefinition","src":"2268:41:117","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"2274:15:117","parameters":{"id":76865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76864,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2298:9:117","nodeType":"VariableDeclaration","scope":76866,"src":"2290:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76863,"name":"address","nodeType":"ElementaryTypeName","src":"2290:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2289:19:117"}},{"id":76874,"nodeType":"EventDefinition","src":"2314:93:117","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"2320:23:117","parameters":{"id":76873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76868,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2352:7:117","nodeType":"VariableDeclaration","scope":76874,"src":"2344:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76867,"name":"address","nodeType":"ElementaryTypeName","src":"2344:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76870,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2369:9:117","nodeType":"VariableDeclaration","scope":76874,"src":"2361:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76869,"name":"address","nodeType":"ElementaryTypeName","src":"2361:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76872,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"2388:17:117","nodeType":"VariableDeclaration","scope":76874,"src":"2380:25:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76871,"name":"uint256","nodeType":"ElementaryTypeName","src":"2380:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2343:63:117"}},{"id":76880,"nodeType":"EventDefinition","src":"2412:68:117","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"2418:25:117","parameters":{"id":76879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76876,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2452:7:117","nodeType":"VariableDeclaration","scope":76880,"src":"2444:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76875,"name":"address","nodeType":"ElementaryTypeName","src":"2444:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76878,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2469:9:117","nodeType":"VariableDeclaration","scope":76880,"src":"2461:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76877,"name":"address","nodeType":"ElementaryTypeName","src":"2461:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2443:36:117"}},{"id":76884,"nodeType":"EventDefinition","src":"2485:47:117","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"2491:20:117","parameters":{"id":76883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76882,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"2520:10:117","nodeType":"VariableDeclaration","scope":76884,"src":"2512:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76881,"name":"uint256","nodeType":"ElementaryTypeName","src":"2512:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2511:20:117"}},{"id":76890,"nodeType":"EventDefinition","src":"2537:67:117","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"2543:20:117","parameters":{"id":76889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76886,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2572:7:117","nodeType":"VariableDeclaration","scope":76890,"src":"2564:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76885,"name":"address","nodeType":"ElementaryTypeName","src":"2564:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76888,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"2589:13:117","nodeType":"VariableDeclaration","scope":76890,"src":"2581:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76887,"name":"uint256","nodeType":"ElementaryTypeName","src":"2581:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2563:40:117"}},{"id":76896,"nodeType":"EventDefinition","src":"2609:69:117","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"2615:20:117","parameters":{"id":76895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76892,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2644:7:117","nodeType":"VariableDeclaration","scope":76896,"src":"2636:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76891,"name":"address","nodeType":"ElementaryTypeName","src":"2636:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76894,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"2661:15:117","nodeType":"VariableDeclaration","scope":76896,"src":"2653:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76893,"name":"uint256","nodeType":"ElementaryTypeName","src":"2653:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2635:42:117"}},{"id":76909,"nodeType":"EventDefinition","src":"2683:110:117","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"2689:11:117","parameters":{"id":76908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76898,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"2709:7:117","nodeType":"VariableDeclaration","scope":76909,"src":"2701:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76897,"name":"uint256","nodeType":"ElementaryTypeName","src":"2701:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76900,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2726:9:117","nodeType":"VariableDeclaration","scope":76909,"src":"2718:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76899,"name":"address","nodeType":"ElementaryTypeName","src":"2718:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76902,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"2745:10:117","nodeType":"VariableDeclaration","scope":76909,"src":"2737:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76901,"name":"address","nodeType":"ElementaryTypeName","src":"2737:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76904,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"2765:6:117","nodeType":"VariableDeclaration","scope":76909,"src":"2757:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76903,"name":"address","nodeType":"ElementaryTypeName","src":"2757:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76907,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2782:9:117","nodeType":"VariableDeclaration","scope":76909,"src":"2773:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":76906,"nodeType":"UserDefinedTypeName","pathNode":{"id":76905,"name":"Metadata","nameLocations":["2773:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2773:8:117"},"referencedDeclaration":3098,"src":"2773:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2700:92:117"}},{"id":76911,"nodeType":"ErrorDefinition","src":"2979:28:117","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"2985:19:117","parameters":{"id":76910,"nodeType":"ParameterList","parameters":[],"src":"3004:2:117"}},{"id":76913,"nodeType":"ErrorDefinition","src":"3012:29:117","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3018:20:117","parameters":{"id":76912,"nodeType":"ParameterList","parameters":[],"src":"3038:2:117"}},{"id":76917,"nodeType":"ErrorDefinition","src":"3046:38:117","nodes":[],"errorSelector":"fc4be72f","name":"UserNotInCouncil","nameLocation":"3052:16:117","parameters":{"id":76916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76915,"mutability":"mutable","name":"_user","nameLocation":"3077:5:117","nodeType":"VariableDeclaration","scope":76917,"src":"3069:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76914,"name":"address","nodeType":"ElementaryTypeName","src":"3069:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3068:15:117"}},{"id":76919,"nodeType":"ErrorDefinition","src":"3089:26:117","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3095:17:117","parameters":{"id":76918,"nodeType":"ParameterList","parameters":[],"src":"3112:2:117"}},{"id":76921,"nodeType":"ErrorDefinition","src":"3120:30:117","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"3126:21:117","parameters":{"id":76920,"nodeType":"ParameterList","parameters":[],"src":"3147:2:117"}},{"id":76923,"nodeType":"ErrorDefinition","src":"3155:27:117","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"3161:18:117","parameters":{"id":76922,"nodeType":"ParameterList","parameters":[],"src":"3179:2:117"}},{"id":76925,"nodeType":"ErrorDefinition","src":"3187:29:117","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"3193:20:117","parameters":{"id":76924,"nodeType":"ParameterList","parameters":[],"src":"3213:2:117"}},{"id":76927,"nodeType":"ErrorDefinition","src":"3221:31:117","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"3227:22:117","parameters":{"id":76926,"nodeType":"ParameterList","parameters":[],"src":"3249:2:117"}},{"id":76929,"nodeType":"ErrorDefinition","src":"3257:23:117","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"3263:14:117","parameters":{"id":76928,"nodeType":"ParameterList","parameters":[],"src":"3277:2:117"}},{"id":76931,"nodeType":"ErrorDefinition","src":"3285:25:117","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"3291:16:117","parameters":{"id":76930,"nodeType":"ParameterList","parameters":[],"src":"3307:2:117"}},{"id":76933,"nodeType":"ErrorDefinition","src":"3315:26:117","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"3321:17:117","parameters":{"id":76932,"nodeType":"ParameterList","parameters":[],"src":"3338:2:117"}},{"id":76935,"nodeType":"ErrorDefinition","src":"3346:26:117","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"3352:17:117","parameters":{"id":76934,"nodeType":"ParameterList","parameters":[],"src":"3369:2:117"}},{"id":76937,"nodeType":"ErrorDefinition","src":"3377:26:117","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"3383:17:117","parameters":{"id":76936,"nodeType":"ParameterList","parameters":[],"src":"3400:2:117"}},{"id":76939,"nodeType":"ErrorDefinition","src":"3408:29:117","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"3414:20:117","parameters":{"id":76938,"nodeType":"ParameterList","parameters":[],"src":"3434:2:117"}},{"id":76941,"nodeType":"ErrorDefinition","src":"3442:23:117","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"3448:14:117","parameters":{"id":76940,"nodeType":"ParameterList","parameters":[],"src":"3462:2:117"}},{"id":76943,"nodeType":"ErrorDefinition","src":"3470:26:117","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"3476:17:117","parameters":{"id":76942,"nodeType":"ParameterList","parameters":[],"src":"3493:2:117"}},{"id":76945,"nodeType":"ErrorDefinition","src":"3501:29:117","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"3507:20:117","parameters":{"id":76944,"nodeType":"ParameterList","parameters":[],"src":"3527:2:117"}},{"id":76951,"nodeType":"ErrorDefinition","src":"3535:80:117","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"3541:25:117","parameters":{"id":76950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76947,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"3575:15:117","nodeType":"VariableDeclaration","scope":76951,"src":"3567:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76946,"name":"uint256","nodeType":"ElementaryTypeName","src":"3567:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76949,"mutability":"mutable","name":"_currentPower","nameLocation":"3600:13:117","nodeType":"VariableDeclaration","scope":76951,"src":"3592:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76948,"name":"uint256","nodeType":"ElementaryTypeName","src":"3592:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3566:48:117"}},{"id":76980,"nodeType":"StructDefinition","src":"3787:494:117","nodes":[],"canonicalName":"RegistryCommunityV0_0.InitializeParams","members":[{"constant":false,"id":76953,"mutability":"mutable","name":"_allo","nameLocation":"3829:5:117","nodeType":"VariableDeclaration","scope":76980,"src":"3821:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76952,"name":"address","nodeType":"ElementaryTypeName","src":"3821:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76956,"mutability":"mutable","name":"_gardenToken","nameLocation":"3851:12:117","nodeType":"VariableDeclaration","scope":76980,"src":"3844:19:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":76955,"nodeType":"UserDefinedTypeName","pathNode":{"id":76954,"name":"IERC20","nameLocations":["3844:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3844:6:117"},"referencedDeclaration":56609,"src":"3844:6:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":76958,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"3881:20:117","nodeType":"VariableDeclaration","scope":76980,"src":"3873:28:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76957,"name":"uint256","nodeType":"ElementaryTypeName","src":"3873:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76960,"mutability":"mutable","name":"_communityFee","nameLocation":"3919:13:117","nodeType":"VariableDeclaration","scope":76980,"src":"3911:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76959,"name":"uint256","nodeType":"ElementaryTypeName","src":"3911:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76962,"mutability":"mutable","name":"_nonce","nameLocation":"3950:6:117","nodeType":"VariableDeclaration","scope":76980,"src":"3942:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76961,"name":"uint256","nodeType":"ElementaryTypeName","src":"3942:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76964,"mutability":"mutable","name":"_registryFactory","nameLocation":"3974:16:117","nodeType":"VariableDeclaration","scope":76980,"src":"3966:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76963,"name":"address","nodeType":"ElementaryTypeName","src":"3966:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76966,"mutability":"mutable","name":"_feeReceiver","nameLocation":"4008:12:117","nodeType":"VariableDeclaration","scope":76980,"src":"4000:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76965,"name":"address","nodeType":"ElementaryTypeName","src":"4000:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76969,"mutability":"mutable","name":"_metadata","nameLocation":"4039:9:117","nodeType":"VariableDeclaration","scope":76980,"src":"4030:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":76968,"nodeType":"UserDefinedTypeName","pathNode":{"id":76967,"name":"Metadata","nameLocations":["4030:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4030:8:117"},"referencedDeclaration":3098,"src":"4030:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":76971,"mutability":"mutable","name":"_councilSafe","nameLocation":"4074:12:117","nodeType":"VariableDeclaration","scope":76980,"src":"4058:28:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":76970,"name":"address","nodeType":"ElementaryTypeName","src":"4058:15:117","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":76973,"mutability":"mutable","name":"_communityName","nameLocation":"4103:14:117","nodeType":"VariableDeclaration","scope":76980,"src":"4096:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":76972,"name":"string","nodeType":"ElementaryTypeName","src":"4096:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":76975,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"4132:14:117","nodeType":"VariableDeclaration","scope":76980,"src":"4127:19:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76974,"name":"bool","nodeType":"ElementaryTypeName","src":"4127:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76977,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"4163:16:117","nodeType":"VariableDeclaration","scope":76980,"src":"4156:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":76976,"name":"string","nodeType":"ElementaryTypeName","src":"4156:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":76979,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"4197:17:117","nodeType":"VariableDeclaration","scope":76980,"src":"4189:25:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76978,"name":"address","nodeType":"ElementaryTypeName","src":"4189:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3794:16:117","scope":78716,"visibility":"public"},{"id":76983,"nodeType":"UsingForDirective","src":"4287:32:117","nodes":[],"global":false,"libraryName":{"id":76981,"name":"ERC165Checker","nameLocations":["4293:13:117"],"nodeType":"IdentifierPath","referencedDeclaration":58000,"src":"4293:13:117"},"typeName":{"id":76982,"name":"address","nodeType":"ElementaryTypeName","src":"4311:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":76987,"nodeType":"UsingForDirective","src":"4324:27:117","nodes":[],"global":false,"libraryName":{"id":76984,"name":"SafeERC20","nameLocations":["4330:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":57046,"src":"4330:9:117"},"typeName":{"id":76986,"nodeType":"UserDefinedTypeName","pathNode":{"id":76985,"name":"IERC20","nameLocations":["4344:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"4344:6:117"},"referencedDeclaration":56609,"src":"4344:6:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}},{"id":76990,"nodeType":"UsingForDirective","src":"4356:24:117","nodes":[],"global":false,"libraryName":{"id":76988,"name":"Clone","nameLocations":["4362:5:117"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"4362:5:117"},"typeName":{"id":76989,"name":"address","nodeType":"ElementaryTypeName","src":"4372:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":76992,"nodeType":"VariableDeclaration","src":"4386:39:117","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"4402:23:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76991,"name":"address","nodeType":"ElementaryTypeName","src":"4386:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":76996,"nodeType":"VariableDeclaration","src":"4512:75:117","nodes":[],"constant":true,"documentation":{"id":76993,"nodeType":"StructuredDocumentation","src":"4432:75:117","text":"@notice The native address to represent native token eg: ETH in mainnet"},"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"4536:6:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76994,"name":"address","nodeType":"ElementaryTypeName","src":"4512:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":76995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4545:42:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":77002,"nodeType":"VariableDeclaration","src":"4677:49:117","nodes":[],"constant":true,"documentation":{"id":76997,"nodeType":"StructuredDocumentation","src":"4593:79:117","text":"@notice The precision scale used in the contract to avoid loss of precision"},"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"4701:15:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76998,"name":"uint256","nodeType":"ElementaryTypeName","src":"4677:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":77001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":76999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4719:2:117","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":77000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4725:1:117","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"4719:7:117","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":77008,"nodeType":"VariableDeclaration","src":"4801:54:117","nodes":[],"constant":true,"documentation":{"id":77003,"nodeType":"StructuredDocumentation","src":"4732:64:117","text":"@notice The maximum fee that can be charged to the community"},"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"4825:7:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77004,"name":"uint256","nodeType":"ElementaryTypeName","src":"4801:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":77005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4835:2:117","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77006,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77002,"src":"4840:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4835:20:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77011,"nodeType":"VariableDeclaration","src":"4928:34:117","nodes":[],"constant":false,"documentation":{"id":77009,"nodeType":"StructuredDocumentation","src":"4861:62:117","text":"@notice The amount of tokens required to register a member"},"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"4943:19:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77010,"name":"uint256","nodeType":"ElementaryTypeName","src":"4928:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77014,"nodeType":"VariableDeclaration","src":"5039:27:117","nodes":[],"constant":false,"documentation":{"id":77012,"nodeType":"StructuredDocumentation","src":"4968:66:117","text":"@notice The fee charged to the community for each registration"},"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"5054:12:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77013,"name":"uint256","nodeType":"ElementaryTypeName","src":"5039:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77017,"nodeType":"VariableDeclaration","src":"5133:25:117","nodes":[],"constant":false,"documentation":{"id":77015,"nodeType":"StructuredDocumentation","src":"5072:56:117","text":"@notice The nonce used to create new strategy clones"},"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"5148:10:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77016,"name":"uint256","nodeType":"ElementaryTypeName","src":"5133:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77020,"nodeType":"VariableDeclaration","src":"5232:24:117","nodes":[],"constant":false,"documentation":{"id":77018,"nodeType":"StructuredDocumentation","src":"5164:63:117","text":"@notice The profileId of the community in the Allo Registry"},"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"5247:9:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":77019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5232:7:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":77023,"nodeType":"VariableDeclaration","src":"5313:25:117","nodes":[],"constant":false,"documentation":{"id":77021,"nodeType":"StructuredDocumentation","src":"5262:46:117","text":"@notice Enable or disable the kick feature"},"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"5325:13:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77022,"name":"bool","nodeType":"ElementaryTypeName","src":"5313:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":77026,"nodeType":"VariableDeclaration","src":"5405:26:117","nodes":[],"constant":false,"documentation":{"id":77024,"nodeType":"StructuredDocumentation","src":"5345:55:117","text":"@notice The address that receives the community fee"},"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"5420:11:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77025,"name":"address","nodeType":"ElementaryTypeName","src":"5405:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":77029,"nodeType":"VariableDeclaration","src":"5489:30:117","nodes":[],"constant":false,"documentation":{"id":77027,"nodeType":"StructuredDocumentation","src":"5437:47:117","text":"@notice The address of the registry factory"},"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"5504:15:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77028,"name":"address","nodeType":"ElementaryTypeName","src":"5489:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":77032,"nodeType":"VariableDeclaration","src":"5578:31:117","nodes":[],"constant":false,"documentation":{"id":77030,"nodeType":"StructuredDocumentation","src":"5525:48:117","text":"@notice The address of the strategy template"},"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"5593:16:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77031,"name":"address","nodeType":"ElementaryTypeName","src":"5578:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":77035,"nodeType":"VariableDeclaration","src":"5677:41:117","nodes":[],"constant":false,"documentation":{"id":77033,"nodeType":"StructuredDocumentation","src":"5615:57:117","text":"@notice The address of the pending council safe owner"},"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"5700:18:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":77034,"name":"address","nodeType":"ElementaryTypeName","src":"5677:15:117","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":77039,"nodeType":"VariableDeclaration","src":"5768:25:117","nodes":[],"constant":false,"documentation":{"id":77036,"nodeType":"StructuredDocumentation","src":"5725:38:117","text":"@notice The Registry Allo contract"},"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"5785:8:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":77038,"nodeType":"UserDefinedTypeName","pathNode":{"id":77037,"name":"IRegistry","nameLocations":["5768:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5768:9:117"},"referencedDeclaration":2802,"src":"5768:9:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":77043,"nodeType":"VariableDeclaration","src":"5856:25:117","nodes":[],"constant":false,"documentation":{"id":77040,"nodeType":"StructuredDocumentation","src":"5799:52:117","text":"@notice The token used to stake in the community"},"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"5870:11:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":77042,"nodeType":"UserDefinedTypeName","pathNode":{"id":77041,"name":"IERC20","nameLocations":["5856:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"5856:6:117"},"referencedDeclaration":56609,"src":"5856:6:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"public"},{"id":77047,"nodeType":"VariableDeclaration","src":"5937:24:117","nodes":[],"constant":false,"documentation":{"id":77044,"nodeType":"StructuredDocumentation","src":"5887:45:117","text":"@notice The council safe contract address"},"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"5950:11:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"},"typeName":{"id":77046,"nodeType":"UserDefinedTypeName","pathNode":{"id":77045,"name":"ISafe","nameLocations":["5937:5:117"],"nodeType":"IdentifierPath","referencedDeclaration":79732,"src":"5937:5:117"},"referencedDeclaration":79732,"src":"5937:5:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}},"visibility":"public"},{"id":77051,"nodeType":"VariableDeclaration","src":"6009:17:117","nodes":[],"constant":false,"documentation":{"id":77048,"nodeType":"StructuredDocumentation","src":"5967:37:117","text":"@notice The Allo contract address"},"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"6022:4:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"},"typeName":{"id":77050,"nodeType":"UserDefinedTypeName","pathNode":{"id":77049,"name":"FAllo","nameLocations":["6009:5:117"],"nodeType":"IdentifierPath","referencedDeclaration":79465,"src":"6009:5:117"},"referencedDeclaration":79465,"src":"6009:5:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}},"visibility":"public"},{"id":77054,"nodeType":"VariableDeclaration","src":"6068:27:117","nodes":[],"constant":false,"documentation":{"id":77052,"nodeType":"StructuredDocumentation","src":"6033:30:117","text":"@notice The community name"},"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"6082:13:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":77053,"name":"string","nodeType":"ElementaryTypeName","src":"6068:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":77057,"nodeType":"VariableDeclaration","src":"6153:30:117","nodes":[],"constant":false,"documentation":{"id":77055,"nodeType":"StructuredDocumentation","src":"6101:47:117","text":"@notice The covenant IPFS hash of community"},"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"6167:16:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":77056,"name":"string","nodeType":"ElementaryTypeName","src":"6153:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":77062,"nodeType":"VariableDeclaration","src":"6299:68:117","nodes":[],"constant":false,"documentation":{"id":77058,"nodeType":"StructuredDocumentation","src":"6247:47:117","text":"@notice List of enabled/disabled strategies"},"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"6350:17:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":77061,"keyName":"strategy","keyNameLocation":"6315:8:117","keyType":{"id":77059,"name":"address","nodeType":"ElementaryTypeName","src":"6307:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6299:43:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"6332:9:117","valueType":{"id":77060,"name":"bool","nodeType":"ElementaryTypeName","src":"6327:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":77069,"nodeType":"VariableDeclaration","src":"6435:98:117","nodes":[],"constant":false,"documentation":{"id":77063,"nodeType":"StructuredDocumentation","src":"6373:57:117","text":"@notice Power points for each member in each strategy"},"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"6512:21:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":77068,"keyName":"strategy","keyNameLocation":"6451:8:117","keyType":{"id":77064,"name":"address","nodeType":"ElementaryTypeName","src":"6443:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6435:69:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77067,"keyName":"member","keyNameLocation":"6479:6:117","keyType":{"id":77065,"name":"address","nodeType":"ElementaryTypeName","src":"6471:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6463:40:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"6497:5:117","valueType":{"id":77066,"name":"uint256","nodeType":"ElementaryTypeName","src":"6489:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":77075,"nodeType":"VariableDeclaration","src":"6633:60:117","nodes":[],"constant":false,"documentation":{"id":77070,"nodeType":"StructuredDocumentation","src":"6539:89:117","text":"@notice Member information as the staked amount and if is registered in the community"},"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"6674:19:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"typeName":{"id":77074,"keyName":"member","keyNameLocation":"6649:6:117","keyType":{"id":77071,"name":"address","nodeType":"ElementaryTypeName","src":"6641:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6633:33:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77073,"nodeType":"UserDefinedTypeName","pathNode":{"id":77072,"name":"Member","nameLocations":["6659:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77216,"src":"6659:6:117"},"referencedDeclaration":77216,"src":"6659:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}}},"visibility":"public"},{"id":77081,"nodeType":"VariableDeclaration","src":"6764:82:117","nodes":[],"constant":false,"documentation":{"id":77076,"nodeType":"StructuredDocumentation","src":"6699:60:117","text":"@notice List of strategies for each member are activated"},"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"6828:18:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":77080,"keyName":"member","keyNameLocation":"6780:6:117","keyType":{"id":77077,"name":"address","nodeType":"ElementaryTypeName","src":"6772:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6764:56:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"6800:19:117","valueType":{"baseType":{"id":77078,"name":"address","nodeType":"ElementaryTypeName","src":"6790:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77079,"nodeType":"ArrayTypeName","src":"6790:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":77088,"nodeType":"VariableDeclaration","src":"6924:107:117","nodes":[],"constant":false,"documentation":{"id":77082,"nodeType":"StructuredDocumentation","src":"6852:67:117","text":"@notice Mapping to check if a member is activated in a strategy"},"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"7004:27:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":77087,"keyName":"member","keyNameLocation":"6940:6:117","keyType":{"id":77083,"name":"address","nodeType":"ElementaryTypeName","src":"6932:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6924:72:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77086,"keyName":"strategy","keyNameLocation":"6966:8:117","keyType":{"id":77084,"name":"address","nodeType":"ElementaryTypeName","src":"6958:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6950:45:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"6983:11:117","valueType":{"id":77085,"name":"bool","nodeType":"ElementaryTypeName","src":"6978:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":77092,"nodeType":"VariableDeclaration","src":"7124:24:117","nodes":[],"constant":false,"documentation":{"id":77089,"nodeType":"StructuredDocumentation","src":"7038:81:117","text":"@notice List of initial members to be added as pool managers in the Allo Pool"},"mutability":"mutable","name":"initialMembers","nameLocation":"7134:14:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":77090,"name":"address","nodeType":"ElementaryTypeName","src":"7124:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77091,"nodeType":"ArrayTypeName","src":"7124:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":77098,"nodeType":"VariableDeclaration","src":"7365:68:117","nodes":[],"constant":true,"documentation":{"id":77093,"nodeType":"StructuredDocumentation","src":"7320:40:117","text":"@notice Role to council safe members"},"functionSelector":"733a2d1f","mutability":"constant","name":"COUNCIL_MEMBER","nameLocation":"7389:14:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":77094,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7365:7:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d424552","id":77096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7416:16:117","typeDescriptions":{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""},"value":"COUNCIL_MEMBER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""}],"id":77095,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7406:9:117","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":77097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7406:27:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":77115,"nodeType":"FunctionDefinition","src":"7606:158:117","nodes":[],"body":{"id":77114,"nodeType":"Block","src":"7646:118:117","nodes":[],"statements":[{"condition":{"id":77106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7660:36:117","subExpression":{"arguments":[{"id":77102,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77098,"src":"7669:14:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":77103,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7685:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7689:6:117","memberName":"sender","nodeType":"MemberAccess","src":"7685:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77101,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"7661:7:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":77105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7661:35:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77113,"nodeType":"IfStatement","src":"7656:102:117","trueBody":{"id":77112,"nodeType":"Block","src":"7698:60:117","statements":[{"errorCall":{"arguments":[{"expression":{"id":77108,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7736:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7740:6:117","memberName":"sender","nodeType":"MemberAccess","src":"7736:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77107,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76917,"src":"7719:16:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7719:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77111,"nodeType":"RevertStatement","src":"7712:35:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"7615:15:117","parameters":{"id":77099,"nodeType":"ParameterList","parameters":[],"src":"7630:2:117"},"returnParameters":{"id":77100,"nodeType":"ParameterList","parameters":[],"src":"7646:0:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77129,"nodeType":"FunctionDefinition","src":"7770:143:117","nodes":[],"body":{"id":77128,"nodeType":"Block","src":"7819:94:117","nodes":[],"statements":[{"condition":{"id":77122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7833:21:117","subExpression":{"arguments":[{"expression":{"id":77119,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7843:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7847:6:117","memberName":"sender","nodeType":"MemberAccess","src":"7843:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77118,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78324,"src":"7834:8:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":77121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7834:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77127,"nodeType":"IfStatement","src":"7829:78:117","trueBody":{"id":77126,"nodeType":"Block","src":"7856:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77123,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76919,"src":"7877:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7877:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77125,"nodeType":"RevertStatement","src":"7870:26:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"7779:24:117","parameters":{"id":77116,"nodeType":"ParameterList","parameters":[],"src":"7803:2:117"},"returnParameters":{"id":77117,"nodeType":"ParameterList","parameters":[],"src":"7819:0:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77144,"nodeType":"FunctionDefinition","src":"7919:156:117","nodes":[],"body":{"id":77143,"nodeType":"Block","src":"7984:91:117","nodes":[],"statements":[{"condition":{"id":77137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7998:18:117","subExpression":{"arguments":[{"id":77135,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77131,"src":"8008:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77134,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78324,"src":"7999:8:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":77136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7999:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77142,"nodeType":"IfStatement","src":"7994:75:117","trueBody":{"id":77141,"nodeType":"Block","src":"8018:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77138,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76919,"src":"8039:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8039:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77140,"nodeType":"RevertStatement","src":"8032:26:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"7928:25:117","parameters":{"id":77132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77131,"mutability":"mutable","name":"_sender","nameLocation":"7962:7:117","nodeType":"VariableDeclaration","scope":77144,"src":"7954:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77130,"name":"address","nodeType":"ElementaryTypeName","src":"7954:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7953:17:117"},"returnParameters":{"id":77133,"nodeType":"ParameterList","parameters":[],"src":"7984:0:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77159,"nodeType":"FunctionDefinition","src":"8081:162:117","nodes":[],"body":{"id":77158,"nodeType":"Block","src":"8142:101:117","nodes":[],"statements":[{"condition":{"id":77152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8156:29:117","subExpression":{"baseExpression":{"id":77149,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77062,"src":"8157:17:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77151,"indexExpression":{"id":77150,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77146,"src":"8175:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8157:28:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77157,"nodeType":"IfStatement","src":"8152:85:117","trueBody":{"id":77156,"nodeType":"Block","src":"8187:50:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77153,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"8208:16:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8208:18:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77155,"nodeType":"RevertStatement","src":"8201:25:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"8090:19:117","parameters":{"id":77147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77146,"mutability":"mutable","name":"_strategy","nameLocation":"8118:9:117","nodeType":"VariableDeclaration","scope":77159,"src":"8110:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77145,"name":"address","nodeType":"ElementaryTypeName","src":"8110:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8109:19:117"},"returnParameters":{"id":77148,"nodeType":"ParameterList","parameters":[],"src":"8142:0:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77175,"nodeType":"FunctionDefinition","src":"8249:171:117","nodes":[],"body":{"id":77174,"nodeType":"Block","src":"8327:93:117","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77166,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77161,"src":"8341:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":77167,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77163,"src":"8352:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8341:20:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77173,"nodeType":"IfStatement","src":"8337:77:117","trueBody":{"id":77172,"nodeType":"Block","src":"8363:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77169,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76935,"src":"8384:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8384:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77171,"nodeType":"RevertStatement","src":"8377:26:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"8258:19:117","parameters":{"id":77164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77161,"mutability":"mutable","name":"_sender","nameLocation":"8286:7:117","nodeType":"VariableDeclaration","scope":77175,"src":"8278:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77160,"name":"address","nodeType":"ElementaryTypeName","src":"8278:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77163,"mutability":"mutable","name":"_strategy","nameLocation":"8303:9:117","nodeType":"VariableDeclaration","scope":77175,"src":"8295:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77162,"name":"address","nodeType":"ElementaryTypeName","src":"8295:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8277:36:117"},"returnParameters":{"id":77165,"nodeType":"ParameterList","parameters":[],"src":"8327:0:117"},"scope":78716,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":77193,"nodeType":"FunctionDefinition","src":"8426:189:117","nodes":[],"body":{"id":77192,"nodeType":"Block","src":"8491:124:117","nodes":[],"statements":[{"condition":{"id":77186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8505:51:117","subExpression":{"baseExpression":{"baseExpression":{"id":77180,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77088,"src":"8506:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77183,"indexExpression":{"expression":{"id":77181,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8534:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8538:6:117","memberName":"sender","nodeType":"MemberAccess","src":"8534:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8506:39:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77185,"indexExpression":{"id":77184,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77177,"src":"8546:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8506:50:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77191,"nodeType":"IfStatement","src":"8501:108:117","trueBody":{"id":77190,"nodeType":"Block","src":"8558:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77187,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76943,"src":"8579:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8579:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77189,"nodeType":"RevertStatement","src":"8572:26:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"8435:23:117","parameters":{"id":77178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77177,"mutability":"mutable","name":"_strategy","nameLocation":"8467:9:117","nodeType":"VariableDeclaration","scope":77193,"src":"8459:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77176,"name":"address","nodeType":"ElementaryTypeName","src":"8459:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8458:19:117"},"returnParameters":{"id":77179,"nodeType":"ParameterList","parameters":[],"src":"8491:0:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77209,"nodeType":"FunctionDefinition","src":"8621:133:117","nodes":[],"body":{"id":77208,"nodeType":"Block","src":"8681:73:117","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77198,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77195,"src":"8695:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":77201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8715:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8707:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77199,"name":"address","nodeType":"ElementaryTypeName","src":"8707:7:117","typeDescriptions":{}}},"id":77202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8707:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8695:22:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77207,"nodeType":"IfStatement","src":"8691:56:117","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77204,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76911,"src":"8726:19:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8726:21:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77206,"nodeType":"RevertStatement","src":"8719:28:117"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"8630:18:117","parameters":{"id":77196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77195,"mutability":"mutable","name":"_address","nameLocation":"8657:8:117","nodeType":"VariableDeclaration","scope":77209,"src":"8649:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77194,"name":"address","nodeType":"ElementaryTypeName","src":"8649:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8648:18:117"},"returnParameters":{"id":77197,"nodeType":"ParameterList","parameters":[],"src":"8681:0:117"},"scope":78716,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77216,"nodeType":"StructDefinition","src":"8925:102:117","nodes":[],"canonicalName":"RegistryCommunityV0_0.Member","members":[{"constant":false,"id":77211,"mutability":"mutable","name":"member","nameLocation":"8957:6:117","nodeType":"VariableDeclaration","scope":77216,"src":"8949:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77210,"name":"address","nodeType":"ElementaryTypeName","src":"8949:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77213,"mutability":"mutable","name":"stakedAmount","nameLocation":"8981:12:117","nodeType":"VariableDeclaration","scope":77216,"src":"8973:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77212,"name":"uint256","nodeType":"ElementaryTypeName","src":"8973:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77215,"mutability":"mutable","name":"isRegistered","nameLocation":"9008:12:117","nodeType":"VariableDeclaration","scope":77216,"src":"9003:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77214,"name":"bool","nodeType":"ElementaryTypeName","src":"9003:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"8932:6:117","scope":78716,"visibility":"public"},{"id":77220,"nodeType":"StructDefinition","src":"9033:55:117","nodes":[],"canonicalName":"RegistryCommunityV0_0.Strategies","members":[{"constant":false,"id":77219,"mutability":"mutable","name":"strategies","nameLocation":"9071:10:117","nodeType":"VariableDeclaration","scope":77220,"src":"9061:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77217,"name":"address","nodeType":"ElementaryTypeName","src":"9061:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77218,"nodeType":"ArrayTypeName","src":"9061:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"9040:10:117","scope":78716,"visibility":"public"},{"id":77494,"nodeType":"FunctionDefinition","src":"9094:2489:117","nodes":[],"body":{"id":77493,"nodeType":"Block","src":"9241:2342:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":77230,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"9251:14:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":77231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9251:16:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77232,"nodeType":"ExpressionStatement","src":"9251:16:117"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":77233,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53257,"src":"9277:22:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":77234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9277:24:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77235,"nodeType":"ExpressionStatement","src":"9277:24:117"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":77236,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52490,"src":"9311:20:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":77237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9311:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77238,"nodeType":"ExpressionStatement","src":"9311:22:117"},{"expression":{"arguments":[{"id":77240,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77098,"src":"9358:14:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":77241,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52473,"src":"9374:18:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":77239,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52709,"src":"9344:13:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":77242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9344:49:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77243,"nodeType":"ExpressionStatement","src":"9344:49:117"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":77247,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9431:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9438:12:117","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":76956,"src":"9431:19:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":77246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9423:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77245,"name":"address","nodeType":"ElementaryTypeName","src":"9423:7:117","typeDescriptions":{}}},"id":77249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9423:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77244,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"9404:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9404:48:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77251,"nodeType":"ExpressionStatement","src":"9404:48:117"},{"expression":{"arguments":[{"expression":{"id":77253,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9481:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9488:12:117","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":76971,"src":"9481:19:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":77252,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"9462:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9462:39:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77256,"nodeType":"ExpressionStatement","src":"9462:39:117"},{"expression":{"arguments":[{"expression":{"id":77258,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9530:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9537:5:117","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":76953,"src":"9530:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77257,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"9511:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9511:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77261,"nodeType":"ExpressionStatement","src":"9511:32:117"},{"expression":{"arguments":[{"expression":{"id":77263,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9572:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9579:16:117","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":76964,"src":"9572:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77262,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"9553:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9553:43:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77266,"nodeType":"ExpressionStatement","src":"9553:43:117"},{"expression":{"arguments":[{"expression":{"id":77268,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9625:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9632:17:117","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":76979,"src":"9625:24:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77267,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"9606:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9606:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77271,"nodeType":"ExpressionStatement","src":"9606:44:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77272,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9665:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9672:13:117","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":76960,"src":"9665:20:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":77274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9689:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9665:25:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77282,"nodeType":"IfStatement","src":"9661:95:117","trueBody":{"id":77281,"nodeType":"Block","src":"9692:64:117","statements":[{"expression":{"arguments":[{"expression":{"id":77277,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9725:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9732:12:117","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":76966,"src":"9725:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77276,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"9706:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9706:39:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77280,"nodeType":"ExpressionStatement","src":"9706:39:117"}]}},{"expression":{"id":77288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77283,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77051,"src":"9765:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":77285,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9778:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9785:5:117","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":76953,"src":"9778:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77284,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79465,"src":"9772:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$79465_$","typeString":"type(contract FAllo)"}},"id":77287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9772:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}},"src":"9765:26:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}},"id":77289,"nodeType":"ExpressionStatement","src":"9765:26:117"},{"expression":{"id":77293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77290,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77043,"src":"9801:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77291,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9815:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77292,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9822:12:117","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":76956,"src":"9815:19:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"src":"9801:33:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":77294,"nodeType":"ExpressionStatement","src":"9801:33:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77295,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9848:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9855:20:117","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":76958,"src":"9848:27:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9879:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9848:32:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77303,"nodeType":"IfStatement","src":"9844:89:117","trueBody":{"id":77302,"nodeType":"Block","src":"9882:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77299,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76937,"src":"9903:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9903:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77301,"nodeType":"RevertStatement","src":"9896:26:117"}]}},{"expression":{"id":77307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77304,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"9942:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77305,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"9964:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9971:20:117","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":76958,"src":"9964:27:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9942:49:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77308,"nodeType":"ExpressionStatement","src":"9942:49:117"},{"expression":{"id":77312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77309,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77014,"src":"10001:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77310,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"10016:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77311,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10023:13:117","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":76960,"src":"10016:20:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10001:35:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77313,"nodeType":"ExpressionStatement","src":"10001:35:117"},{"expression":{"id":77317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77314,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77023,"src":"10046:13:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77315,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"10062:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10069:14:117","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":76975,"src":"10062:21:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10046:37:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77318,"nodeType":"ExpressionStatement","src":"10046:37:117"},{"expression":{"id":77322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77319,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77054,"src":"10093:13:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77320,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"10109:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10116:14:117","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":76973,"src":"10109:21:117","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10093:37:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":77323,"nodeType":"ExpressionStatement","src":"10093:37:117"},{"expression":{"id":77327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77324,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77057,"src":"10140:16:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77325,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"10159:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10166:16:117","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":76977,"src":"10159:23:117","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10140:42:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":77328,"nodeType":"ExpressionStatement","src":"10140:42:117"},{"expression":{"id":77332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77329,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77029,"src":"10192:15:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77330,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"10210:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10217:16:117","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":76964,"src":"10210:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10192:41:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77333,"nodeType":"ExpressionStatement","src":"10192:41:117"},{"expression":{"id":77337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77334,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77026,"src":"10243:11:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77335,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"10257:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10264:12:117","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":76966,"src":"10257:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10243:33:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77338,"nodeType":"ExpressionStatement","src":"10243:33:117"},{"expression":{"id":77344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77339,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77047,"src":"10286:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":77341,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"10306:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10313:12:117","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":76971,"src":"10306:19:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":77340,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79732,"src":"10300:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$79732_$","typeString":"type(contract ISafe)"}},"id":77343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10300:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}},"src":"10286:40:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}},"id":77345,"nodeType":"ExpressionStatement","src":"10286:40:117"},{"expression":{"id":77349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77346,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77032,"src":"10336:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77347,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"10355:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10362:17:117","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":76979,"src":"10355:24:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10336:43:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77350,"nodeType":"ExpressionStatement","src":"10336:43:117"},{"expression":{"arguments":[{"id":77352,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77098,"src":"10401:14:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":77353,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"10417:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10424:12:117","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":76971,"src":"10417:19:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":77351,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"10390:10:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":77355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10390:47:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77356,"nodeType":"ExpressionStatement","src":"10390:47:117"},{"expression":{"id":77363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77357,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77039,"src":"10448:8:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77359,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77051,"src":"10469:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}},"id":77360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10474:11:117","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":79456,"src":"10469:16:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":77361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10469:18:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77358,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"10459:9:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":77362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10459:29:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"10448:40:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":77364,"nodeType":"ExpressionStatement","src":"10448:40:117"},{"assignments":[77369],"declarations":[{"constant":false,"id":77369,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"10516:19:117","nodeType":"VariableDeclaration","scope":77493,"src":"10499:36:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77367,"name":"address","nodeType":"ElementaryTypeName","src":"10499:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77368,"nodeType":"ArrayTypeName","src":"10499:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77370,"nodeType":"VariableDeclarationStatement","src":"10499:36:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":77373,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77047,"src":"10595:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":77372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10587:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77371,"name":"address","nodeType":"ElementaryTypeName","src":"10587:7:117","typeDescriptions":{}}},"id":77374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10587:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10608:4:117","memberName":"code","nodeType":"MemberAccess","src":"10587:25:117","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":77376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10613:6:117","memberName":"length","nodeType":"MemberAccess","src":"10587:32:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10623:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10587:37:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77436,"nodeType":"Block","src":"10744:266:117","statements":[{"assignments":[77399],"declarations":[{"constant":false,"id":77399,"mutability":"mutable","name":"owners","nameLocation":"10775:6:117","nodeType":"VariableDeclaration","scope":77436,"src":"10758:23:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77397,"name":"address","nodeType":"ElementaryTypeName","src":"10758:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77398,"nodeType":"ArrayTypeName","src":"10758:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77403,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77400,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77047,"src":"10784:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}},"id":77401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10796:9:117","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":79647,"src":"10784:21:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":77402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10784:23:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10758:49:117"},{"expression":{"id":77413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77404,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"10821:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77408,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77399,"src":"10857:6:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10864:6:117","memberName":"length","nodeType":"MemberAccess","src":"10857:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":77410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10873:1:117","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10857:17:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10843:13:117","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":77405,"name":"address","nodeType":"ElementaryTypeName","src":"10847:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77406,"nodeType":"ArrayTypeName","src":"10847:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":77412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10843:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"10821:54:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77414,"nodeType":"ExpressionStatement","src":"10821:54:117"},{"body":{"id":77434,"nodeType":"Block","src":"10933:67:117","statements":[{"expression":{"id":77432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77426,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"10951:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77428,"indexExpression":{"id":77427,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77416,"src":"10971:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10951:22:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":77429,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77399,"src":"10976:6:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77431,"indexExpression":{"id":77430,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77416,"src":"10983:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10976:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10951:34:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77433,"nodeType":"ExpressionStatement","src":"10951:34:117"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77419,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77416,"src":"10909:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":77420,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77399,"src":"10913:6:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10920:6:117","memberName":"length","nodeType":"MemberAccess","src":"10913:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10909:17:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77435,"initializationExpression":{"assignments":[77416],"declarations":[{"constant":false,"id":77416,"mutability":"mutable","name":"i","nameLocation":"10902:1:117","nodeType":"VariableDeclaration","scope":77435,"src":"10894:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77415,"name":"uint256","nodeType":"ElementaryTypeName","src":"10894:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77418,"initialValue":{"hexValue":"30","id":77417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10906:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10894:13:117"},"loopExpression":{"expression":{"id":77424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10928:3:117","subExpression":{"id":77423,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77416,"src":"10928:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77425,"nodeType":"ExpressionStatement","src":"10928:3:117"},"nodeType":"ForStatement","src":"10889:111:117"}]},"id":77437,"nodeType":"IfStatement","src":"10583:427:117","trueBody":{"id":77394,"nodeType":"Block","src":"10626:112:117","statements":[{"expression":{"id":77385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77379,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"10640:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":77383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10676:1:117","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":77382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10662:13:117","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":77380,"name":"address","nodeType":"ElementaryTypeName","src":"10666:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77381,"nodeType":"ArrayTypeName","src":"10666:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":77384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10662:16:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"10640:38:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77386,"nodeType":"ExpressionStatement","src":"10640:38:117"},{"expression":{"id":77392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77387,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"10692:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77389,"indexExpression":{"hexValue":"30","id":77388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10712:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10692:22:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77390,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10717:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10721:6:117","memberName":"sender","nodeType":"MemberAccess","src":"10717:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10692:35:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77393,"nodeType":"ExpressionStatement","src":"10692:35:117"}]}},{"expression":{"id":77448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77438,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"11020:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77443,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77439,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"11040:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11060:6:117","memberName":"length","nodeType":"MemberAccess","src":"11040:26:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":77441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11069:1:117","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11040:30:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11020:51:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77446,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77047,"src":"11082:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":77445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11074:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77444,"name":"address","nodeType":"ElementaryTypeName","src":"11074:7:117","typeDescriptions":{}}},"id":77447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11074:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11020:74:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77449,"nodeType":"ExpressionStatement","src":"11020:74:117"},{"expression":{"id":77460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77450,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"11104:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77455,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77451,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"11124:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11144:6:117","memberName":"length","nodeType":"MemberAccess","src":"11124:26:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":77453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11153:1:117","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11124:30:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11104:51:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77458,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11166:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":77457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11158:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77456,"name":"address","nodeType":"ElementaryTypeName","src":"11158:7:117","typeDescriptions":{}}},"id":77459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11158:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11104:67:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77461,"nodeType":"ExpressionStatement","src":"11104:67:117"},{"expression":{"id":77476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77462,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77020,"src":"11259:9:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":77465,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"11306:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11313:6:117","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":76962,"src":"11306:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77467,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77054,"src":"11321:13:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":77468,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"11336:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11343:9:117","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":76969,"src":"11336:16:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":77472,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11362:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":77471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11354:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77470,"name":"address","nodeType":"ElementaryTypeName","src":"11354:7:117","typeDescriptions":{}}},"id":77473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11354:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77474,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"11369:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":77463,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77039,"src":"11283:8:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":77464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11292:13:117","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"11283:22:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":77475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11283:106:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11259:130:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77477,"nodeType":"ExpressionStatement","src":"11259:130:117"},{"expression":{"id":77480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77478,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"11400:14:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77479,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77369,"src":"11417:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11400:36:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":77481,"nodeType":"ExpressionStatement","src":"11400:36:117"},{"expression":{"id":77484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77482,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76992,"src":"11447:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77483,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77225,"src":"11473:24:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11447:50:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77485,"nodeType":"ExpressionStatement","src":"11447:50:117"},{"eventCall":{"arguments":[{"id":77487,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77020,"src":"11533:9:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":77488,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77054,"src":"11544:13:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":77489,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"11559:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11566:9:117","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":76969,"src":"11559:16:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":77486,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76858,"src":"11513:19:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":77491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11513:63:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77492,"nodeType":"EmitStatement","src":"11508:68:117"}]},"functionSelector":"fa50f53d","implemented":true,"kind":"function","modifiers":[{"id":77228,"kind":"modifierInvocation","modifierName":{"id":77227,"name":"initializer","nameLocations":["9225:11:117"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"9225:11:117"},"nodeType":"ModifierInvocation","src":"9225:11:117"}],"name":"initialize","nameLocation":"9103:10:117","parameters":{"id":77226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77223,"mutability":"mutable","name":"params","nameLocation":"9160:6:117","nodeType":"VariableDeclaration","scope":77494,"src":"9114:52:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":77222,"nodeType":"UserDefinedTypeName","pathNode":{"id":77221,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["9114:21:117","9136:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":76980,"src":"9114:38:117"},"referencedDeclaration":76980,"src":"9114:38:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":77225,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"9176:24:117","nodeType":"VariableDeclaration","scope":77494,"src":"9168:32:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77224,"name":"address","nodeType":"ElementaryTypeName","src":"9168:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9113:88:117"},"returnParameters":{"id":77229,"nodeType":"ParameterList","parameters":[],"src":"9241:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77542,"nodeType":"FunctionDefinition","src":"11589:507:117","nodes":[],"body":{"id":77541,"nodeType":"Block","src":"11770:326:117","nodes":[],"statements":[{"assignments":[77510],"declarations":[{"constant":false,"id":77510,"mutability":"mutable","name":"strategyProxy","nameLocation":"11788:13:117","nodeType":"VariableDeclaration","scope":77541,"src":"11780:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77509,"name":"address","nodeType":"ElementaryTypeName","src":"11780:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77533,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":77518,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77032,"src":"11867:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11859:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77516,"name":"address","nodeType":"ElementaryTypeName","src":"11859:7:117","typeDescriptions":{}}},"id":77519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11859:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":77522,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75909,"src":"11925:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$75909_$","typeString":"type(contract CVStrategyV0_0)"}},"id":77523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11940:4:117","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":72816,"src":"11925:19:117","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address,address)"}},"id":77524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11945:8:117","memberName":"selector","nodeType":"MemberAccess","src":"11925:28:117","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":77527,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77051,"src":"11963:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}],"id":77526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11955:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77525,"name":"address","nodeType":"ElementaryTypeName","src":"11955:7:117","typeDescriptions":{}}},"id":77528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11955:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77529,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76992,"src":"11970:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77520,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11902:3:117","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":77521,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11906:18:117","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11902:22:117","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":77530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11902:92:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":77515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"11825:16:117","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55102_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":77514,"nodeType":"UserDefinedTypeName","pathNode":{"id":77513,"name":"ERC1967Proxy","nameLocations":["11829:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"11829:12:117"},"referencedDeclaration":55102,"src":"11829:12:117","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}},"id":77531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11825:183:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}],"id":77512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11804:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77511,"name":"address","nodeType":"ElementaryTypeName","src":"11804:7:117","typeDescriptions":{}}},"id":77532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11804:214:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11780:238:117"},{"expression":{"arguments":[{"id":77535,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77510,"src":"12047:13:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77536,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77496,"src":"12062:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77537,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77499,"src":"12070:7:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":77538,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77502,"src":"12079:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":77534,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[77542,77614],"referencedDeclaration":77614,"src":"12036:10:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$72502_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":77539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12036:53:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":77508,"id":77540,"nodeType":"Return","src":"12029:60:117"}]},"functionSelector":"524e59e8","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"11598:10:117","parameters":{"id":77503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77496,"mutability":"mutable","name":"_token","nameLocation":"11617:6:117","nodeType":"VariableDeclaration","scope":77542,"src":"11609:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77495,"name":"address","nodeType":"ElementaryTypeName","src":"11609:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77499,"mutability":"mutable","name":"_params","nameLocation":"11664:7:117","nodeType":"VariableDeclaration","scope":77542,"src":"11625:46:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77498,"nodeType":"UserDefinedTypeName","pathNode":{"id":77497,"name":"StrategyStruct.InitializeParams","nameLocations":["11625:14:117","11640:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"11625:31:117"},"referencedDeclaration":72502,"src":"11625:31:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":77502,"mutability":"mutable","name":"_metadata","nameLocation":"11689:9:117","nodeType":"VariableDeclaration","scope":77542,"src":"11673:25:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":77501,"nodeType":"UserDefinedTypeName","pathNode":{"id":77500,"name":"Metadata","nameLocations":["11673:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"11673:8:117"},"referencedDeclaration":3098,"src":"11673:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"11608:91:117"},"returnParameters":{"id":77508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77505,"mutability":"mutable","name":"poolId","nameLocation":"11740:6:117","nodeType":"VariableDeclaration","scope":77542,"src":"11732:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77504,"name":"uint256","nodeType":"ElementaryTypeName","src":"11732:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77507,"mutability":"mutable","name":"strategy","nameLocation":"11756:8:117","nodeType":"VariableDeclaration","scope":77542,"src":"11748:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77506,"name":"address","nodeType":"ElementaryTypeName","src":"11748:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11731:34:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77614,"nodeType":"FunctionDefinition","src":"12102:653:117","nodes":[],"body":{"id":77613,"nodeType":"Block","src":"12320:435:117","nodes":[],"statements":[{"assignments":[77560],"declarations":[{"constant":false,"id":77560,"mutability":"mutable","name":"token","nameLocation":"12338:5:117","nodeType":"VariableDeclaration","scope":77613,"src":"12330:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77559,"name":"address","nodeType":"ElementaryTypeName","src":"12330:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77562,"initialValue":{"id":77561,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76996,"src":"12346:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12330:22:117"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77563,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77546,"src":"12366:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":77566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12384:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12376:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77564,"name":"address","nodeType":"ElementaryTypeName","src":"12376:7:117","typeDescriptions":{}}},"id":77567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12376:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12366:20:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77574,"nodeType":"IfStatement","src":"12362:65:117","trueBody":{"id":77573,"nodeType":"Block","src":"12388:39:117","statements":[{"expression":{"id":77571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77569,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77560,"src":"12402:5:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77570,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77546,"src":"12410:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12402:14:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77572,"nodeType":"ExpressionStatement","src":"12402:14:117"}]}},{"expression":{"id":77577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77575,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77557,"src":"12436:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77576,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77544,"src":"12447:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12436:20:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77578,"nodeType":"ExpressionStatement","src":"12436:20:117"},{"assignments":[77583],"declarations":[{"constant":false,"id":77583,"mutability":"mutable","name":"_pool_managers","nameLocation":"12484:14:117","nodeType":"VariableDeclaration","scope":77613,"src":"12467:31:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77581,"name":"address","nodeType":"ElementaryTypeName","src":"12467:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77582,"nodeType":"ArrayTypeName","src":"12467:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77585,"initialValue":{"id":77584,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"12501:14:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12467:48:117"},{"expression":{"id":77600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77586,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77555,"src":"12526:6:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77589,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77020,"src":"12582:9:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":77590,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77557,"src":"12593:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77593,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77549,"src":"12614:7:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":77591,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12603:3:117","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":77592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12607:6:117","memberName":"encode","nodeType":"MemberAccess","src":"12603:10:117","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":77594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12603:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":77595,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77560,"src":"12624:5:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":77596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12631:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":77597,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77552,"src":"12634:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":77598,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77583,"src":"12645:14:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":77587,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77051,"src":"12535:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}},"id":77588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12540:28:117","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":79451,"src":"12535:33:117","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":77599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12535:134:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12526:143:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77601,"nodeType":"ExpressionStatement","src":"12526:143:117"},{"eventCall":{"arguments":[{"id":77603,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77555,"src":"12697:6:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77604,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77557,"src":"12705:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77607,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12723:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":77606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12715:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77605,"name":"address","nodeType":"ElementaryTypeName","src":"12715:7:117","typeDescriptions":{}}},"id":77608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12715:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77609,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77546,"src":"12730:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77610,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77552,"src":"12738:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":77602,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76909,"src":"12685:11:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":77611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12685:63:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77612,"nodeType":"EmitStatement","src":"12680:68:117"}]},"functionSelector":"e16d0e32","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"12111:10:117","parameters":{"id":77553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77544,"mutability":"mutable","name":"_strategy","nameLocation":"12139:9:117","nodeType":"VariableDeclaration","scope":77614,"src":"12131:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77543,"name":"address","nodeType":"ElementaryTypeName","src":"12131:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77546,"mutability":"mutable","name":"_token","nameLocation":"12166:6:117","nodeType":"VariableDeclaration","scope":77614,"src":"12158:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77545,"name":"address","nodeType":"ElementaryTypeName","src":"12158:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77549,"mutability":"mutable","name":"_params","nameLocation":"12221:7:117","nodeType":"VariableDeclaration","scope":77614,"src":"12182:46:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77548,"nodeType":"UserDefinedTypeName","pathNode":{"id":77547,"name":"StrategyStruct.InitializeParams","nameLocations":["12182:14:117","12197:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":72502,"src":"12182:31:117"},"referencedDeclaration":72502,"src":"12182:31:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72502_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":77552,"mutability":"mutable","name":"_metadata","nameLocation":"12254:9:117","nodeType":"VariableDeclaration","scope":77614,"src":"12238:25:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":77551,"nodeType":"UserDefinedTypeName","pathNode":{"id":77550,"name":"Metadata","nameLocations":["12238:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12238:8:117"},"referencedDeclaration":3098,"src":"12238:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12121:148:117"},"returnParameters":{"id":77558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77555,"mutability":"mutable","name":"poolId","nameLocation":"12294:6:117","nodeType":"VariableDeclaration","scope":77614,"src":"12286:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77554,"name":"uint256","nodeType":"ElementaryTypeName","src":"12286:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77557,"mutability":"mutable","name":"strategy","nameLocation":"12310:8:117","nodeType":"VariableDeclaration","scope":77614,"src":"12302:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77556,"name":"address","nodeType":"ElementaryTypeName","src":"12302:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12285:34:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77731,"nodeType":"FunctionDefinition","src":"12761:1179:117","nodes":[],"body":{"id":77730,"nodeType":"Block","src":"12838:1102:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":77622,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77616,"src":"12874:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77621,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77144,"src":"12848:25:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":77623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12848:34:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77624,"nodeType":"ExpressionStatement","src":"12848:34:117"},{"expression":{"arguments":[{"id":77626,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"12912:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77625,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77159,"src":"12892:19:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":77627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12892:30:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77628,"nodeType":"ExpressionStatement","src":"12892:30:117"},{"expression":{"arguments":[{"id":77630,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"12951:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77629,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"12932:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12932:29:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77632,"nodeType":"ExpressionStatement","src":"12932:29:117"},{"condition":{"baseExpression":{"baseExpression":{"id":77633,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77088,"src":"12976:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77635,"indexExpression":{"id":77634,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77616,"src":"13004:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12976:36:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77637,"indexExpression":{"id":77636,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"13013:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12976:47:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77642,"nodeType":"IfStatement","src":"12972:107:117","trueBody":{"id":77641,"nodeType":"Block","src":"13025:54:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77638,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76925,"src":"13046:20:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13046:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77640,"nodeType":"RevertStatement","src":"13039:29:117"}]}},{"assignments":[77645],"declarations":[{"constant":false,"id":77645,"mutability":"mutable","name":"member","nameLocation":"13103:6:117","nodeType":"VariableDeclaration","scope":77730,"src":"13089:20:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":77644,"nodeType":"UserDefinedTypeName","pathNode":{"id":77643,"name":"Member","nameLocations":["13089:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77216,"src":"13089:6:117"},"referencedDeclaration":77216,"src":"13089:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":77649,"initialValue":{"baseExpression":{"id":77646,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"13112:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":77648,"indexExpression":{"id":77647,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77616,"src":"13132:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13112:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13089:51:117"},{"assignments":[77651],"declarations":[{"constant":false,"id":77651,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"13159:17:117","nodeType":"VariableDeclaration","scope":77730,"src":"13151:25:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77650,"name":"uint256","nodeType":"ElementaryTypeName","src":"13151:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77654,"initialValue":{"expression":{"id":77652,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77645,"src":"13179:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":77653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13186:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"13179:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13151:47:117"},{"assignments":[77656],"declarations":[{"constant":false,"id":77656,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13216:16:117","nodeType":"VariableDeclaration","scope":77730,"src":"13208:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77655,"name":"uint256","nodeType":"ElementaryTypeName","src":"13208:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77658,"initialValue":{"id":77657,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"13235:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13208:46:117"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":77667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":77660,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"13284:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77659,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"13269:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}},"id":77661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13269:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72381","typeString":"contract IPointStrategy"}},"id":77662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13295:14:117","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":72380,"src":"13269:40:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$72390_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":77663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13269:42:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":77664,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"13315:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":77665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13330:11:117","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"13315:26:117","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":77666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13342:9:117","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":72389,"src":"13315:36:117","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"13269:82:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"},"id":77687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":77680,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"13473:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77679,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"13458:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}},"id":77681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13458:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72381","typeString":"contract IPointStrategy"}},"id":77682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13484:14:117","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":72380,"src":"13458:40:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$72390_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":77683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13458:42:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":77684,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72503,"src":"13504:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72503_$","typeString":"type(library StrategyStruct)"}},"id":77685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13519:11:117","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72390,"src":"13504:26:117","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72390_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":77686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13531:5:117","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":72386,"src":"13504:32:117","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72390","typeString":"enum StrategyStruct.PointSystem"}},"src":"13458:78:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77699,"nodeType":"IfStatement","src":"13454:195:117","trueBody":{"id":77698,"nodeType":"Block","src":"13538:111:117","statements":[{"expression":{"id":77696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77688,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77656,"src":"13552:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77693,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77616,"src":"13611:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77694,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77651,"src":"13620:17:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":77690,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"13586:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77689,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"13571:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}},"id":77691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13571:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72381","typeString":"contract IPointStrategy"}},"id":77692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13597:13:117","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":72365,"src":"13571:39:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":77695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13571:67:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13552:86:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77697,"nodeType":"ExpressionStatement","src":"13552:86:117"}]}},"id":77700,"nodeType":"IfStatement","src":"13265:384:117","trueBody":{"id":77678,"nodeType":"Block","src":"13353:95:117","statements":[{"expression":{"id":77676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77668,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77656,"src":"13367:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77673,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77616,"src":"13426:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":77674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13435:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":77670,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"13401:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77669,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"13386:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}},"id":77671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13386:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72381","typeString":"contract IPointStrategy"}},"id":77672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13412:13:117","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":72365,"src":"13386:39:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":77675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13386:51:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13367:70:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77677,"nodeType":"ExpressionStatement","src":"13367:70:117"}]}},{"expression":{"id":77707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77701,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77069,"src":"13659:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":77704,"indexExpression":{"id":77702,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77616,"src":"13681:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13659:30:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":77705,"indexExpression":{"id":77703,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"13690:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13659:41:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77706,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77656,"src":"13703:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13659:60:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77708,"nodeType":"ExpressionStatement","src":"13659:60:117"},{"expression":{"id":77715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77709,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77088,"src":"13748:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77712,"indexExpression":{"id":77710,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77616,"src":"13776:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13748:36:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77713,"indexExpression":{"id":77711,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"13785:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13748:47:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":77714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13798:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13748:54:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77716,"nodeType":"ExpressionStatement","src":"13748:54:117"},{"expression":{"arguments":[{"id":77721,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"13846:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":77717,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77081,"src":"13813:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":77719,"indexExpression":{"id":77718,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77616,"src":"13832:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13813:27:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":77720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13841:4:117","memberName":"push","nodeType":"MemberAccess","src":"13813:32:117","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":77722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13813:43:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77723,"nodeType":"ExpressionStatement","src":"13813:43:117"},{"eventCall":{"arguments":[{"id":77725,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77616,"src":"13896:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77726,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77618,"src":"13905:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77727,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77656,"src":"13916:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77724,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76874,"src":"13872:23:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":77728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13872:61:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77729,"nodeType":"EmitStatement","src":"13867:66:117"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[],"name":"activateMemberInStrategy","nameLocation":"12770:24:117","parameters":{"id":77619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77616,"mutability":"mutable","name":"_member","nameLocation":"12803:7:117","nodeType":"VariableDeclaration","scope":77731,"src":"12795:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77615,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77618,"mutability":"mutable","name":"_strategy","nameLocation":"12820:9:117","nodeType":"VariableDeclaration","scope":77731,"src":"12812:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77617,"name":"address","nodeType":"ElementaryTypeName","src":"12812:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12794:36:117"},"returnParameters":{"id":77620,"nodeType":"ParameterList","parameters":[],"src":"12838:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77790,"nodeType":"FunctionDefinition","src":"13946:691:117","nodes":[],"body":{"id":77789,"nodeType":"Block","src":"14025:612:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":77739,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77733,"src":"14061:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77738,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77144,"src":"14035:25:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":77740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14035:34:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77741,"nodeType":"ExpressionStatement","src":"14035:34:117"},{"expression":{"arguments":[{"id":77743,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77735,"src":"14098:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77742,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"14079:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14079:29:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77745,"nodeType":"ExpressionStatement","src":"14079:29:117"},{"expression":{"arguments":[{"expression":{"id":77747,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14138:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14142:6:117","memberName":"sender","nodeType":"MemberAccess","src":"14138:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77749,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77735,"src":"14150:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77746,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"14118:19:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":77750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14118:42:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77751,"nodeType":"ExpressionStatement","src":"14118:42:117"},{"condition":{"id":77757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14175:48:117","subExpression":{"baseExpression":{"baseExpression":{"id":77752,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77088,"src":"14176:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77754,"indexExpression":{"id":77753,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77733,"src":"14204:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14176:36:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77756,"indexExpression":{"id":77755,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77735,"src":"14213:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14176:47:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77762,"nodeType":"IfStatement","src":"14171:110:117","trueBody":{"id":77761,"nodeType":"Block","src":"14225:56:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77758,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76927,"src":"14246:22:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14246:24:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77760,"nodeType":"RevertStatement","src":"14239:31:117"}]}},{"expression":{"id":77769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77763,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77088,"src":"14291:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77766,"indexExpression":{"id":77764,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77733,"src":"14319:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14291:36:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77767,"indexExpression":{"id":77765,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77735,"src":"14328:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14291:47:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":77768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14341:5:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"14291:55:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77770,"nodeType":"ExpressionStatement","src":"14291:55:117"},{"expression":{"id":77777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77771,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77069,"src":"14356:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":77774,"indexExpression":{"id":77772,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77733,"src":"14378:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14356:30:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":77775,"indexExpression":{"id":77773,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77735,"src":"14387:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14356:41:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":77776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14400:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14356:45:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77778,"nodeType":"ExpressionStatement","src":"14356:45:117"},{"expression":{"arguments":[{"id":77780,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77733,"src":"14436:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77781,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77735,"src":"14445:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77779,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77843,"src":"14411:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":77782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14411:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77783,"nodeType":"ExpressionStatement","src":"14411:44:117"},{"eventCall":{"arguments":[{"id":77785,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77733,"src":"14611:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77786,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77735,"src":"14620:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77784,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76880,"src":"14585:25:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":77787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14585:45:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77788,"nodeType":"EmitStatement","src":"14580:50:117"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"13955:26:117","parameters":{"id":77736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77733,"mutability":"mutable","name":"_member","nameLocation":"13990:7:117","nodeType":"VariableDeclaration","scope":77790,"src":"13982:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77732,"name":"address","nodeType":"ElementaryTypeName","src":"13982:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77735,"mutability":"mutable","name":"_strategy","nameLocation":"14007:9:117","nodeType":"VariableDeclaration","scope":77790,"src":"13999:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77734,"name":"address","nodeType":"ElementaryTypeName","src":"13999:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13981:36:117"},"returnParameters":{"id":77737,"nodeType":"ParameterList","parameters":[],"src":"14025:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77843,"nodeType":"FunctionDefinition","src":"14643:425:117","nodes":[],"body":{"id":77842,"nodeType":"Block","src":"14722:346:117","nodes":[],"statements":[{"assignments":[77801],"declarations":[{"constant":false,"id":77801,"mutability":"mutable","name":"memberStrategies","nameLocation":"14750:16:117","nodeType":"VariableDeclaration","scope":77842,"src":"14732:34:117","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77799,"name":"address","nodeType":"ElementaryTypeName","src":"14732:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77800,"nodeType":"ArrayTypeName","src":"14732:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77805,"initialValue":{"baseExpression":{"id":77802,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77081,"src":"14769:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":77804,"indexExpression":{"id":77803,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77792,"src":"14788:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14769:27:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14732:64:117"},{"body":{"id":77840,"nodeType":"Block","src":"14860:202:117","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":77817,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77801,"src":"14878:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77819,"indexExpression":{"id":77818,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"14895:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14878:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":77820,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77794,"src":"14901:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14878:32:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77839,"nodeType":"IfStatement","src":"14874:178:117","trueBody":{"id":77838,"nodeType":"Block","src":"14912:140:117","statements":[{"expression":{"id":77831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77822,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77801,"src":"14930:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77824,"indexExpression":{"id":77823,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"14947:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14930:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":77825,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77801,"src":"14952:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77830,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77826,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77801,"src":"14969:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14986:6:117","memberName":"length","nodeType":"MemberAccess","src":"14969:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":77828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14995:1:117","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14969:27:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14952:45:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14930:67:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77832,"nodeType":"ExpressionStatement","src":"14930:67:117"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77833,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77801,"src":"15015:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15032:3:117","memberName":"pop","nodeType":"MemberAccess","src":"15015:20:117","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":77836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15015:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77837,"nodeType":"ExpressionStatement","src":"15015:22:117"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77810,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"14826:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":77811,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77801,"src":"14830:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14847:6:117","memberName":"length","nodeType":"MemberAccess","src":"14830:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14826:27:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77841,"initializationExpression":{"assignments":[77807],"declarations":[{"constant":false,"id":77807,"mutability":"mutable","name":"i","nameLocation":"14819:1:117","nodeType":"VariableDeclaration","scope":77841,"src":"14811:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77806,"name":"uint256","nodeType":"ElementaryTypeName","src":"14811:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77809,"initialValue":{"hexValue":"30","id":77808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14823:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14811:13:117"},"loopExpression":{"expression":{"id":77815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14855:3:117","subExpression":{"id":77814,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"14855:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77816,"nodeType":"ExpressionStatement","src":"14855:3:117"},"nodeType":"ForStatement","src":"14806:256:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"14652:24:117","parameters":{"id":77795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77792,"mutability":"mutable","name":"_member","nameLocation":"14685:7:117","nodeType":"VariableDeclaration","scope":77843,"src":"14677:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77791,"name":"address","nodeType":"ElementaryTypeName","src":"14677:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77794,"mutability":"mutable","name":"_strategy","nameLocation":"14702:9:117","nodeType":"VariableDeclaration","scope":77843,"src":"14694:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77793,"name":"address","nodeType":"ElementaryTypeName","src":"14694:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14676:36:117"},"returnParameters":{"id":77796,"nodeType":"ParameterList","parameters":[],"src":"14722:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77934,"nodeType":"FunctionDefinition","src":"15074:1001:117","nodes":[],"body":{"id":77933,"nodeType":"Block","src":"15140:935:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":77850,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77129,"src":"15150:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":77851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15150:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77852,"nodeType":"ExpressionStatement","src":"15150:26:117"},{"assignments":[77854],"declarations":[{"constant":false,"id":77854,"mutability":"mutable","name":"member","nameLocation":"15194:6:117","nodeType":"VariableDeclaration","scope":77933,"src":"15186:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77853,"name":"address","nodeType":"ElementaryTypeName","src":"15186:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77857,"initialValue":{"expression":{"id":77855,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15203:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15207:6:117","memberName":"sender","nodeType":"MemberAccess","src":"15203:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15186:27:117"},{"assignments":[77862],"declarations":[{"constant":false,"id":77862,"mutability":"mutable","name":"memberStrategies","nameLocation":"15240:16:117","nodeType":"VariableDeclaration","scope":77933,"src":"15223:33:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77860,"name":"address","nodeType":"ElementaryTypeName","src":"15223:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77861,"nodeType":"ArrayTypeName","src":"15223:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77866,"initialValue":{"baseExpression":{"id":77863,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77081,"src":"15259:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":77865,"indexExpression":{"id":77864,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77854,"src":"15278:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15259:26:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15223:62:117"},{"assignments":[77868],"declarations":[{"constant":false,"id":77868,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"15304:16:117","nodeType":"VariableDeclaration","scope":77933,"src":"15296:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77867,"name":"uint256","nodeType":"ElementaryTypeName","src":"15296:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77869,"nodeType":"VariableDeclarationStatement","src":"15296:24:117"},{"body":{"id":77908,"nodeType":"Block","src":"15385:482:117","statements":[{"expression":{"id":77891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77881,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77868,"src":"15504:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77888,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77854,"src":"15573:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77889,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77845,"src":"15581:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":77883,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77862,"src":"15538:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77885,"indexExpression":{"id":77884,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77871,"src":"15555:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15538:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77882,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"15523:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}},"id":77886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15523:35:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72381","typeString":"contract IPointStrategy"}},"id":77887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15559:13:117","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":72365,"src":"15523:49:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":77890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15523:72:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15504:91:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77892,"nodeType":"ExpressionStatement","src":"15504:91:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77893,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77868,"src":"15613:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":77894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15633:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15613:21:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77907,"nodeType":"IfStatement","src":"15609:232:117","trueBody":{"id":77906,"nodeType":"Block","src":"15636:205:117","statements":[{"expression":{"id":77904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77896,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77069,"src":"15654:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":77901,"indexExpression":{"id":77897,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77854,"src":"15676:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15654:29:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":77902,"indexExpression":{"baseExpression":{"id":77898,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77862,"src":"15684:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77900,"indexExpression":{"id":77899,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77871,"src":"15701:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15684:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15654:50:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":77903,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77868,"src":"15708:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15654:70:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77905,"nodeType":"ExpressionStatement","src":"15654:70:117"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77874,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77871,"src":"15351:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":77875,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77862,"src":"15355:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15372:6:117","memberName":"length","nodeType":"MemberAccess","src":"15355:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15351:27:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77909,"initializationExpression":{"assignments":[77871],"declarations":[{"constant":false,"id":77871,"mutability":"mutable","name":"i","nameLocation":"15344:1:117","nodeType":"VariableDeclaration","scope":77909,"src":"15336:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77870,"name":"uint256","nodeType":"ElementaryTypeName","src":"15336:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77873,"initialValue":{"hexValue":"30","id":77872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15348:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15336:13:117"},"loopExpression":{"expression":{"id":77879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15380:3:117","subExpression":{"id":77878,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77871,"src":"15380:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77880,"nodeType":"ExpressionStatement","src":"15380:3:117"},"nodeType":"ForStatement","src":"15331:536:117"},{"expression":{"arguments":[{"id":77913,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77854,"src":"15906:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77916,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15922:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":77915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15914:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77914,"name":"address","nodeType":"ElementaryTypeName","src":"15914:7:117","typeDescriptions":{}}},"id":77917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15914:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77918,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77845,"src":"15929:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77910,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77043,"src":"15877:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":77912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15889:16:117","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":56730,"src":"15877:28:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":77919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15877:66:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77920,"nodeType":"ExpressionStatement","src":"15877:66:117"},{"expression":{"id":77926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":77921,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"15953:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":77923,"indexExpression":{"id":77922,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77854,"src":"15973:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15953:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":77924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15981:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"15953:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":77925,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77845,"src":"15997:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15953:57:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77927,"nodeType":"ExpressionStatement","src":"15953:57:117"},{"eventCall":{"arguments":[{"id":77929,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77854,"src":"16046:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77930,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77845,"src":"16054:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77928,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76890,"src":"16025:20:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":77931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16025:43:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77932,"nodeType":"EmitStatement","src":"16020:48:117"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":77848,"kind":"modifierInvocation","modifierName":{"id":77847,"name":"nonReentrant","nameLocations":["15127:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"15127:12:117"},"nodeType":"ModifierInvocation","src":"15127:12:117"}],"name":"increasePower","nameLocation":"15083:13:117","parameters":{"id":77846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77845,"mutability":"mutable","name":"_amountStaked","nameLocation":"15105:13:117","nodeType":"VariableDeclaration","scope":77934,"src":"15097:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77844,"name":"uint256","nodeType":"ElementaryTypeName","src":"15097:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15096:23:117"},"returnParameters":{"id":77849,"nodeType":"ParameterList","parameters":[],"src":"15140:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78084,"nodeType":"FunctionDefinition","src":"16218:1554:117","nodes":[],"body":{"id":78083,"nodeType":"Block","src":"16286:1486:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":77941,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77129,"src":"16296:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":77942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16296:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77943,"nodeType":"ExpressionStatement","src":"16296:26:117"},{"assignments":[77945],"declarations":[{"constant":false,"id":77945,"mutability":"mutable","name":"member","nameLocation":"16340:6:117","nodeType":"VariableDeclaration","scope":78083,"src":"16332:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77944,"name":"address","nodeType":"ElementaryTypeName","src":"16332:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77948,"initialValue":{"expression":{"id":77946,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16349:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16353:6:117","memberName":"sender","nodeType":"MemberAccess","src":"16349:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16332:27:117"},{"assignments":[77953],"declarations":[{"constant":false,"id":77953,"mutability":"mutable","name":"memberStrategies","nameLocation":"16387:16:117","nodeType":"VariableDeclaration","scope":78083,"src":"16369:34:117","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77951,"name":"address","nodeType":"ElementaryTypeName","src":"16369:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77952,"nodeType":"ArrayTypeName","src":"16369:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77957,"initialValue":{"baseExpression":{"id":77954,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77081,"src":"16406:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":77956,"indexExpression":{"id":77955,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77945,"src":"16425:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16406:26:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16369:63:117"},{"assignments":[77959],"declarations":[{"constant":false,"id":77959,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"16451:16:117","nodeType":"VariableDeclaration","scope":78083,"src":"16443:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77958,"name":"uint256","nodeType":"ElementaryTypeName","src":"16443:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77960,"nodeType":"VariableDeclarationStatement","src":"16443:24:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":77961,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"16482:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":77963,"indexExpression":{"id":77962,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77945,"src":"16502:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16482:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":77964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16510:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"16482:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77965,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77936,"src":"16525:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16482:58:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77967,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"16543:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16482:80:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77973,"nodeType":"IfStatement","src":"16478:140:117","trueBody":{"id":77972,"nodeType":"Block","src":"16564:54:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77969,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76945,"src":"16585:20:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16585:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77971,"nodeType":"RevertStatement","src":"16578:29:117"}]}},{"expression":{"arguments":[{"id":77977,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77945,"src":"16652:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77978,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77936,"src":"16660:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77974,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77043,"src":"16627:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":77976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16639:12:117","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56703,"src":"16627:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,uint256)"}},"id":77979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16627:49:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77980,"nodeType":"ExpressionStatement","src":"16627:49:117"},{"body":{"id":78069,"nodeType":"Block","src":"16740:897:117","statements":[{"assignments":[77993],"declarations":[{"constant":false,"id":77993,"mutability":"mutable","name":"strategy","nameLocation":"16762:8:117","nodeType":"VariableDeclaration","scope":78069,"src":"16754:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77992,"name":"address","nodeType":"ElementaryTypeName","src":"16754:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77997,"initialValue":{"baseExpression":{"id":77994,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77953,"src":"16773:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77996,"indexExpression":{"id":77995,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77982,"src":"16790:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16773:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16754:38:117"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":78001,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"16842:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}],"id":78000,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16837:4:117","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16837:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72381","typeString":"type(contract IPointStrategy)"}},"id":78003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16858:11:117","memberName":"interfaceId","nodeType":"MemberAccess","src":"16837:32:117","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":77998,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77993,"src":"16810:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16819:17:117","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57856,"src":"16810:26:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":78004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16810:60:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78067,"nodeType":"Block","src":"17360:250:117","statements":[{"expression":{"id":78056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":78047,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77953,"src":"17445:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78049,"indexExpression":{"id":78048,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77982,"src":"17462:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17445:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":78050,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77953,"src":"17467:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78055,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78051,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77953,"src":"17484:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17501:6:117","memberName":"length","nodeType":"MemberAccess","src":"17484:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":78053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17510:1:117","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17484:27:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17467:45:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17445:67:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78057,"nodeType":"ExpressionStatement","src":"17445:67:117"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78058,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77953,"src":"17530:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17547:3:117","memberName":"pop","nodeType":"MemberAccess","src":"17530:20:117","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":78061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17530:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78062,"nodeType":"ExpressionStatement","src":"17530:22:117"},{"expression":{"arguments":[{"id":78064,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77993,"src":"17586:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78063,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78235,"src":"17570:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17570:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78066,"nodeType":"ExpressionStatement","src":"17570:25:117"}]},"id":78068,"nodeType":"IfStatement","src":"16806:804:117","trueBody":{"id":78046,"nodeType":"Block","src":"16872:482:117","statements":[{"expression":{"id":78013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78005,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77959,"src":"16890:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78010,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77945,"src":"16948:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78011,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77936,"src":"16956:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":78007,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77993,"src":"16924:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78006,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"16909:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}},"id":78008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16909:24:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72381","typeString":"contract IPointStrategy"}},"id":78009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16934:13:117","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":72374,"src":"16909:38:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":78012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16909:63:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16890:82:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78014,"nodeType":"ExpressionStatement","src":"16890:82:117"},{"assignments":[78016],"declarations":[{"constant":false,"id":78016,"mutability":"mutable","name":"currentPower","nameLocation":"16998:12:117","nodeType":"VariableDeclaration","scope":78046,"src":"16990:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78015,"name":"uint256","nodeType":"ElementaryTypeName","src":"16990:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78024,"initialValue":{"baseExpression":{"baseExpression":{"id":78017,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77069,"src":"17013:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":78019,"indexExpression":{"id":78018,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77945,"src":"17035:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17013:29:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":78023,"indexExpression":{"baseExpression":{"id":78020,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77953,"src":"17043:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78022,"indexExpression":{"id":78021,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77982,"src":"17060:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17043:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17013:50:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16990:73:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78025,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77959,"src":"17085:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":78026,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78016,"src":"17104:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17085:31:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78044,"nodeType":"Block","src":"17229:111:117","statements":[{"expression":{"id":78042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":78034,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77069,"src":"17251:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":78039,"indexExpression":{"id":78035,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77945,"src":"17273:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17251:29:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":78040,"indexExpression":{"baseExpression":{"id":78036,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77953,"src":"17281:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78038,"indexExpression":{"id":78037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77982,"src":"17298:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17281:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17251:50:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78041,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77959,"src":"17305:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17251:70:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78043,"nodeType":"ExpressionStatement","src":"17251:70:117"}]},"id":78045,"nodeType":"IfStatement","src":"17081:259:117","trueBody":{"id":78033,"nodeType":"Block","src":"17118:105:117","statements":[{"errorCall":{"arguments":[{"id":78029,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77959,"src":"17173:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78030,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78016,"src":"17191:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78028,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76951,"src":"17147:25:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":78031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17147:57:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78032,"nodeType":"RevertStatement","src":"17140:64:117"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77985,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77982,"src":"16706:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":77986,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77953,"src":"16710:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16727:6:117","memberName":"length","nodeType":"MemberAccess","src":"16710:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16706:27:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78070,"initializationExpression":{"assignments":[77982],"declarations":[{"constant":false,"id":77982,"mutability":"mutable","name":"i","nameLocation":"16699:1:117","nodeType":"VariableDeclaration","scope":78070,"src":"16691:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77981,"name":"uint256","nodeType":"ElementaryTypeName","src":"16691:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77984,"initialValue":{"hexValue":"30","id":77983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16703:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16691:13:117"},"loopExpression":{"expression":{"id":77990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16735:3:117","subExpression":{"id":77989,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77982,"src":"16735:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77991,"nodeType":"ExpressionStatement","src":"16735:3:117"},"nodeType":"ForStatement","src":"16686:951:117"},{"expression":{"id":78076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":78071,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"17646:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78073,"indexExpression":{"id":78072,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77945,"src":"17666:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17646:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":78074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17674:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"17646:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78075,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77936,"src":"17690:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17646:59:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78077,"nodeType":"ExpressionStatement","src":"17646:59:117"},{"eventCall":{"arguments":[{"id":78079,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77945,"src":"17741:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78080,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77936,"src":"17749:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78078,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76896,"src":"17720:20:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":78081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17720:45:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78082,"nodeType":"EmitStatement","src":"17715:50:117"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":77939,"kind":"modifierInvocation","modifierName":{"id":77938,"name":"nonReentrant","nameLocations":["16273:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"16273:12:117"},"nodeType":"ModifierInvocation","src":"16273:12:117"}],"name":"decreasePower","nameLocation":"16227:13:117","parameters":{"id":77937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77936,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"16249:15:117","nodeType":"VariableDeclaration","scope":78084,"src":"16241:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77935,"name":"uint256","nodeType":"ElementaryTypeName","src":"16241:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16240:25:117"},"returnParameters":{"id":77940,"nodeType":"ParameterList","parameters":[],"src":"16286:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78100,"nodeType":"FunctionDefinition","src":"17778:165:117","nodes":[],"body":{"id":78099,"nodeType":"Block","src":"17878:65:117","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":78093,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77069,"src":"17895:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":78095,"indexExpression":{"id":78094,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78086,"src":"17917:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17895:30:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":78097,"indexExpression":{"id":78096,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78088,"src":"17926:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17895:41:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78092,"id":78098,"nodeType":"Return","src":"17888:48:117"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"17787:24:117","parameters":{"id":78089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78086,"mutability":"mutable","name":"_member","nameLocation":"17820:7:117","nodeType":"VariableDeclaration","scope":78100,"src":"17812:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78085,"name":"address","nodeType":"ElementaryTypeName","src":"17812:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78088,"mutability":"mutable","name":"_strategy","nameLocation":"17837:9:117","nodeType":"VariableDeclaration","scope":78100,"src":"17829:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78087,"name":"address","nodeType":"ElementaryTypeName","src":"17829:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17811:36:117"},"returnParameters":{"id":78092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78100,"src":"17869:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78090,"name":"uint256","nodeType":"ElementaryTypeName","src":"17869:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17868:9:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78113,"nodeType":"FunctionDefinition","src":"17949:143:117","nodes":[],"body":{"id":78112,"nodeType":"Block","src":"18027:65:117","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":78107,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"18044:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78109,"indexExpression":{"id":78108,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78102,"src":"18064:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18044:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":78110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18073:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"18044:41:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78106,"id":78111,"nodeType":"Return","src":"18037:48:117"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"17958:21:117","parameters":{"id":78103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78102,"mutability":"mutable","name":"_member","nameLocation":"17988:7:117","nodeType":"VariableDeclaration","scope":78113,"src":"17980:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78101,"name":"address","nodeType":"ElementaryTypeName","src":"17980:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17979:17:117"},"returnParameters":{"id":78106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78113,"src":"18018:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78104,"name":"uint256","nodeType":"ElementaryTypeName","src":"18018:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18017:9:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78150,"nodeType":"FunctionDefinition","src":"18098:313:117","nodes":[],"body":{"id":78149,"nodeType":"Block","src":"18150:261:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78118,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77115,"src":"18160:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18160:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78120,"nodeType":"ExpressionStatement","src":"18160:17:117"},{"assignments":[78122],"declarations":[{"constant":false,"id":78122,"mutability":"mutable","name":"strategy","nameLocation":"18195:8:117","nodeType":"VariableDeclaration","scope":78149,"src":"18187:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78121,"name":"address","nodeType":"ElementaryTypeName","src":"18187:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78131,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":78127,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78115,"src":"18227:6:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78125,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77051,"src":"18214:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}},"id":78126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18219:7:117","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":79464,"src":"18214:12:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18214:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18235:8:117","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18214:29:117","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":78124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18206:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78123,"name":"address","nodeType":"ElementaryTypeName","src":"18206:7:117","typeDescriptions":{}}},"id":78130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18206:38:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18187:57:117"},{"expression":{"arguments":[{"id":78133,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78122,"src":"18273:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78132,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"18254:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18254:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78135,"nodeType":"ExpressionStatement","src":"18254:28:117"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":78139,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"18328:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}],"id":78138,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18323:4:117","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18323:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72381","typeString":"type(contract IPointStrategy)"}},"id":78141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18344:11:117","memberName":"interfaceId","nodeType":"MemberAccess","src":"18323:32:117","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":78136,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78122,"src":"18296:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18305:17:117","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57856,"src":"18296:26:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":78142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18296:60:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78148,"nodeType":"IfStatement","src":"18292:113:117","trueBody":{"id":78147,"nodeType":"Block","src":"18358:47:117","statements":[{"expression":{"arguments":[{"id":78144,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78122,"src":"18385:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78143,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78187,"src":"18372:12:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18372:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78146,"nodeType":"ExpressionStatement","src":"18372:22:117"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"18107:19:117","parameters":{"id":78116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78115,"mutability":"mutable","name":"poolId","nameLocation":"18135:6:117","nodeType":"VariableDeclaration","scope":78150,"src":"18127:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78114,"name":"uint256","nodeType":"ElementaryTypeName","src":"18127:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18126:16:117"},"returnParameters":{"id":78117,"nodeType":"ParameterList","parameters":[],"src":"18150:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78163,"nodeType":"FunctionDefinition","src":"18417:120:117","nodes":[],"body":{"id":78162,"nodeType":"Block","src":"18467:70:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78155,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77115,"src":"18477:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18477:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78157,"nodeType":"ExpressionStatement","src":"18477:17:117"},{"expression":{"arguments":[{"id":78159,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78152,"src":"18517:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78158,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78187,"src":"18504:12:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18504:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78161,"nodeType":"ExpressionStatement","src":"18504:26:117"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"18426:11:117","parameters":{"id":78153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78152,"mutability":"mutable","name":"_newStrategy","nameLocation":"18446:12:117","nodeType":"VariableDeclaration","scope":78163,"src":"18438:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78151,"name":"address","nodeType":"ElementaryTypeName","src":"18438:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18437:22:117"},"returnParameters":{"id":78154,"nodeType":"ParameterList","parameters":[],"src":"18467:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78187,"nodeType":"FunctionDefinition","src":"18543:244:117","nodes":[],"body":{"id":78186,"nodeType":"Block","src":"18596:191:117","nodes":[],"statements":[{"condition":{"baseExpression":{"id":78168,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77062,"src":"18610:17:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":78170,"indexExpression":{"id":78169,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78165,"src":"18628:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18610:31:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78175,"nodeType":"IfStatement","src":"18606:85:117","trueBody":{"id":78174,"nodeType":"Block","src":"18643:48:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78171,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76929,"src":"18664:14:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18664:16:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78173,"nodeType":"RevertStatement","src":"18657:23:117"}]}},{"expression":{"id":78180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":78176,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77062,"src":"18700:17:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":78178,"indexExpression":{"id":78177,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78165,"src":"18718:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18700:31:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":78179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18734:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"18700:38:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78181,"nodeType":"ExpressionStatement","src":"18700:38:117"},{"eventCall":{"arguments":[{"id":78183,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78165,"src":"18767:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78182,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76862,"src":"18753:13:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18753:27:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78185,"nodeType":"EmitStatement","src":"18748:32:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"18552:12:117","parameters":{"id":78166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78165,"mutability":"mutable","name":"_newStrategy","nameLocation":"18573:12:117","nodeType":"VariableDeclaration","scope":78187,"src":"18565:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78164,"name":"address","nodeType":"ElementaryTypeName","src":"18565:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18564:22:117"},"returnParameters":{"id":78167,"nodeType":"ParameterList","parameters":[],"src":"18596:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78215,"nodeType":"FunctionDefinition","src":"18793:229:117","nodes":[],"body":{"id":78214,"nodeType":"Block","src":"18848:174:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78192,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77115,"src":"18858:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18858:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78194,"nodeType":"ExpressionStatement","src":"18858:17:117"},{"assignments":[78196],"declarations":[{"constant":false,"id":78196,"mutability":"mutable","name":"strategy","nameLocation":"18893:8:117","nodeType":"VariableDeclaration","scope":78214,"src":"18885:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78195,"name":"address","nodeType":"ElementaryTypeName","src":"18885:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78205,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":78201,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78189,"src":"18925:6:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78199,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77051,"src":"18912:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79465","typeString":"contract FAllo"}},"id":78200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18917:7:117","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":79464,"src":"18912:12:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18912:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18933:8:117","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18912:29:117","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":78198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18904:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78197,"name":"address","nodeType":"ElementaryTypeName","src":"18904:7:117","typeDescriptions":{}}},"id":78204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18904:38:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18885:57:117"},{"expression":{"arguments":[{"id":78207,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78196,"src":"18971:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78206,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"18952:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18952:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78209,"nodeType":"ExpressionStatement","src":"18952:28:117"},{"expression":{"arguments":[{"id":78211,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78196,"src":"19006:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78210,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78235,"src":"18990:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18990:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78213,"nodeType":"ExpressionStatement","src":"18990:25:117"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"18802:22:117","parameters":{"id":78190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78189,"mutability":"mutable","name":"poolId","nameLocation":"18833:6:117","nodeType":"VariableDeclaration","scope":78215,"src":"18825:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78188,"name":"uint256","nodeType":"ElementaryTypeName","src":"18825:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18824:16:117"},"returnParameters":{"id":78191,"nodeType":"ParameterList","parameters":[],"src":"18848:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78235,"nodeType":"FunctionDefinition","src":"19028:186:117","nodes":[],"body":{"id":78234,"nodeType":"Block","src":"19081:133:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":78221,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78217,"src":"19110:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78220,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"19091:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19091:29:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78223,"nodeType":"ExpressionStatement","src":"19091:29:117"},{"expression":{"id":78228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":78224,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77062,"src":"19130:17:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":78226,"indexExpression":{"id":78225,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78217,"src":"19148:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19130:28:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":78227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19161:5:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"19130:36:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78229,"nodeType":"ExpressionStatement","src":"19130:36:117"},{"eventCall":{"arguments":[{"id":78231,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78217,"src":"19197:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78230,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76866,"src":"19181:15:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19181:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78233,"nodeType":"EmitStatement","src":"19176:31:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"19037:15:117","parameters":{"id":78218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78217,"mutability":"mutable","name":"_strategy","nameLocation":"19061:9:117","nodeType":"VariableDeclaration","scope":78235,"src":"19053:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78216,"name":"address","nodeType":"ElementaryTypeName","src":"19053:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19052:19:117"},"returnParameters":{"id":78219,"nodeType":"ParameterList","parameters":[],"src":"19081:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78248,"nodeType":"FunctionDefinition","src":"19220:120:117","nodes":[],"body":{"id":78247,"nodeType":"Block","src":"19270:70:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78240,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77115,"src":"19280:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19280:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78242,"nodeType":"ExpressionStatement","src":"19280:17:117"},{"expression":{"arguments":[{"id":78244,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78237,"src":"19323:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78243,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78235,"src":"19307:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19307:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78246,"nodeType":"ExpressionStatement","src":"19307:26:117"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"19229:14:117","parameters":{"id":78238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78237,"mutability":"mutable","name":"_strategy","nameLocation":"19252:9:117","nodeType":"VariableDeclaration","scope":78248,"src":"19244:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78236,"name":"address","nodeType":"ElementaryTypeName","src":"19244:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19243:19:117"},"returnParameters":{"id":78239,"nodeType":"ParameterList","parameters":[],"src":"19270:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78273,"nodeType":"FunctionDefinition","src":"19346:240:117","nodes":[],"body":{"id":78272,"nodeType":"Block","src":"19400:186:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78253,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77115,"src":"19410:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19410:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78255,"nodeType":"ExpressionStatement","src":"19410:17:117"},{"expression":{"arguments":[{"id":78257,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78250,"src":"19456:5:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78256,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77209,"src":"19437:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19437:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78259,"nodeType":"ExpressionStatement","src":"19437:25:117"},{"expression":{"id":78262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78260,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"19472:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78261,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78250,"src":"19493:5:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"19472:26:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":78263,"nodeType":"ExpressionStatement","src":"19472:26:117"},{"eventCall":{"arguments":[{"arguments":[{"id":78267,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77047,"src":"19546:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}],"id":78266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19538:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78265,"name":"address","nodeType":"ElementaryTypeName","src":"19538:7:117","typeDescriptions":{}}},"id":78268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19538:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78269,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"19560:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78264,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76825,"src":"19513:24:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":78270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19513:66:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78271,"nodeType":"EmitStatement","src":"19508:71:117"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"19355:14:117","parameters":{"id":78251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78250,"mutability":"mutable","name":"_safe","nameLocation":"19386:5:117","nodeType":"VariableDeclaration","scope":78273,"src":"19370:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":78249,"name":"address","nodeType":"ElementaryTypeName","src":"19370:15:117","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"19369:23:117"},"returnParameters":{"id":78252,"nodeType":"ParameterList","parameters":[],"src":"19400:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78290,"nodeType":"FunctionDefinition","src":"19592:179:117","nodes":[],"body":{"id":78289,"nodeType":"Block","src":"19631:140:117","nodes":[],"statements":[{"expression":{"id":78280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78276,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77047,"src":"19641:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78278,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"19661:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78277,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79732,"src":"19655:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$79732_$","typeString":"type(contract ISafe)"}},"id":78279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19655:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}},"src":"19641:39:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79732","typeString":"contract ISafe"}},"id":78281,"nodeType":"ExpressionStatement","src":"19641:39:117"},{"expression":{"id":78283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"19690:25:117","subExpression":{"id":78282,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"19697:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78284,"nodeType":"ExpressionStatement","src":"19690:25:117"},{"eventCall":{"arguments":[{"id":78286,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"19745:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78285,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76819,"src":"19730:14:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19730:34:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78288,"nodeType":"EmitStatement","src":"19725:39:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"19601:18:117","parameters":{"id":78274,"nodeType":"ParameterList","parameters":[],"src":"19619:2:117"},"returnParameters":{"id":78275,"nodeType":"ParameterList","parameters":[],"src":"19631:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78306,"nodeType":"FunctionDefinition","src":"19777:171:117","nodes":[],"body":{"id":78305,"nodeType":"Block","src":"19813:135:117","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78293,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19827:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19831:6:117","memberName":"sender","nodeType":"MemberAccess","src":"19827:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":78295,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"19841:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"19827:32:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78301,"nodeType":"IfStatement","src":"19823:89:117","trueBody":{"id":78300,"nodeType":"Block","src":"19861:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78297,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76933,"src":"19882:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19882:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78299,"nodeType":"RevertStatement","src":"19875:26:117"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78302,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78290,"src":"19921:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19921:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78304,"nodeType":"ExpressionStatement","src":"19921:20:117"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"19786:17:117","parameters":{"id":78291,"nodeType":"ParameterList","parameters":[],"src":"19803:2:117"},"returnParameters":{"id":78292,"nodeType":"ParameterList","parameters":[],"src":"19813:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78324,"nodeType":"FunctionDefinition","src":"19954:182:117","nodes":[],"body":{"id":78323,"nodeType":"Block","src":"20026:110:117","nodes":[],"statements":[{"assignments":[78315],"declarations":[{"constant":false,"id":78315,"mutability":"mutable","name":"newMember","nameLocation":"20050:9:117","nodeType":"VariableDeclaration","scope":78323,"src":"20036:23:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":78314,"nodeType":"UserDefinedTypeName","pathNode":{"id":78313,"name":"Member","nameLocations":["20036:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77216,"src":"20036:6:117"},"referencedDeclaration":77216,"src":"20036:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":78319,"initialValue":{"baseExpression":{"id":78316,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"20062:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78318,"indexExpression":{"id":78317,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78308,"src":"20082:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20062:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20036:54:117"},{"expression":{"expression":{"id":78320,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78315,"src":"20107:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20117:12:117","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":77215,"src":"20107:22:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78312,"id":78322,"nodeType":"Return","src":"20100:29:117"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"19963:8:117","parameters":{"id":78309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78308,"mutability":"mutable","name":"_member","nameLocation":"19980:7:117","nodeType":"VariableDeclaration","scope":78324,"src":"19972:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78307,"name":"address","nodeType":"ElementaryTypeName","src":"19972:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19971:17:117"},"returnParameters":{"id":78312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78311,"mutability":"mutable","name":"_isMember","nameLocation":"20015:9:117","nodeType":"VariableDeclaration","scope":78324,"src":"20010:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78310,"name":"bool","nodeType":"ElementaryTypeName","src":"20010:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20009:16:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78443,"nodeType":"FunctionDefinition","src":"20142:1924:117","nodes":[],"body":{"id":78442,"nodeType":"Block","src":"20196:1870:117","nodes":[],"statements":[{"assignments":[78330],"declarations":[{"constant":false,"id":78330,"mutability":"mutable","name":"_member","nameLocation":"20214:7:117","nodeType":"VariableDeclaration","scope":78442,"src":"20206:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78329,"name":"address","nodeType":"ElementaryTypeName","src":"20206:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78333,"initialValue":{"expression":{"id":78331,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20224:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20228:6:117","memberName":"sender","nodeType":"MemberAccess","src":"20224:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20206:28:117"},{"assignments":[78336],"declarations":[{"constant":false,"id":78336,"mutability":"mutable","name":"newMember","nameLocation":"20259:9:117","nodeType":"VariableDeclaration","scope":78442,"src":"20244:24:117","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":78335,"nodeType":"UserDefinedTypeName","pathNode":{"id":78334,"name":"Member","nameLocations":["20244:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77216,"src":"20244:6:117"},"referencedDeclaration":77216,"src":"20244:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":78340,"initialValue":{"baseExpression":{"id":78337,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"20271:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78339,"indexExpression":{"id":78338,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78330,"src":"20291:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20271:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20244:55:117"},{"assignments":[78343],"declarations":[{"constant":false,"id":78343,"mutability":"mutable","name":"gardensFactory","nameLocation":"20326:14:117","nodeType":"VariableDeclaration","scope":78442,"src":"20309:31:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76172","typeString":"contract IRegistryFactory"},"typeName":{"id":78342,"nodeType":"UserDefinedTypeName","pathNode":{"id":78341,"name":"IRegistryFactory","nameLocations":["20309:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":76172,"src":"20309:16:117"},"referencedDeclaration":76172,"src":"20309:16:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76172","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":78347,"initialValue":{"arguments":[{"id":78345,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77029,"src":"20360:15:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78344,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76172,"src":"20343:16:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$76172_$","typeString":"type(contract IRegistryFactory)"}},"id":78346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20343:33:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76172","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"20309:67:117"},{"assignments":[78349],"declarations":[{"constant":false,"id":78349,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"20394:18:117","nodeType":"VariableDeclaration","scope":78442,"src":"20386:26:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78348,"name":"uint256","nodeType":"ElementaryTypeName","src":"20386:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78359,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78350,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"20416:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78351,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77014,"src":"20438:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20416:34:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78353,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20415:36:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":78354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20455:3:117","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78355,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77002,"src":"20461:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20455:21:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78357,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20454:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20415:62:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20386:91:117"},{"assignments":[78361],"declarations":[{"constant":false,"id":78361,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"20495:16:117","nodeType":"VariableDeclaration","scope":78442,"src":"20487:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78360,"name":"uint256","nodeType":"ElementaryTypeName","src":"20487:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78377,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78362,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"20527:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":78367,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20587:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":78366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20579:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78365,"name":"address","nodeType":"ElementaryTypeName","src":"20579:7:117","typeDescriptions":{}}},"id":78368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20579:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78363,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78343,"src":"20549:14:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76172","typeString":"contract IRegistryFactory"}},"id":78364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20564:14:117","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":76171,"src":"20549:29:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20549:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20527:66:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78371,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20526:68:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":78372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20598:3:117","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78373,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77002,"src":"20604:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20598:21:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78375,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20597:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20526:94:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20487:133:117"},{"condition":{"id":78381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"20634:18:117","subExpression":{"arguments":[{"id":78379,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78330,"src":"20644:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78378,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78324,"src":"20635:8:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20635:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78441,"nodeType":"IfStatement","src":"20630:1430:117","trueBody":{"id":78440,"nodeType":"Block","src":"20654:1406:117","statements":[{"expression":{"id":78386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78382,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"20668:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":78384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20678:12:117","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":77215,"src":"20668:22:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":78385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20693:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"20668:29:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78387,"nodeType":"ExpressionStatement","src":"20668:29:117"},{"expression":{"id":78392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78388,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"20712:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":78390,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20722:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"20712:22:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78391,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"20737:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20712:44:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78393,"nodeType":"ExpressionStatement","src":"20712:44:117"},{"expression":{"arguments":[{"id":78397,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78330,"src":"20954:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78400,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20971:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":78399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78398,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:117","typeDescriptions":{}}},"id":78401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78402,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"20978:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78403,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78349,"src":"21000:18:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20978:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78405,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78361,"src":"21021:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20978:59:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78394,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77043,"src":"20908:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20920:16:117","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":56730,"src":"20908:28:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":78407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20908:143:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78408,"nodeType":"ExpressionStatement","src":"20908:143:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78409,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78349,"src":"21476:18:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":78410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21497:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21476:22:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78420,"nodeType":"IfStatement","src":"21472:178:117","trueBody":{"id":78419,"nodeType":"Block","src":"21500:150:117","statements":[{"expression":{"arguments":[{"id":78415,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77026,"src":"21603:11:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78416,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78349,"src":"21616:18:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78412,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77043,"src":"21578:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21590:12:117","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56703,"src":"21578:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,uint256)"}},"id":78417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21578:57:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78418,"nodeType":"ExpressionStatement","src":"21578:57:117"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78421,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78361,"src":"21733:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":78422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21752:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21733:20:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78434,"nodeType":"IfStatement","src":"21729:255:117","trueBody":{"id":78433,"nodeType":"Block","src":"21755:229:117","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78427,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78343,"src":"21912:14:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76172","typeString":"contract IRegistryFactory"}},"id":78428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21927:21:117","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":76164,"src":"21912:36:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":78429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21912:38:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78430,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78361,"src":"21952:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78424,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77043,"src":"21887:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21899:12:117","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56703,"src":"21887:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,uint256)"}},"id":78431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21887:82:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78432,"nodeType":"ExpressionStatement","src":"21887:82:117"}]}},{"eventCall":{"arguments":[{"id":78436,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78330,"src":"22020:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78437,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"22029:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78435,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76831,"src":"22003:16:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":78438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22003:46:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78439,"nodeType":"EmitStatement","src":"21998:51:117"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":78327,"kind":"modifierInvocation","modifierName":{"id":78326,"name":"nonReentrant","nameLocations":["20183:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"20183:12:117"},"nodeType":"ModifierInvocation","src":"20183:12:117"}],"name":"stakeAndRegisterMember","nameLocation":"20151:22:117","parameters":{"id":78325,"nodeType":"ParameterList","parameters":[],"src":"20173:2:117"},"returnParameters":{"id":78328,"nodeType":"ParameterList","parameters":[],"src":"20196:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78492,"nodeType":"FunctionDefinition","src":"22072:469:117","nodes":[],"body":{"id":78491,"nodeType":"Block","src":"22136:405:117","nodes":[],"statements":[{"assignments":[78450],"declarations":[{"constant":false,"id":78450,"mutability":"mutable","name":"gardensFactory","nameLocation":"22163:14:117","nodeType":"VariableDeclaration","scope":78491,"src":"22146:31:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76172","typeString":"contract IRegistryFactory"},"typeName":{"id":78449,"nodeType":"UserDefinedTypeName","pathNode":{"id":78448,"name":"IRegistryFactory","nameLocations":["22146:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":76172,"src":"22146:16:117"},"referencedDeclaration":76172,"src":"22146:16:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76172","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":78454,"initialValue":{"arguments":[{"id":78452,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77029,"src":"22197:15:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78451,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76172,"src":"22180:16:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$76172_$","typeString":"type(contract IRegistryFactory)"}},"id":78453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22180:33:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76172","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"22146:67:117"},{"assignments":[78456],"declarations":[{"constant":false,"id":78456,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"22231:18:117","nodeType":"VariableDeclaration","scope":78491,"src":"22223:26:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78455,"name":"uint256","nodeType":"ElementaryTypeName","src":"22223:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78466,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78457,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"22253:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78458,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77014,"src":"22275:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22253:34:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78460,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22252:36:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":78461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22292:3:117","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78462,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77002,"src":"22298:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22292:21:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78464,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22291:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22252:62:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22223:91:117"},{"assignments":[78468],"declarations":[{"constant":false,"id":78468,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"22332:16:117","nodeType":"VariableDeclaration","scope":78491,"src":"22324:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78467,"name":"uint256","nodeType":"ElementaryTypeName","src":"22324:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78484,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78469,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"22364:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":78474,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22424:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":78473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22416:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78472,"name":"address","nodeType":"ElementaryTypeName","src":"22416:7:117","typeDescriptions":{}}},"id":78475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22416:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78470,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78450,"src":"22386:14:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76172","typeString":"contract IRegistryFactory"}},"id":78471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22401:14:117","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":76171,"src":"22386:29:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22386:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22364:66:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78478,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22363:68:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":78479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22435:3:117","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78480,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77002,"src":"22441:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22435:21:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78482,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22434:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22363:94:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22324:133:117"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78485,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"22475:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78486,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78456,"src":"22497:18:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22475:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78488,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78468,"src":"22518:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22475:59:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78447,"id":78490,"nodeType":"Return","src":"22468:66:117"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"22081:22:117","parameters":{"id":78444,"nodeType":"ParameterList","parameters":[],"src":"22103:2:117"},"returnParameters":{"id":78447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78492,"src":"22127:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78445,"name":"uint256","nodeType":"ElementaryTypeName","src":"22127:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22126:9:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78500,"nodeType":"FunctionDefinition","src":"22547:107:117","nodes":[],"body":{"id":78499,"nodeType":"Block","src":"22611:43:117","nodes":[],"statements":[{"expression":{"id":78497,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"22628:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78496,"id":78498,"nodeType":"Return","src":"22621:26:117"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"22556:20:117","parameters":{"id":78493,"nodeType":"ParameterList","parameters":[],"src":"22576:2:117"},"returnParameters":{"id":78496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78495,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78500,"src":"22602:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78494,"name":"uint256","nodeType":"ElementaryTypeName","src":"22602:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22601:9:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":78517,"nodeType":"FunctionDefinition","src":"22660:182:117","nodes":[],"body":{"id":78516,"nodeType":"Block","src":"22719:123:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78505,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77115,"src":"22729:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22729:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78507,"nodeType":"ExpressionStatement","src":"22729:17:117"},{"expression":{"id":78510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78508,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"22756:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78509,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78502,"src":"22778:10:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22756:32:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78511,"nodeType":"ExpressionStatement","src":"22756:32:117"},{"eventCall":{"arguments":[{"id":78513,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78502,"src":"22824:10:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78512,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76884,"src":"22803:20:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22803:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78515,"nodeType":"EmitStatement","src":"22798:37:117"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"22669:20:117","parameters":{"id":78503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78502,"mutability":"mutable","name":"_newAmount","nameLocation":"22698:10:117","nodeType":"VariableDeclaration","scope":78517,"src":"22690:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78501,"name":"uint256","nodeType":"ElementaryTypeName","src":"22690:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22689:20:117"},"returnParameters":{"id":78504,"nodeType":"ParameterList","parameters":[],"src":"22719:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78542,"nodeType":"FunctionDefinition","src":"22848:280:117","nodes":[],"body":{"id":78541,"nodeType":"Block","src":"22906:222:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78522,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77115,"src":"22916:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22916:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78524,"nodeType":"ExpressionStatement","src":"22916:17:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78525,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78519,"src":"22947:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":78526,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77008,"src":"22966:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22947:26:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78532,"nodeType":"IfStatement","src":"22943:86:117","trueBody":{"id":78531,"nodeType":"Block","src":"22975:54:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78528,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76939,"src":"22996:20:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22996:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78530,"nodeType":"RevertStatement","src":"22989:29:117"}]}},{"expression":{"id":78535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78533,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77014,"src":"23038:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78534,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78519,"src":"23053:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23038:31:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78536,"nodeType":"ExpressionStatement","src":"23038:31:117"},{"eventCall":{"arguments":[{"id":78538,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78519,"src":"23104:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78537,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76849,"src":"23084:19:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23084:37:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78540,"nodeType":"EmitStatement","src":"23079:42:117"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"22857:15:117","parameters":{"id":78520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78519,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"22881:16:117","nodeType":"VariableDeclaration","scope":78542,"src":"22873:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78518,"name":"uint256","nodeType":"ElementaryTypeName","src":"22873:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22872:26:117"},"returnParameters":{"id":78521,"nodeType":"ParameterList","parameters":[],"src":"22906:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78555,"nodeType":"FunctionDefinition","src":"23171:125:117","nodes":[],"body":{"id":78554,"nodeType":"Block","src":"23240:56:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":78550,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77098,"src":"23265:14:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":78551,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78544,"src":"23281:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":78549,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"23257:7:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":78552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23257:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78548,"id":78553,"nodeType":"Return","src":"23250:39:117"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"23180:15:117","parameters":{"id":78545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78544,"mutability":"mutable","name":"_member","nameLocation":"23204:7:117","nodeType":"VariableDeclaration","scope":78555,"src":"23196:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78543,"name":"address","nodeType":"ElementaryTypeName","src":"23196:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23195:17:117"},"returnParameters":{"id":78548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78547,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78555,"src":"23234:4:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78546,"name":"bool","nodeType":"ElementaryTypeName","src":"23234:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23233:6:117"},"scope":78716,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78605,"nodeType":"FunctionDefinition","src":"23302:453:117","nodes":[],"body":{"id":78604,"nodeType":"Block","src":"23350:405:117","nodes":[],"statements":[{"assignments":[78561],"declarations":[{"constant":false,"id":78561,"mutability":"mutable","name":"_member","nameLocation":"23368:7:117","nodeType":"VariableDeclaration","scope":78604,"src":"23360:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78560,"name":"address","nodeType":"ElementaryTypeName","src":"23360:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78564,"initialValue":{"expression":{"id":78562,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23378:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23382:6:117","memberName":"sender","nodeType":"MemberAccess","src":"23378:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"23360:28:117"},{"expression":{"arguments":[{"id":78566,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78561,"src":"23424:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78565,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77144,"src":"23398:25:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":78567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23398:34:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78568,"nodeType":"ExpressionStatement","src":"23398:34:117"},{"expression":{"arguments":[{"id":78570,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78561,"src":"23466:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78569,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78642,"src":"23442:23:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23442:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78572,"nodeType":"ExpressionStatement","src":"23442:32:117"},{"assignments":[78575],"declarations":[{"constant":false,"id":78575,"mutability":"mutable","name":"member","nameLocation":"23498:6:117","nodeType":"VariableDeclaration","scope":78604,"src":"23484:20:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":78574,"nodeType":"UserDefinedTypeName","pathNode":{"id":78573,"name":"Member","nameLocations":["23484:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77216,"src":"23484:6:117"},"referencedDeclaration":77216,"src":"23484:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":78579,"initialValue":{"baseExpression":{"id":78576,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"23507:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78578,"indexExpression":{"id":78577,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78561,"src":"23527:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23507:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23484:51:117"},{"expression":{"id":78583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23545:35:117","subExpression":{"baseExpression":{"id":78580,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"23552:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78582,"indexExpression":{"id":78581,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78561,"src":"23572:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23552:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78584,"nodeType":"ExpressionStatement","src":"23545:35:117"},{"expression":{"id":78588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23590:34:117","subExpression":{"baseExpression":{"id":78585,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77081,"src":"23597:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":78587,"indexExpression":{"id":78586,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78561,"src":"23616:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23597:27:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78589,"nodeType":"ExpressionStatement","src":"23590:34:117"},{"expression":{"arguments":[{"id":78593,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78561,"src":"23656:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":78594,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78575,"src":"23665:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23672:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"23665:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78590,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77043,"src":"23635:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23647:8:117","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":56576,"src":"23635:20:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":78596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23635:50:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78597,"nodeType":"ExpressionStatement","src":"23635:50:117"},{"eventCall":{"arguments":[{"id":78599,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78561,"src":"23719:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":78600,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78575,"src":"23728:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23735:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"23728:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78598,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76837,"src":"23700:18:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":78602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23700:48:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78603,"nodeType":"EmitStatement","src":"23695:53:117"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":78558,"kind":"modifierInvocation","modifierName":{"id":78557,"name":"nonReentrant","nameLocations":["23337:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"23337:12:117"},"nodeType":"ModifierInvocation","src":"23337:12:117"}],"name":"unregisterMember","nameLocation":"23311:16:117","parameters":{"id":78556,"nodeType":"ParameterList","parameters":[],"src":"23327:2:117"},"returnParameters":{"id":78559,"nodeType":"ParameterList","parameters":[],"src":"23350:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78642,"nodeType":"FunctionDefinition","src":"23761:466:117","nodes":[],"body":{"id":78641,"nodeType":"Block","src":"23820:407:117","nodes":[],"statements":[{"assignments":[78614],"declarations":[{"constant":false,"id":78614,"mutability":"mutable","name":"memberStrategies","nameLocation":"23847:16:117","nodeType":"VariableDeclaration","scope":78641,"src":"23830:33:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":78612,"name":"address","nodeType":"ElementaryTypeName","src":"23830:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78613,"nodeType":"ArrayTypeName","src":"23830:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":78618,"initialValue":{"baseExpression":{"id":78615,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77081,"src":"23866:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":78617,"indexExpression":{"id":78616,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78607,"src":"23885:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23866:27:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23830:63:117"},{"body":{"id":78639,"nodeType":"Block","src":"24023:198:117","statements":[{"expression":{"arguments":[{"id":78636,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78607,"src":"24202:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":78631,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78614,"src":"24164:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":78633,"indexExpression":{"id":78632,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78620,"src":"24181:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24164:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78630,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72381,"src":"24149:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72381_$","typeString":"type(contract IPointStrategy)"}},"id":78634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24149:35:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72381","typeString":"contract IPointStrategy"}},"id":78635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24185:16:117","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":72356,"src":"24149:52:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":78637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24149:61:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78638,"nodeType":"ExpressionStatement","src":"24149:61:117"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78623,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78620,"src":"23989:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":78624,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78614,"src":"23993:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":78625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24010:6:117","memberName":"length","nodeType":"MemberAccess","src":"23993:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23989:27:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78640,"initializationExpression":{"assignments":[78620],"declarations":[{"constant":false,"id":78620,"mutability":"mutable","name":"i","nameLocation":"23982:1:117","nodeType":"VariableDeclaration","scope":78640,"src":"23974:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78619,"name":"uint256","nodeType":"ElementaryTypeName","src":"23974:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78622,"initialValue":{"hexValue":"30","id":78621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23986:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"23974:13:117"},"loopExpression":{"expression":{"id":78628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24018:3:117","subExpression":{"id":78627,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78620,"src":"24018:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78629,"nodeType":"ExpressionStatement","src":"24018:3:117"},"nodeType":"ForStatement","src":"23969:252:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"23770:23:117","parameters":{"id":78608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78607,"mutability":"mutable","name":"_member","nameLocation":"23802:7:117","nodeType":"VariableDeclaration","scope":78642,"src":"23794:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78606,"name":"address","nodeType":"ElementaryTypeName","src":"23794:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23793:17:117"},"returnParameters":{"id":78609,"nodeType":"ParameterList","parameters":[],"src":"23820:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78702,"nodeType":"FunctionDefinition","src":"24233:571:117","nodes":[],"body":{"id":78701,"nodeType":"Block","src":"24316:488:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78651,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77115,"src":"24326:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24326:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78653,"nodeType":"ExpressionStatement","src":"24326:17:117"},{"condition":{"id":78655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24357:14:117","subExpression":{"id":78654,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77023,"src":"24358:13:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78660,"nodeType":"IfStatement","src":"24353:68:117","trueBody":{"id":78659,"nodeType":"Block","src":"24373:48:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78656,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76941,"src":"24394:14:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24394:16:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78658,"nodeType":"RevertStatement","src":"24387:23:117"}]}},{"condition":{"id":78664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24434:18:117","subExpression":{"arguments":[{"id":78662,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78644,"src":"24444:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78661,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78324,"src":"24435:8:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24435:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78669,"nodeType":"IfStatement","src":"24430:75:117","trueBody":{"id":78668,"nodeType":"Block","src":"24454:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78665,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76919,"src":"24475:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24475:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78667,"nodeType":"RevertStatement","src":"24468:26:117"}]}},{"assignments":[78672],"declarations":[{"constant":false,"id":78672,"mutability":"mutable","name":"member","nameLocation":"24528:6:117","nodeType":"VariableDeclaration","scope":78701,"src":"24514:20:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":78671,"nodeType":"UserDefinedTypeName","pathNode":{"id":78670,"name":"Member","nameLocations":["24514:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77216,"src":"24514:6:117"},"referencedDeclaration":77216,"src":"24514:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":78676,"initialValue":{"baseExpression":{"id":78673,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"24537:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78675,"indexExpression":{"id":78674,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78644,"src":"24557:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24537:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24514:51:117"},{"expression":{"arguments":[{"id":78678,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78644,"src":"24599:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78677,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78642,"src":"24575:23:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24575:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78680,"nodeType":"ExpressionStatement","src":"24575:32:117"},{"expression":{"id":78684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24617:35:117","subExpression":{"baseExpression":{"id":78681,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77075,"src":"24624:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77216_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78683,"indexExpression":{"id":78682,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78644,"src":"24644:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24624:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78685,"nodeType":"ExpressionStatement","src":"24617:35:117"},{"expression":{"arguments":[{"id":78689,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78646,"src":"24684:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":78690,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78672,"src":"24702:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24709:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"24702:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78686,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77043,"src":"24663:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24675:8:117","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":56576,"src":"24663:20:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":78692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24663:59:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78693,"nodeType":"ExpressionStatement","src":"24663:59:117"},{"eventCall":{"arguments":[{"id":78695,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78644,"src":"24750:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78696,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78646,"src":"24759:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":78697,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78672,"src":"24777:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77216_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24784:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77213,"src":"24777:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78694,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76845,"src":"24737:12:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":78699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24737:60:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78700,"nodeType":"EmitStatement","src":"24732:65:117"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":78649,"kind":"modifierInvocation","modifierName":{"id":78648,"name":"nonReentrant","nameLocations":["24303:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"24303:12:117"},"nodeType":"ModifierInvocation","src":"24303:12:117"}],"name":"kickMember","nameLocation":"24242:10:117","parameters":{"id":78647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78644,"mutability":"mutable","name":"_member","nameLocation":"24261:7:117","nodeType":"VariableDeclaration","scope":78702,"src":"24253:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78643,"name":"address","nodeType":"ElementaryTypeName","src":"24253:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78646,"mutability":"mutable","name":"_transferAddress","nameLocation":"24278:16:117","nodeType":"VariableDeclaration","scope":78702,"src":"24270:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78645,"name":"address","nodeType":"ElementaryTypeName","src":"24270:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24252:43:117"},"returnParameters":{"id":78650,"nodeType":"ParameterList","parameters":[],"src":"24316:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78711,"nodeType":"FunctionDefinition","src":"24810:66:117","nodes":[],"body":{"id":78710,"nodeType":"Block","src":"24874:2:117","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":78708,"kind":"modifierInvocation","modifierName":{"id":78707,"name":"onlyOwner","nameLocations":["24864:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"24864:9:117"},"nodeType":"ModifierInvocation","src":"24864:9:117"}],"name":"_authorizeUpgrade","nameLocation":"24819:17:117","overrides":{"id":78706,"nodeType":"OverrideSpecifier","overrides":[],"src":"24855:8:117"},"parameters":{"id":78705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78711,"src":"24837:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78703,"name":"address","nodeType":"ElementaryTypeName","src":"24837:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24836:9:117"},"returnParameters":{"id":78709,"nodeType":"ParameterList","parameters":[],"src":"24874:0:117"},"scope":78716,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78715,"nodeType":"VariableDeclaration","src":"24882:25:117","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"24902:5:117","scope":78716,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":78712,"name":"uint256","nodeType":"ElementaryTypeName","src":"24882:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78714,"length":{"hexValue":"3530","id":78713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24890:2:117","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"24882:11:117","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":76804,"name":"OwnableUpgradeable","nameLocations":["1422:18:117"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"1422:18:117"},"id":76805,"nodeType":"InheritanceSpecifier","src":"1422:18:117"},{"baseName":{"id":76806,"name":"UUPSUpgradeable","nameLocations":["1446:15:117"],"nodeType":"IdentifierPath","referencedDeclaration":55753,"src":"1446:15:117"},"id":76807,"nodeType":"InheritanceSpecifier","src":"1446:15:117"},{"baseName":{"id":76808,"name":"ReentrancyGuardUpgradeable","nameLocations":["1467:26:117"],"nodeType":"IdentifierPath","referencedDeclaration":53318,"src":"1467:26:117"},"id":76809,"nodeType":"InheritanceSpecifier","src":"1467:26:117"},{"baseName":{"id":76810,"name":"AccessControlUpgradeable","nameLocations":["1499:24:117"],"nodeType":"IdentifierPath","referencedDeclaration":52778,"src":"1499:24:117"},"id":76811,"nodeType":"InheritanceSpecifier","src":"1499:24:117"}],"canonicalName":"RegistryCommunityV0_0","contractDependencies":[55102],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[78716,52778,54051,54063,52851,53318,55753,55406,55055,55065,52984,53777,53233],"name":"RegistryCommunityV0_0","nameLocation":"1393:21:117","scope":78717,"usedErrors":[76911,76913,76917,76919,76921,76923,76925,76927,76929,76931,76933,76935,76937,76939,76941,76943,76945,76951]}],"license":"AGPL-3.0-only"},"id":117}
\ No newline at end of file
+{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[{"name":"_user","type":"address","internalType":"address"}]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a0806040523461003157306080526155249081610037823960805181818161114f015281816115460152611a1e0152f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004555780630331383c146200038957806308386eba146200044f5780630d12bbdb14620004495780630d4a8b491462000443578063175188e8146200043d5780631f787d281462000437578063223e5479146200043157806322bcf999146200042b578063248a9ca3146200042557806328c309e9146200041f5780632b38c69c14620004195780632c611c4a14620004135780632f2ff15d146200040d57806331f61bca14620004075780633396045914620004015780633517aa7d14620003fb57806336568abe14620003f55780633659cfe614620003ef578063397e254314620003e95780633a871fe114620003e3578063477a5cc014620003dd5780634f1ef28614620003d7578063524e59e814620003d157806352d1902d14620003cb578063559de05d14620003c55780635c94e4d214620003bf5780635ecf71c514620003b957806365e3864c146200038f5780636871eb4d14620003b357806368decabb14620003ad5780636c53db9a14620003a7578063715018a614620003a157806373265c37146200039b578063733a2d1f14620003955780637817ee4f146200038f57806378a0b8a914620003895780637b103999146200038357806382d6a1e7146200037d57806388cfe68414620003775780638961be6b14620003715780638da5cb5b146200036b57806391d148541462000365578063a0cf0aea146200035f578063a217fddf1462000359578063a230c5241462000353578063b3f00674146200034d578063b5058c501462000347578063b64e39af1462000341578063b99b4370146200033b578063bc063e1a1462000335578063c6d572ae146200032f578063d547741f1462000329578063d6d8428d1462000323578063d7050f07146200031d578063db61d65c1462000317578063e16d0e321462000311578063ebd7dc52146200030b578063f2fde38b1462000305578063f86c5f8914620002ff5763fa50f53d14620002f957600080fd5b62002be2565b62002b9e565b62002b04565b62002ab9565b620029aa565b6200297e565b6200295f565b62002933565b620028e9565b62002853565b62002833565b620026e5565b62002613565b620024f0565b620024c0565b62002453565b62002435565b62002404565b620023c6565b6200239b565b6200237b565b62002319565b62002263565b62002237565b620004c1565b62001f12565b6200220b565b6200216f565b6200211e565b620020f2565b620020c6565b62001f51565b62001c9a565b62001c6e565b62001acd565b62001a09565b620018eb565b620014ed565b62001356565b6200130f565b62001282565b62001124565b62001087565b62000e2f565b62000e0f565b62000dbf565b62000d12565b62000ccd565b62000c68565b62000aaf565b62000a7e565b6200098d565b62000958565b62000932565b620008fb565b62000608565b62000501565b620004e1565b34620004b0576020366003190112620004b05760043563ffffffff60e01b8116809103620004b057602090637965db0b60e01b81149081156200049e575b506040519015158152f35b6301ffc9a760e01b1490503862000493565b600080fd5b6000910312620004b057565b34620004b0576000366003190112620004b057602060fc54604051908152f35b34620004b0576000366003190112620004b057602060ff54604051908152f35b34620004b0576020366003190112620004b0576004356200052162004dd6565b620186a081116200055d576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fd55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b03811603620004b057565b602435906200059c826200057b565b565b6101c435906200059c826200057b565b6101e435906200059c826200057b565b61020435906200059c826200057b565b35906200059c826200057b565b6040906003190112620004b057600435620005f6816200057b565b9060243562000605816200057b565b90565b34620004b0576200061936620005db565b6200062482620047cc565b6200062f8162004819565b6200063a81620042f6565b6200065b62000654826200064e8562000b9d565b62000c09565b5460ff1690565b620008e9576020908162000679620006738562000bb8565b620046e6565b015160fc5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af18015620007b8576003918a91620008c7575b50620006c6816200443b565b03620007be57505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af18015620007b8576000805160206200542f833981519152946200077e92879262000784575b50505b8062000739856200064e8662000bd3565b556200075b6200074e856200064e8662000b9d565b805460ff19166001179055565b62000771846200076b8562000bee565b62004770565b60405193849384620047aa565b0390a180f35b620007a89250803d10620007b0575b6200079f818362001450565b8101906200323c565b388062000725565b503d62000793565b6200324c565b604096919392965193845282846004818b865af18015620007b8578894859162000893575b50620007ef816200443b565b62000814575b505050506200077e6000805160206200542f8339815191529362000728565b82939650906200083c9160405197888094819363782aadff60e01b8352896004840162004736565b03925af18015620007b8576000805160206200542f833981519152946200077e92879262000871575b505093859138620007f5565b6200088b9250803d10620007b0576200079f818362001450565b388062000865565b620008b89150843d8611620008bf575b620008af818362001450565b8101906200471e565b38620007e3565b503d620008a3565b620008e29150863d8811620008bf57620008af818362001450565b38620006ba565b604051636adcde4b60e11b8152600490fd5b34620004b0576020366003190112620004b0576200093060043562000920816200057b565b6200092a62004dd6565b62004ea7565b005b34620004b0576000366003190112620004b057602060ff61010054166040519015158152f35b34620004b0576020366003190112620004b057620009306004356200097d816200057b565b6200098762004dd6565b62004e2d565b34620004b0576200099e36620005db565b620009a982620047cc565b620009b481620042f6565b6001600160a01b038116330362000a6c57620009e1620009dd62000654836200064e8662000b9d565b1590565b62000a5a578162000a2562000a1b836200064e7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000b9d565b805460ff19169055565b600062000a37836200064e8462000bd3565b5562000a44828262004895565b62000a556040519283928362004319565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b34620004b0576020366003190112620004b05760043560005260c96020526020600160406000200154604051908152f35b34620004b0576000366003190112620004b05762000ada62000ad4610101546200056f565b6200056f565b60fc549062000af962000af060fd548462002819565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000b1c306004830162000c55565b03916001600160a01b03165afa918215620007b85762000b769362000b5962000af062000b669562000b609460009162000b7a575b508562002819565b9262003056565b62003056565b6040519081529081906020820190565b0390f35b62000b96915060203d8111620007b0576200079f818362001450565b3862000b51565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000c4f5760005260206000200190600090565b62000c20565b6001600160a01b03909116815260200190565b34620004b0576040366003190112620004b05760043562000c89816200057b565b6024359060018060a01b0380911660005261010d60205260406000208054831015620004b05760209262000cbd9162000c36565b9190546040519260031b1c168152f35b34620004b0576020366003190112620004b05760043562000cee816200057b565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b34620004b0576040366003190112620004b05760043560243562000d36816200057b565b60009180835260c960205262000d53600160408520015462002d4f565b80835260c960205260ff62000d6c836040862062000c09565b54161562000d78578280f35b80835260c960205262000d8f826040852062000c09565b805460ff1916600117905533916001600160a01b031690600080516020620053cf8339815191528480a438808280f35b34620004b0576020366003190112620004b0577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000e0262004dd6565b8060fc55604051908152a1005b34620004b0576000366003190112620004b057602060fe54604051908152f35b34620004b057600080600319360112620010845762000e4d6200494d565b62000e583362000bb8565b62000e6a62000ad4610101546200056f565b60fc549162000e8062000af060fd548562002819565b6040516302a64b8360e21b815260209491936001600160a01b0316919085818062000eaf306004830162000c55565b0381865afa8015620007b85762000ed49262000af092899262001060575b5062002819565b9262000ef5620009dd604062000eee620006733362000bb8565b0151151590565b62000f0a575b8562000f076001606555565b80f35b8262000f22600260019501600160ff19825416179055565b60fc54938491015562000f5a6101059362000f4f8662000b608562000f4889546200056f565b9462003056565b9030903390620049a4565b8062001031575b508262000fb1575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768962000fa360fc54604051918291338362004736565b0390a1388080808062000efb565b8362000fc0600493546200056f565b9160405193848092634c3a1adf60e11b82525afa918215620007b85762000ff194869362000ffb575b505062004b36565b3880808062000f69565b62001020929350803d1062001029575b62001017818362001450565b81019062003915565b90388062000fe9565b503d6200100b565b62001059906200104284546200056f565b6101005460081c6001600160a01b03169062004b36565b3862000f61565b6200107c919250883d8a11620007b0576200079f818362001450565b903862000ecd565b80fd5b34620004b0576040366003190112620004b057602435620010a8816200057b565b336001600160a01b03821603620010c757620009309060043562002f3d565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620004b0576020366003190112620004b05760043562001145816200057b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062001180308414156200319a565b620011a06000805160206200546f833981519152938285541614620031eb565b620011aa62002fb6565b60405190602082016001600160401b038111838210176200127c57604052600082526000805160206200540f8339815191525460ff1615620011f457505062000930915062003306565b6020600491604094939451928380926352d1902d60e01b825286165afa6000918162001257575b50620012405760405162461bcd60e51b8152806200123c60048201620032b7565b0390fd5b620009309362001251911462003258565b6200344e565b6200127491925060203d8111620007b0576200079f818362001450565b90386200121b565b6200139a565b34620004b0576020366003190112620004b0577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf86040600435620012c6816200057b565b620012d062004dd6565b6001600160a01b0390811690620012e782620042f6565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b34620004b0576020366003190112620004b05760043562001330816200057b565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b34620004b057602060ff6200138e6200136f36620005db565b6001600160a01b03909116600090815261010e85526040902062000c09565b54166040519015158152f35b634e487b7160e01b600052604160045260246000fd5b60c081019081106001600160401b038211176200127c57604052565b60e081019081106001600160401b038211176200127c57604052565b608081019081106001600160401b038211176200127c57604052565b604081019081106001600160401b038211176200127c57604052565b606081019081106001600160401b038211176200127c57604052565b6001600160401b0381116200127c57604052565b601f909101601f19168101906001600160401b038211908210176200127c57604052565b604051906101a082016001600160401b038111838210176200127c57604052565b6001600160401b0381116200127c57601f01601f191660200190565b929192620014bf8262001495565b91620014cf604051938462001450565b829481845281830111620004b0578281602093846000960137010152565b6040366003190112620004b05760043562001508816200057b565b6024356001600160401b038111620004b05736602382011215620004b0576200153c903690602481600401359101620014b1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692919062001578308514156200319a565b620015986000805160206200546f833981519152948286541614620031eb565b620015a262002fb6565b6000805160206200540f8339815191525460ff1615620015ca57505062000930915062003306565b6020600491604094939451928380926352d1902d60e01b825286165afa6000918162001629575b50620016125760405162461bcd60e51b8152806200123c60048201620032b7565b620009309362001623911462003258565b62003398565b6200164691925060203d8111620007b0576200079f818362001450565b9038620015f1565b60a435906003821015620004b057565b60c435906003821015620004b057565b60041115620004b057565b60c435906200059c826200166e565b60e435906200059c826200166e565b60209060e3190112620004b05760405190602082016001600160401b038111838210176200127c5760405260e4358252565b602090610103190112620004b05760405190602082016001600160401b038111838210176200127c57604052610104358252565b60c090610103190112620004b057604051906200171a82620013b0565b81610104356200172a816200057b565b8152610124356200173b816200057b565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c090610123190112620004b057604051906200178382620013b0565b816101243562001793816200057b565b815261014435620017a4816200057b565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e08312620004b05760405190620017ef82620013cc565b6080829412620004b0576200185f906040516200180c81620013e8565b60243581526044356020820152606435604082015260843560608201528352620018356200164e565b60208401526200184462001679565b6040840152620018548162001697565b6060840152620016fd565b60808201526200186e6200059e565b60a082015260c06200187f620005ae565b910152565b9080601f83011215620004b0578160206200060593359101620014b1565b9190604083820312620004b05760405190620018be8262001404565b8335825290928391602082013591906001600160401b038311620004b0576020926200187f920162001884565b34620004b057610220366003190112620004b0576004356200190d816200057b565b6200191836620017cf565b6001600160401b039061020435828111620004b0576200193d903690600401620018a2565b916200194c610102546200056f565b906200195f62000ad4610107546200056f565b91620019a26200197160fb546200056f565b60405163784d200b60e11b602082015294859162001993916024840162004319565b03601f19810185528462001450565b604051926104109182850193858510908511176200127c578493620019cd9362004fbf863962004333565b03906000f0928315620007b857620019ee936001600160a01b0316620045c9565b604080519283526001600160a01b0391909116602083015290f35b34620004b0576000366003190112620004b0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001a67576040516000805160206200546f8339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b34620004b057602080600319360112620004b05760049081359162001af16200494d565b62001afb62004ae7565b62001b1062001b0a3362000bee565b620043b5565b60005b815181101562001bf25762001b4262000ad462000ad462001b35848662003a39565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001b668c338c840162004736565b03925af18015620007b85762001b8e9260009162001bd0575b508062001b94575b5062003a29565b62001b13565b62001bc762001bbe62001ba73362000bd3565b62001bb762001b35868962003a39565b9062000c09565b91825462003056565b90553862001b87565b62001beb9150863d8811620007b0576200079f818362001450565b3862001b7f565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001c608662001c358162001c2b610105546200056f565b30903390620049a4565b600162001c423362000bb8565b0162001c5082825462003056565b9055604051918291338362004736565b0390a1620009306001606555565b34620004b0576000366003190112620004b057610102546040516001600160a01b039091168152602090f35b34620004b057602080600319360112620004b05760049081359062001cbe6200494d565b62001cc862004ae7565b62001cd33362000bee565b9060019362001cf0848662001ce83362000bb8565b015462003a6e565b60fc541162001f035790849262001d16853362001d10610105546200056f565b62004b36565b6000935b62001d60575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001c60868862001d523362000bb8565b0162001c5082825462003a6e565b909192948154948587101562001efa5762001d9562001d80888562000c36565b905460039190911b1c6001600160a01b031690565b9562001da18762004b61565b1562001ea957506040928484518098632ed04b2b60e01b82528160008162001dce888d3390840162004736565b03926001600160a01b03165af1968715620007b85760009762001e85575b5062001e0c62001dfc3362000bd3565b62001bb762001d808b8562000c36565b54948588111562001e395784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001e7a9162001e7262001e6962001e593362000bd3565b62001bb762001d80868c62000c36565b91825462003a6e565b905562003a29565b939092919262001d1a565b62001ea1919750853d8711620007b0576200079f818362001450565b953862001dec565b9662001ef462001e7a929762001ee962001ed662001d8062001ecf889d9b999b62003a4e565b8b62000c36565b62001ee2858b62000c36565b9062004751565b6200092a886200484f565b62003a29565b94509462001d20565b604051634e23e81760e11b8152fd5b34620004b057602062001f4862001f2936620005db565b6001600160a01b03909116600090815261010b84526040902062000c09565b54604051908152f35b34620004b05762001f6236620005db565b62001f6c6200494d565b62001f7662004dd6565b62001f88620009dd6101005460ff1690565b620020b45762001fa6620009dd604062000eee620006738662000bb8565b620020a2578162001fbd6200067360009462000bb8565b62001fc88262004efe565b62001fe962001fd78362000bb8565b60026000918281558260018201550155565b602062002025816200200262000ad4610105546200056f565b930192835160405197888094819363a9059cbb60e01b83528a6004840162004736565b03925af1908115620007b8577fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39462001c60926200206d575b505160405193849384620047aa565b620020929060203d81116200209a575b62002089818362001450565b810190620049e5565b50386200205e565b503d6200207d565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b34620004b0576000366003190112620004b057610103546040516001600160a01b039091168152602090f35b34620004b0576000366003190112620004b057610106546040516001600160a01b039091168152602090f35b34620004b05760008060031936011262001084576200213c62002fb6565b603380546001600160a01b0319811690915581906001600160a01b03166000805160206200548f8339815191528280a380f35b34620004b0576020366003190112620004b0576200218c62004dd6565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa918215620007b8576200093092602091600091620021e5575b500151166200092a81620042f6565b62002204913d8091833e620021fb818362001450565b81019062004d3a565b38620021d6565b34620004b0576000366003190112620004b0576020604051600080516020620053ef8339815191528152f35b34620004b0576000366003190112620004b057610104546040516001600160a01b039091168152602090f35b34620004b0576020366003190112620004b0576200228062004dd6565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa8015620007b857602062000ad491620022d493600091620022fc575b5001516200056f565b620022df81620042f6565b620022ea8162004b61565b620022f157005b620009309062004e2d565b62002312913d8091833e620021fb818362001450565b38620022cb565b34620004b0576020366003190112620004b05760606004356200233c816200057b565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b34620004b0576000366003190112620004b057602060fd54604051908152f35b34620004b0576000366003190112620004b0576033546040516001600160a01b039091168152602090f35b34620004b0576040366003190112620004b057602060ff6200138e602435620023ef816200057b565b60043560005260c98452604060002062000c09565b34620004b0576000366003190112620004b057602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620004b0576000366003190112620004b057602060405160008152f35b34620004b0576020366003190112620004b0576020604060043562002478816200057b565b60018060a01b0380911660005261010c835260ff600283600020845193620024a08562001420565b815416845260018101548685015201541615159182910152604051908152f35b34620004b0576000366003190112620004b0576101005460405160089190911c6001600160a01b03168152602090f35b34620004b057600080600319360112620010845761010380546001600160a01b0381169033829003620025655761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620025a9575b60208310146200259357565b634e487b7160e01b600052602260045260246000fd5b91607f169162002587565b60005b838110620025c85750506000910152565b8181015183820152602001620025b7565b90602091620025f481518092818552858086019101620025b4565b601f01601f1916010190565b90602062000605928181520190620025d9565b34620004b05760008060031936011262001084576040518161010980546200263b8162002577565b80855291600191808316908115620026b7575060011462002677575b62000b76856200266a8189038262001450565b6040519182918262002600565b835260208084209095505b828410620026a3575050508162000b76936200266a92820101933862002657565b805485850187015292850192810162002682565b905062000b7696506200266a9450602092508593915060ff191682840152151560051b820101933862002657565b34620004b0576000806003193601126200108457620027036200494d565b6200270e33620047cc565b620027193362004efe565b8062002729620006733362000bb8565b6200273862001fd73362000bb8565b6200274d620027473362000bee565b62003bcb565b602062002789816200276662000ad4610105546200056f565b930192835160405195868094819363a9059cbb60e01b8352336004840162004736565b03925af1908115620007b8577fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f492620027d292620027e0575b5051604051918291338362004736565b0390a162000f076001606555565b620027fb9060203d81116200209a5762002089818362001450565b5038620027c2565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200282d57565b62002803565b34620004b0576000366003190112620004b0576020604051620186a08152f35b34620004b05760008060031936011262001084576040518161010880546200287b8162002577565b80855291600191808316908115620026b75750600114620028a95762000b76856200266a8189038262001450565b835260208084209095505b828410620028d5575050508162000b76936200266a92820101933862002657565b8054858501870152928501928101620028b4565b34620004b0576040366003190112620004b0576200093060243560043562002911826200057b565b8060005260c96020526200292d60016040600020015462002d4f565b62002f3d565b34620004b0576000366003190112620004b057610107546040516001600160a01b039091168152602090f35b34620004b0576000366003190112620004b05760206040516127108152f35b34620004b0576000366003190112620004b057610105546040516001600160a01b039091168152602090f35b34620004b057610240366003190112620004b057600435620029cc816200057b565b60243590620029db826200057b565b36604319016101e08112620004b057608060405191620029fb83620013cc565b12620004b05760405162002a0f81620013e8565b60443581526064356020820152608435604082015260a4356060820152815262002a386200165e565b602082015262002a4762001688565b604082015262002a5736620016c9565b606082015262002a673662001766565b608082015262002a76620005ae565b60a082015262002a85620005be565b60c082015261022435926001600160401b038411620004b05762002ab2620019ee943690600401620018a2565b92620045c9565b34620004b0576020366003190112620004b057602060ff6200138e60043562002ae2816200057b565b600080516020620053ef83398151915260005260c98452604060002062000c09565b34620004b0576020366003190112620004b05760043562002b25816200057b565b62002b2f62002fb6565b6001600160a01b0381161562002b4a5762000930906200300f565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620004b0576000366003190112620004b057610101546040516001600160a01b039091168152602090f35b80151503620004b057565b35906200059c8262002bca565b34620004b057600319604036820112620004b0576001600160401b039060043590828211620004b0576101a0908236030112620004b05762002c2362001474565b9062002c3281600401620005ce565b825262002c4260248201620005ce565b602083015260448101356040830152606481013560608301526084810135608083015262002c7360a48201620005ce565b60a083015262002c8660c48201620005ce565b60c083015260e4810135838111620004b05762002caa9060043691840101620018a2565b60e083015262002cbe6101048201620005ce565b610100830152610124810135838111620004b05762002ce4906004369184010162001884565b61012083015262002cf9610144820162002bd5565b610140830152610164810135928311620004b05761018462002d389162002d2b62000930956004369184010162001884565b61016085015201620005ce565b61018082015262002d486200058d565b9062003561565b8060005260c960205260ff62002d6a33604060002062000c09565b54161562002d755750565b339062002d8162003064565b91603062002d8f8462003081565b53607862002d9d846200308f565b5360295b6001811162002e54576200123c62002e0f62002e3b8662002e2c62002dd28862002dcc8915620030c0565b6200310c565b62002e0860405195869462002e086020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002e9c565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262001450565b60405162461bcd60e51b81529182916004830162002600565b90600f811690601082101562000c4f5762002e96916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002e8b8487620030a0565b5360041c91620030b2565b62002da1565b9062002eb160209282815194859201620025b4565b0190565b600080516020620053ef833981519152600081815260c96020529060ff62002eed84600080516020620054cf83398151915262000c09565b54161562002efa57505050565b80825260c960205262002f11836040842062000c09565b805460ff1916600117905533926001600160a01b031691600080516020620053cf8339815191529080a4565b60009080825260c960205260ff62002f59846040852062000c09565b541662002f6557505050565b80825260c960205262002f7c836040842062000c09565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b6033546001600160a01b0316330362002fcb57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091166000805160206200548f833981519152600080a3565b90600282018092116200282d57565b919082018092116200282d57565b60405190620030738262001420565b602a82526040366020840137565b80511562000c4f5760200190565b80516001101562000c4f5760210190565b90815181101562000c4f570160200190565b80156200282d576000190190565b15620030c857565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b604051906200311b82620013e8565b6042825260603660208401376030620031348362003081565b53607862003142836200308f565b536041905b600182116200315d5762000605915015620030c0565b600f811690601082101562000c4f5762003193916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002e8b8486620030a0565b9062003147565b15620031a257565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200544f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620031f357565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200544f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b90816020910312620004b0575190565b6040513d6000823e3d90fd5b156200326057565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b156200333d576000805160206200546f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b90620033a48262003306565b6001600160a01b038216600080516020620054af833981519152600080a280511580159062003445575b620033d7575050565b620034429160008060405193620033ee8562001420565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200343b62003495565b91620034ca565b50565b506001620033ce565b906200345a8262003306565b6001600160a01b038216600080516020620054af833981519152600080a28051158015906200348c57620033d7575050565b506000620033ce565b3d15620034c5573d90620034a98262001495565b91620034b9604051938462001450565b82523d6000602084013e565b606090565b919290156200352f5750815115620034e0575090565b3b15620034ea5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620035435750805190602001fd5b60405162461bcd60e51b81529081906200123c906004830162002600565b6000549160ff8360081c16158093819462003690575b81156200366d575b50156200361157620035aa91836200359f600160ff196000541617600055565b620035f65762003cc6565b620035b157565b620035c261ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200360b61010061ff00196000541617600055565b62003cc6565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003681575b50386200357f565b6001915060ff16143862003679565b600160ff821610915062003577565b818110620036ab575050565b600081556001016200369f565b90601f8211620036c6575050565b6200059c916101086000526020600020906020601f840160051c83019310620036f8575b601f0160051c01906200369f565b9091508190620036ea565b90601f821162003711575050565b6200059c916101096000526020600020906020601f840160051c83019310620036f857601f0160051c01906200369f565b80519091906001600160401b0381116200127c576101089062003771816200376b845462002577565b620036b8565b602080601f8311600114620037b0575081929394600092620037a4575b50508160011b916000199060031b1c1916179055565b0151905038806200378e565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b888210620038205750508360019596971062003806575b505050811b019055565b015160001960f88460031b161c19169055388080620037fc565b80600185968294968601518155019501930190620037e5565b80519091906001600160401b0381116200127c5761010990620038688162003862845462002577565b62003703565b602080601f83116001146200389a575081929394600092620037a45750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b888210620038ef575050836001959697106200380657505050811b019055565b80600185968294968601518155019501930190620038cf565b51906200059c826200057b565b90816020910312620004b0575162000605816200057b565b6001600160401b0381116200127c5760051b60200190565b6020908181840312620004b0578051906001600160401b038211620004b057019180601f84011215620004b05782516200397f816200392d565b936200398f604051958662001450565b818552838086019260051b820101928311620004b0578301905b828210620039b8575050505090565b8380918351620039c8816200057b565b815201910190620039a9565b60405190620039e382620013e8565b600382526060366020840137565b90620039fd826200392d565b62003a0c604051918262001450565b828152809262003a1f601f19916200392d565b0190602036910137565b60001981146200282d5760010190565b805182101562000c4f5760209160051b010190565b6000198101919082116200282d57565b6001198101919082116200282d57565b919082039182116200282d57565b9060009161010880549162003a918362002577565b91828252600193848116908160001462003af8575060011462003ab5575b50505050565b90919394506000526020928360002092846000945b83861062003ae357505050500101903880808062003aaf565b80548587018301529401938590820162003aca565b9294505050602093945060ff191683830152151560051b0101903880808062003aaf565b90604060206200060593805184520151918160208201520190620025d9565b90815180825260208080930193019160005b82811062003b5c575050505090565b83516001600160a01b03168552938101939281019260010162003b4d565b9062000605949262003bac91835260a0602084015262003b9d60a0840162003a7c565b90838203604085015262003b1c565b6001600160a01b03909316606082015280830360809091015262003b3b565b8054600082558062003bdb575050565b6200059c916000526020600020908101906200369f565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b0382116200127c57600160401b82116200127c5761010f90815483835580841062003c78575b50602080910191600052806000209060005b84811062003c5c575050505050565b83516001600160a01b0316838201559281019260010162003c4d565b62003c92908360005284602060002091820191016200369f565b3862003c3b565b9091620006059282526060602083015262003cb76060830162003a7c565b91604081840391015262003b1c565b9062003cd1620042ae565b62003cdb620042d7565b62003ce562004232565b62003cef62004245565b6020918281019162003d1062003d0a62000ad485516200056f565b620042f6565b610100820162003d2962003d0a62000ad483516200056f565b62003d3962003d0a84516200056f565b60a083019062003d4e62003d0a83516200056f565b61018084019162003d6462003d0a84516200056f565b62003dd862003db660608701978851620041b8575b62003daf62003d8d62000ad48a516200056f565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b516200056f565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b604095868601805115620041a75762000ad462003f03959462003e7d62003e5b62003efd9662003e3b62003e276101408e62000eee62003edb9b62003e2162003eb89c5160fc55565b5160fd55565b6101009060ff801983541691151516179055565b62003e4b6101208d015162003742565b62003daf6101608d015162003839565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b62003daf62003e9060c08b01516200056f565b6101008054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b0383161790559262003daf565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b62002eb5565b60048462003f1862000ad4610107546200056f565b8551635ab1bd5360e01b815292839182905afa8015620007b85762003f649160009162004185575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b60009062003f7962000ad4610106546200056f565b91823b620040cc575062003fc762003f90620039d4565b9262003fb03362003fa18662003081565b6001600160a01b039091169052565b62003fa162003fc0855162003a4e565b8562003a39565b62003fdc3062003fa162003fc0855162003a5e565b62004021858362003ff462000ad4610104546200056f565b60e06080880151970196600088518a5196879586948593633a92f65f60e01b855230916004860162003b7a565b03925af1928315620007b8576200406d620040959462004073937f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320599600092620040aa575b505060ff55565b62003c0b565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b620035f160ff54915192519283928362003c99565b620040c49250803d10620007b0576200079f818362001450565b388062004066565b93909592819592955163a0e67e2b60e01b815285816004818a5afa958615620007b85780966200415b575b50506200410f62004109865162003047565b620039f1565b9660005b865181101562004148578062001ef46200413662001b3562004142948b62003a39565b62003fa1838d62003a39565b62004113565b509194509295919462003fc79062003fb0565b6200417c9296503d8091833e62004173818362001450565b81019062003945565b933880620040f7565b620041a09150863d8811620010295762001017818362001450565b3862003f40565b87516363868c5560e11b8152600490fd5b620041cb62003d0a60c08a01516200056f565b62003d79565b15620041d957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6200059c60ff60005460081c16620041d1565b600080516020620053ef833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b620042cc60ff60005460081c16620042c681620041d1565b620041d1565b6200059c336200300f565b620042ef60ff60005460081c16620042c681620041d1565b6001606555565b6001600160a01b0316156200430757565b6040516303988b8160e61b8152600490fd5b6001600160a01b0391821681529116602082015260400190565b6001600160a01b0390911681526040602082018190526200060592910190620025d9565b6040519061010f828154918282526020928383019160005283600020936000905b82821062004391575050506200059c9250038362001450565b85546001600160a01b03168452600195860195889550938101939091019062004378565b9060405191828154918282526020928383019160005283600020936000905b828210620043ed575050506200059c9250038362001450565b85546001600160a01b031684526001958601958895509381019390910190620043d4565b634e487b7160e01b600052602160045260246000fd5b906003821015620044355752565b62004411565b600411156200443557565b906004821015620044355752565b6200059c909291926101c060c06101e083019560608151805186526020810151602087015260408101516040870152015160608501526200449e6020820151608086019062004427565b620044b2604082015160a086019062004446565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b94909162004564620045809462000605989694885260018060a01b03809316602089015260e0604089015260e0880190620025d9565b921660608601526000608086015284820360a086015262003b1c565b9160c081840391015262003b3b565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a060808201819052620006059291019062003b1c565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b038616620046dd575b60206200463782968360006200460862004357565b92620046656200461f62000ad4610107546200056f565b946200464660ff54936040519889918b830162004454565b03601f19810189528862001450565b896040519b8c98899788966370803ea560e11b8852600488016200452e565b03925af1918215620007b8577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620046b3575b50620035f19083976040519485943091866200458f565b620035f1919350620046d59060203d8111620007b0576200079f818362001450565b92906200469c565b859250620045f3565b90604051620046f58162001420565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b90816020910312620004b0575162000605816200166e565b6001600160a01b039091168152602081019190915260400190565b805490926200476c926001600160a01b039091169162003bf2565b9055565b805490600160401b8210156200127c5781620047969160016200476c9401815562000c36565b815491936001600160a01b03169162003bf2565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff6002604060002060405193620047f78562001420565b815416845260018101546020850152015416159060408215910152620020a257565b6001600160a01b0316600090815261010a602052604090205460ff16156200483d57565b6040516346c26e4b60e01b8152600490fd5b805480156200487f57600019019062004869828262000c36565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b815490818110156200494557620048ca818462000c36565b905460039391841b1c861687871614620048f2575b50620048ec915062003a29565b620048b2565b60001981019081116200282d57620048ec926200491187928662000c36565b9054911b1c166200493162004927838662000c36565b8193915462003bf2565b90556200493e836200484f565b38620048df565b505050915050565b6002606554146200495f576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90620049df90620049d06200059c956040519586936323b872dd60e01b602086015260248501620047aa565b03601f19810184528362001450565b620049fd565b90816020910312620004b05751620006058162002bca565b60405162004a5a916001600160a01b031662004a198262001404565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200343b62003495565b80519082821592831562004acc575b5050501562004a755750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b62004ade9350820181019101620049e5565b38828162004a69565b3360005261010c602052604060002060ff60026040519262004b098462001420565b80546001600160a01b0316845260018101546020850152015416158015604090920191909152620020a257565b620049df6200059c9392620049d060405194859263a9059cbb60e01b60208501526024840162004736565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004b8e8162001420565b51617530938685fa933d600051908662004c41575b508562004c36575b508462004bcc575b5050508162004bc0575090565b62000605915062004c4d565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004bfa8162001420565b5192fa60005190913d8362004c2a575b50508162004c1f575b50159038808062004bb3565b905015153862004c13565b10159150388062004c0a565b151594503862004bab565b84111595503862004ba3565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004c7f8162001420565b5191617530fa6000513d8262004ca2575b508162004c9b575090565b9050151590565b6020111591503862004c90565b9190604083820312620004b05760405162004cca8162001404565b83518152602084015190938491906001600160401b038211620004b057019082601f83011215620004b05781519162004d038362001495565b9362004d13604051958662001450565b83855260208483010111620004b05760209262004d3691848087019101620025b4565b0152565b90602082820312620004b05781516001600160401b0392838211620004b0570160c081830312620004b0576040519262004d7484620013b0565b81518452602082015162004d88816200057b565b602085015262004d9b6040830162003908565b60408501526060820151908111620004b05760a09262004dbd91830162004caf565b606084015260808101516080840152015160a082015290565b600080516020620053ef83398151915260005260c960205260ff62004e0b33600080516020620054cf83398151915262000c09565b54161562004e1557565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff1662004e9557816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49162004ed681620042f6565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062004f23828520620043b5565b845b815181101562004fb65762004f4762000ad462000ad462001b35848662003a39565b90813b1562004fb2578685518093631914f67160e21b825281838162004f718a6004830162000c55565b03925af1918215620007b85762004f8e9262004f94575062003a29565b62004f25565b8062004fa462004fab926200143c565b80620004b5565b3862001b87565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220bd02083f1eefe03574f312a3ba1c3ed2140a06407378fe5c4ae3a9f36933687464736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a26469706673582212204a4f188e09a48d6313c176e45417d2bdb0440904ab954db5b56ccfbf0784dd5e64736f6c63430008130033","sourceMap":"1384:23526:117:-:0;;;;;;;1088:4:66;1080:13;;1384:23526:117;;;;;;1080:13:66;1384:23526:117;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004555780630331383c146200038957806308386eba146200044f5780630d12bbdb14620004495780630d4a8b491462000443578063175188e8146200043d5780631f787d281462000437578063223e5479146200043157806322bcf999146200042b578063248a9ca3146200042557806328c309e9146200041f5780632b38c69c14620004195780632c611c4a14620004135780632f2ff15d146200040d57806331f61bca14620004075780633396045914620004015780633517aa7d14620003fb57806336568abe14620003f55780633659cfe614620003ef578063397e254314620003e95780633a871fe114620003e3578063477a5cc014620003dd5780634f1ef28614620003d7578063524e59e814620003d157806352d1902d14620003cb578063559de05d14620003c55780635c94e4d214620003bf5780635ecf71c514620003b957806365e3864c146200038f5780636871eb4d14620003b357806368decabb14620003ad5780636c53db9a14620003a7578063715018a614620003a157806373265c37146200039b578063733a2d1f14620003955780637817ee4f146200038f57806378a0b8a914620003895780637b103999146200038357806382d6a1e7146200037d57806388cfe68414620003775780638961be6b14620003715780638da5cb5b146200036b57806391d148541462000365578063a0cf0aea146200035f578063a217fddf1462000359578063a230c5241462000353578063b3f00674146200034d578063b5058c501462000347578063b64e39af1462000341578063b99b4370146200033b578063bc063e1a1462000335578063c6d572ae146200032f578063d547741f1462000329578063d6d8428d1462000323578063d7050f07146200031d578063db61d65c1462000317578063e16d0e321462000311578063ebd7dc52146200030b578063f2fde38b1462000305578063f86c5f8914620002ff5763fa50f53d14620002f957600080fd5b62002be2565b62002b9e565b62002b04565b62002ab9565b620029aa565b6200297e565b6200295f565b62002933565b620028e9565b62002853565b62002833565b620026e5565b62002613565b620024f0565b620024c0565b62002453565b62002435565b62002404565b620023c6565b6200239b565b6200237b565b62002319565b62002263565b62002237565b620004c1565b62001f12565b6200220b565b6200216f565b6200211e565b620020f2565b620020c6565b62001f51565b62001c9a565b62001c6e565b62001acd565b62001a09565b620018eb565b620014ed565b62001356565b6200130f565b62001282565b62001124565b62001087565b62000e2f565b62000e0f565b62000dbf565b62000d12565b62000ccd565b62000c68565b62000aaf565b62000a7e565b6200098d565b62000958565b62000932565b620008fb565b62000608565b62000501565b620004e1565b34620004b0576020366003190112620004b05760043563ffffffff60e01b8116809103620004b057602090637965db0b60e01b81149081156200049e575b506040519015158152f35b6301ffc9a760e01b1490503862000493565b600080fd5b6000910312620004b057565b34620004b0576000366003190112620004b057602060fc54604051908152f35b34620004b0576000366003190112620004b057602060ff54604051908152f35b34620004b0576020366003190112620004b0576004356200052162004dd6565b620186a081116200055d576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fd55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b03811603620004b057565b602435906200059c826200057b565b565b6101c435906200059c826200057b565b6101e435906200059c826200057b565b61020435906200059c826200057b565b35906200059c826200057b565b6040906003190112620004b057600435620005f6816200057b565b9060243562000605816200057b565b90565b34620004b0576200061936620005db565b6200062482620047cc565b6200062f8162004819565b6200063a81620042f6565b6200065b62000654826200064e8562000b9d565b62000c09565b5460ff1690565b620008e9576020908162000679620006738562000bb8565b620046e6565b015160fc5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af18015620007b8576003918a91620008c7575b50620006c6816200443b565b03620007be57505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af18015620007b8576000805160206200542f833981519152946200077e92879262000784575b50505b8062000739856200064e8662000bd3565b556200075b6200074e856200064e8662000b9d565b805460ff19166001179055565b62000771846200076b8562000bee565b62004770565b60405193849384620047aa565b0390a180f35b620007a89250803d10620007b0575b6200079f818362001450565b8101906200323c565b388062000725565b503d62000793565b6200324c565b604096919392965193845282846004818b865af18015620007b8578894859162000893575b50620007ef816200443b565b62000814575b505050506200077e6000805160206200542f8339815191529362000728565b82939650906200083c9160405197888094819363782aadff60e01b8352896004840162004736565b03925af18015620007b8576000805160206200542f833981519152946200077e92879262000871575b505093859138620007f5565b6200088b9250803d10620007b0576200079f818362001450565b388062000865565b620008b89150843d8611620008bf575b620008af818362001450565b8101906200471e565b38620007e3565b503d620008a3565b620008e29150863d8811620008bf57620008af818362001450565b38620006ba565b604051636adcde4b60e11b8152600490fd5b34620004b0576020366003190112620004b0576200093060043562000920816200057b565b6200092a62004dd6565b62004ea7565b005b34620004b0576000366003190112620004b057602060ff61010054166040519015158152f35b34620004b0576020366003190112620004b057620009306004356200097d816200057b565b6200098762004dd6565b62004e2d565b34620004b0576200099e36620005db565b620009a982620047cc565b620009b481620042f6565b6001600160a01b038116330362000a6c57620009e1620009dd62000654836200064e8662000b9d565b1590565b62000a5a578162000a2562000a1b836200064e7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000b9d565b805460ff19169055565b600062000a37836200064e8462000bd3565b5562000a44828262004895565b62000a556040519283928362004319565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b34620004b0576020366003190112620004b05760043560005260c96020526020600160406000200154604051908152f35b34620004b0576000366003190112620004b05762000ada62000ad4610101546200056f565b6200056f565b60fc549062000af962000af060fd548462002819565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000b1c306004830162000c55565b03916001600160a01b03165afa918215620007b85762000b769362000b5962000af062000b669562000b609460009162000b7a575b508562002819565b9262003056565b62003056565b6040519081529081906020820190565b0390f35b62000b96915060203d8111620007b0576200079f818362001450565b3862000b51565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000c4f5760005260206000200190600090565b62000c20565b6001600160a01b03909116815260200190565b34620004b0576040366003190112620004b05760043562000c89816200057b565b6024359060018060a01b0380911660005261010d60205260406000208054831015620004b05760209262000cbd9162000c36565b9190546040519260031b1c168152f35b34620004b0576020366003190112620004b05760043562000cee816200057b565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b34620004b0576040366003190112620004b05760043560243562000d36816200057b565b60009180835260c960205262000d53600160408520015462002d4f565b80835260c960205260ff62000d6c836040862062000c09565b54161562000d78578280f35b80835260c960205262000d8f826040852062000c09565b805460ff1916600117905533916001600160a01b031690600080516020620053cf8339815191528480a438808280f35b34620004b0576020366003190112620004b0577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000e0262004dd6565b8060fc55604051908152a1005b34620004b0576000366003190112620004b057602060fe54604051908152f35b34620004b057600080600319360112620010845762000e4d6200494d565b62000e583362000bb8565b62000e6a62000ad4610101546200056f565b60fc549162000e8062000af060fd548562002819565b6040516302a64b8360e21b815260209491936001600160a01b0316919085818062000eaf306004830162000c55565b0381865afa8015620007b85762000ed49262000af092899262001060575b5062002819565b9262000ef5620009dd604062000eee620006733362000bb8565b0151151590565b62000f0a575b8562000f076001606555565b80f35b8262000f22600260019501600160ff19825416179055565b60fc54938491015562000f5a6101059362000f4f8662000b608562000f4889546200056f565b9462003056565b9030903390620049a4565b8062001031575b508262000fb1575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768962000fa360fc54604051918291338362004736565b0390a1388080808062000efb565b8362000fc0600493546200056f565b9160405193848092634c3a1adf60e11b82525afa918215620007b85762000ff194869362000ffb575b505062004b36565b3880808062000f69565b62001020929350803d1062001029575b62001017818362001450565b81019062003915565b90388062000fe9565b503d6200100b565b62001059906200104284546200056f565b6101005460081c6001600160a01b03169062004b36565b3862000f61565b6200107c919250883d8a11620007b0576200079f818362001450565b903862000ecd565b80fd5b34620004b0576040366003190112620004b057602435620010a8816200057b565b336001600160a01b03821603620010c757620009309060043562002f3d565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620004b0576020366003190112620004b05760043562001145816200057b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062001180308414156200319a565b620011a06000805160206200546f833981519152938285541614620031eb565b620011aa62002fb6565b60405190602082016001600160401b038111838210176200127c57604052600082526000805160206200540f8339815191525460ff1615620011f457505062000930915062003306565b6020600491604094939451928380926352d1902d60e01b825286165afa6000918162001257575b50620012405760405162461bcd60e51b8152806200123c60048201620032b7565b0390fd5b620009309362001251911462003258565b6200344e565b6200127491925060203d8111620007b0576200079f818362001450565b90386200121b565b6200139a565b34620004b0576020366003190112620004b0577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf86040600435620012c6816200057b565b620012d062004dd6565b6001600160a01b0390811690620012e782620042f6565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b34620004b0576020366003190112620004b05760043562001330816200057b565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b34620004b057602060ff6200138e6200136f36620005db565b6001600160a01b03909116600090815261010e85526040902062000c09565b54166040519015158152f35b634e487b7160e01b600052604160045260246000fd5b60c081019081106001600160401b038211176200127c57604052565b60e081019081106001600160401b038211176200127c57604052565b608081019081106001600160401b038211176200127c57604052565b604081019081106001600160401b038211176200127c57604052565b606081019081106001600160401b038211176200127c57604052565b6001600160401b0381116200127c57604052565b601f909101601f19168101906001600160401b038211908210176200127c57604052565b604051906101a082016001600160401b038111838210176200127c57604052565b6001600160401b0381116200127c57601f01601f191660200190565b929192620014bf8262001495565b91620014cf604051938462001450565b829481845281830111620004b0578281602093846000960137010152565b6040366003190112620004b05760043562001508816200057b565b6024356001600160401b038111620004b05736602382011215620004b0576200153c903690602481600401359101620014b1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692919062001578308514156200319a565b620015986000805160206200546f833981519152948286541614620031eb565b620015a262002fb6565b6000805160206200540f8339815191525460ff1615620015ca57505062000930915062003306565b6020600491604094939451928380926352d1902d60e01b825286165afa6000918162001629575b50620016125760405162461bcd60e51b8152806200123c60048201620032b7565b620009309362001623911462003258565b62003398565b6200164691925060203d8111620007b0576200079f818362001450565b9038620015f1565b60a435906003821015620004b057565b60c435906003821015620004b057565b60041115620004b057565b60c435906200059c826200166e565b60e435906200059c826200166e565b60209060e3190112620004b05760405190602082016001600160401b038111838210176200127c5760405260e4358252565b602090610103190112620004b05760405190602082016001600160401b038111838210176200127c57604052610104358252565b60c090610103190112620004b057604051906200171a82620013b0565b81610104356200172a816200057b565b8152610124356200173b816200057b565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c090610123190112620004b057604051906200178382620013b0565b816101243562001793816200057b565b815261014435620017a4816200057b565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e08312620004b05760405190620017ef82620013cc565b6080829412620004b0576200185f906040516200180c81620013e8565b60243581526044356020820152606435604082015260843560608201528352620018356200164e565b60208401526200184462001679565b6040840152620018548162001697565b6060840152620016fd565b60808201526200186e6200059e565b60a082015260c06200187f620005ae565b910152565b9080601f83011215620004b0578160206200060593359101620014b1565b9190604083820312620004b05760405190620018be8262001404565b8335825290928391602082013591906001600160401b038311620004b0576020926200187f920162001884565b34620004b057610220366003190112620004b0576004356200190d816200057b565b6200191836620017cf565b6001600160401b039061020435828111620004b0576200193d903690600401620018a2565b916200194c610102546200056f565b906200195f62000ad4610107546200056f565b91620019a26200197160fb546200056f565b60405163784d200b60e11b602082015294859162001993916024840162004319565b03601f19810185528462001450565b604051926104109182850193858510908511176200127c578493620019cd9362004fbf863962004333565b03906000f0928315620007b857620019ee936001600160a01b0316620045c9565b604080519283526001600160a01b0391909116602083015290f35b34620004b0576000366003190112620004b0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001a67576040516000805160206200546f8339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b34620004b057602080600319360112620004b05760049081359162001af16200494d565b62001afb62004ae7565b62001b1062001b0a3362000bee565b620043b5565b60005b815181101562001bf25762001b4262000ad462000ad462001b35848662003a39565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001b668c338c840162004736565b03925af18015620007b85762001b8e9260009162001bd0575b508062001b94575b5062003a29565b62001b13565b62001bc762001bbe62001ba73362000bd3565b62001bb762001b35868962003a39565b9062000c09565b91825462003056565b90553862001b87565b62001beb9150863d8811620007b0576200079f818362001450565b3862001b7f565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001c608662001c358162001c2b610105546200056f565b30903390620049a4565b600162001c423362000bb8565b0162001c5082825462003056565b9055604051918291338362004736565b0390a1620009306001606555565b34620004b0576000366003190112620004b057610102546040516001600160a01b039091168152602090f35b34620004b057602080600319360112620004b05760049081359062001cbe6200494d565b62001cc862004ae7565b62001cd33362000bee565b9060019362001cf0848662001ce83362000bb8565b015462003a6e565b60fc541162001f035790849262001d16853362001d10610105546200056f565b62004b36565b6000935b62001d60575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001c60868862001d523362000bb8565b0162001c5082825462003a6e565b909192948154948587101562001efa5762001d9562001d80888562000c36565b905460039190911b1c6001600160a01b031690565b9562001da18762004b61565b1562001ea957506040928484518098632ed04b2b60e01b82528160008162001dce888d3390840162004736565b03926001600160a01b03165af1968715620007b85760009762001e85575b5062001e0c62001dfc3362000bd3565b62001bb762001d808b8562000c36565b54948588111562001e395784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001e7a9162001e7262001e6962001e593362000bd3565b62001bb762001d80868c62000c36565b91825462003a6e565b905562003a29565b939092919262001d1a565b62001ea1919750853d8711620007b0576200079f818362001450565b953862001dec565b9662001ef462001e7a929762001ee962001ed662001d8062001ecf889d9b999b62003a4e565b8b62000c36565b62001ee2858b62000c36565b9062004751565b6200092a886200484f565b62003a29565b94509462001d20565b604051634e23e81760e11b8152fd5b34620004b057602062001f4862001f2936620005db565b6001600160a01b03909116600090815261010b84526040902062000c09565b54604051908152f35b34620004b05762001f6236620005db565b62001f6c6200494d565b62001f7662004dd6565b62001f88620009dd6101005460ff1690565b620020b45762001fa6620009dd604062000eee620006738662000bb8565b620020a2578162001fbd6200067360009462000bb8565b62001fc88262004efe565b62001fe962001fd78362000bb8565b60026000918281558260018201550155565b602062002025816200200262000ad4610105546200056f565b930192835160405197888094819363a9059cbb60e01b83528a6004840162004736565b03925af1908115620007b8577fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39462001c60926200206d575b505160405193849384620047aa565b620020929060203d81116200209a575b62002089818362001450565b810190620049e5565b50386200205e565b503d6200207d565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b34620004b0576000366003190112620004b057610103546040516001600160a01b039091168152602090f35b34620004b0576000366003190112620004b057610106546040516001600160a01b039091168152602090f35b34620004b05760008060031936011262001084576200213c62002fb6565b603380546001600160a01b0319811690915581906001600160a01b03166000805160206200548f8339815191528280a380f35b34620004b0576020366003190112620004b0576200218c62004dd6565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa918215620007b8576200093092602091600091620021e5575b500151166200092a81620042f6565b62002204913d8091833e620021fb818362001450565b81019062004d3a565b38620021d6565b34620004b0576000366003190112620004b0576020604051600080516020620053ef8339815191528152f35b34620004b0576000366003190112620004b057610104546040516001600160a01b039091168152602090f35b34620004b0576020366003190112620004b0576200228062004dd6565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa8015620007b857602062000ad491620022d493600091620022fc575b5001516200056f565b620022df81620042f6565b620022ea8162004b61565b620022f157005b620009309062004e2d565b62002312913d8091833e620021fb818362001450565b38620022cb565b34620004b0576020366003190112620004b05760606004356200233c816200057b565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b34620004b0576000366003190112620004b057602060fd54604051908152f35b34620004b0576000366003190112620004b0576033546040516001600160a01b039091168152602090f35b34620004b0576040366003190112620004b057602060ff6200138e602435620023ef816200057b565b60043560005260c98452604060002062000c09565b34620004b0576000366003190112620004b057602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620004b0576000366003190112620004b057602060405160008152f35b34620004b0576020366003190112620004b0576020604060043562002478816200057b565b60018060a01b0380911660005261010c835260ff600283600020845193620024a08562001420565b815416845260018101548685015201541615159182910152604051908152f35b34620004b0576000366003190112620004b0576101005460405160089190911c6001600160a01b03168152602090f35b34620004b057600080600319360112620010845761010380546001600160a01b0381169033829003620025655761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620025a9575b60208310146200259357565b634e487b7160e01b600052602260045260246000fd5b91607f169162002587565b60005b838110620025c85750506000910152565b8181015183820152602001620025b7565b90602091620025f481518092818552858086019101620025b4565b601f01601f1916010190565b90602062000605928181520190620025d9565b34620004b05760008060031936011262001084576040518161010980546200263b8162002577565b80855291600191808316908115620026b7575060011462002677575b62000b76856200266a8189038262001450565b6040519182918262002600565b835260208084209095505b828410620026a3575050508162000b76936200266a92820101933862002657565b805485850187015292850192810162002682565b905062000b7696506200266a9450602092508593915060ff191682840152151560051b820101933862002657565b34620004b0576000806003193601126200108457620027036200494d565b6200270e33620047cc565b620027193362004efe565b8062002729620006733362000bb8565b6200273862001fd73362000bb8565b6200274d620027473362000bee565b62003bcb565b602062002789816200276662000ad4610105546200056f565b930192835160405195868094819363a9059cbb60e01b8352336004840162004736565b03925af1908115620007b8577fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f492620027d292620027e0575b5051604051918291338362004736565b0390a162000f076001606555565b620027fb9060203d81116200209a5762002089818362001450565b5038620027c2565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200282d57565b62002803565b34620004b0576000366003190112620004b0576020604051620186a08152f35b34620004b05760008060031936011262001084576040518161010880546200287b8162002577565b80855291600191808316908115620026b75750600114620028a95762000b76856200266a8189038262001450565b835260208084209095505b828410620028d5575050508162000b76936200266a92820101933862002657565b8054858501870152928501928101620028b4565b34620004b0576040366003190112620004b0576200093060243560043562002911826200057b565b8060005260c96020526200292d60016040600020015462002d4f565b62002f3d565b34620004b0576000366003190112620004b057610107546040516001600160a01b039091168152602090f35b34620004b0576000366003190112620004b05760206040516127108152f35b34620004b0576000366003190112620004b057610105546040516001600160a01b039091168152602090f35b34620004b057610240366003190112620004b057600435620029cc816200057b565b60243590620029db826200057b565b36604319016101e08112620004b057608060405191620029fb83620013cc565b12620004b05760405162002a0f81620013e8565b60443581526064356020820152608435604082015260a4356060820152815262002a386200165e565b602082015262002a4762001688565b604082015262002a5736620016c9565b606082015262002a673662001766565b608082015262002a76620005ae565b60a082015262002a85620005be565b60c082015261022435926001600160401b038411620004b05762002ab2620019ee943690600401620018a2565b92620045c9565b34620004b0576020366003190112620004b057602060ff6200138e60043562002ae2816200057b565b600080516020620053ef83398151915260005260c98452604060002062000c09565b34620004b0576020366003190112620004b05760043562002b25816200057b565b62002b2f62002fb6565b6001600160a01b0381161562002b4a5762000930906200300f565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620004b0576000366003190112620004b057610101546040516001600160a01b039091168152602090f35b80151503620004b057565b35906200059c8262002bca565b34620004b057600319604036820112620004b0576001600160401b039060043590828211620004b0576101a0908236030112620004b05762002c2362001474565b9062002c3281600401620005ce565b825262002c4260248201620005ce565b602083015260448101356040830152606481013560608301526084810135608083015262002c7360a48201620005ce565b60a083015262002c8660c48201620005ce565b60c083015260e4810135838111620004b05762002caa9060043691840101620018a2565b60e083015262002cbe6101048201620005ce565b610100830152610124810135838111620004b05762002ce4906004369184010162001884565b61012083015262002cf9610144820162002bd5565b610140830152610164810135928311620004b05761018462002d389162002d2b62000930956004369184010162001884565b61016085015201620005ce565b61018082015262002d486200058d565b9062003561565b8060005260c960205260ff62002d6a33604060002062000c09565b54161562002d755750565b339062002d8162003064565b91603062002d8f8462003081565b53607862002d9d846200308f565b5360295b6001811162002e54576200123c62002e0f62002e3b8662002e2c62002dd28862002dcc8915620030c0565b6200310c565b62002e0860405195869462002e086020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002e9c565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262001450565b60405162461bcd60e51b81529182916004830162002600565b90600f811690601082101562000c4f5762002e96916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002e8b8487620030a0565b5360041c91620030b2565b62002da1565b9062002eb160209282815194859201620025b4565b0190565b600080516020620053ef833981519152600081815260c96020529060ff62002eed84600080516020620054cf83398151915262000c09565b54161562002efa57505050565b80825260c960205262002f11836040842062000c09565b805460ff1916600117905533926001600160a01b031691600080516020620053cf8339815191529080a4565b60009080825260c960205260ff62002f59846040852062000c09565b541662002f6557505050565b80825260c960205262002f7c836040842062000c09565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b6033546001600160a01b0316330362002fcb57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091166000805160206200548f833981519152600080a3565b90600282018092116200282d57565b919082018092116200282d57565b60405190620030738262001420565b602a82526040366020840137565b80511562000c4f5760200190565b80516001101562000c4f5760210190565b90815181101562000c4f570160200190565b80156200282d576000190190565b15620030c857565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b604051906200311b82620013e8565b6042825260603660208401376030620031348362003081565b53607862003142836200308f565b536041905b600182116200315d5762000605915015620030c0565b600f811690601082101562000c4f5762003193916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002e8b8486620030a0565b9062003147565b15620031a257565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200544f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620031f357565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200544f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b90816020910312620004b0575190565b6040513d6000823e3d90fd5b156200326057565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b156200333d576000805160206200546f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b90620033a48262003306565b6001600160a01b038216600080516020620054af833981519152600080a280511580159062003445575b620033d7575050565b620034429160008060405193620033ee8562001420565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200343b62003495565b91620034ca565b50565b506001620033ce565b906200345a8262003306565b6001600160a01b038216600080516020620054af833981519152600080a28051158015906200348c57620033d7575050565b506000620033ce565b3d15620034c5573d90620034a98262001495565b91620034b9604051938462001450565b82523d6000602084013e565b606090565b919290156200352f5750815115620034e0575090565b3b15620034ea5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620035435750805190602001fd5b60405162461bcd60e51b81529081906200123c906004830162002600565b6000549160ff8360081c16158093819462003690575b81156200366d575b50156200361157620035aa91836200359f600160ff196000541617600055565b620035f65762003cc6565b620035b157565b620035c261ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200360b61010061ff00196000541617600055565b62003cc6565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003681575b50386200357f565b6001915060ff16143862003679565b600160ff821610915062003577565b818110620036ab575050565b600081556001016200369f565b90601f8211620036c6575050565b6200059c916101086000526020600020906020601f840160051c83019310620036f8575b601f0160051c01906200369f565b9091508190620036ea565b90601f821162003711575050565b6200059c916101096000526020600020906020601f840160051c83019310620036f857601f0160051c01906200369f565b80519091906001600160401b0381116200127c576101089062003771816200376b845462002577565b620036b8565b602080601f8311600114620037b0575081929394600092620037a4575b50508160011b916000199060031b1c1916179055565b0151905038806200378e565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b888210620038205750508360019596971062003806575b505050811b019055565b015160001960f88460031b161c19169055388080620037fc565b80600185968294968601518155019501930190620037e5565b80519091906001600160401b0381116200127c5761010990620038688162003862845462002577565b62003703565b602080601f83116001146200389a575081929394600092620037a45750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b888210620038ef575050836001959697106200380657505050811b019055565b80600185968294968601518155019501930190620038cf565b51906200059c826200057b565b90816020910312620004b0575162000605816200057b565b6001600160401b0381116200127c5760051b60200190565b6020908181840312620004b0578051906001600160401b038211620004b057019180601f84011215620004b05782516200397f816200392d565b936200398f604051958662001450565b818552838086019260051b820101928311620004b0578301905b828210620039b8575050505090565b8380918351620039c8816200057b565b815201910190620039a9565b60405190620039e382620013e8565b600382526060366020840137565b90620039fd826200392d565b62003a0c604051918262001450565b828152809262003a1f601f19916200392d565b0190602036910137565b60001981146200282d5760010190565b805182101562000c4f5760209160051b010190565b6000198101919082116200282d57565b6001198101919082116200282d57565b919082039182116200282d57565b9060009161010880549162003a918362002577565b91828252600193848116908160001462003af8575060011462003ab5575b50505050565b90919394506000526020928360002092846000945b83861062003ae357505050500101903880808062003aaf565b80548587018301529401938590820162003aca565b9294505050602093945060ff191683830152151560051b0101903880808062003aaf565b90604060206200060593805184520151918160208201520190620025d9565b90815180825260208080930193019160005b82811062003b5c575050505090565b83516001600160a01b03168552938101939281019260010162003b4d565b9062000605949262003bac91835260a0602084015262003b9d60a0840162003a7c565b90838203604085015262003b1c565b6001600160a01b03909316606082015280830360809091015262003b3b565b8054600082558062003bdb575050565b6200059c916000526020600020908101906200369f565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b0382116200127c57600160401b82116200127c5761010f90815483835580841062003c78575b50602080910191600052806000209060005b84811062003c5c575050505050565b83516001600160a01b0316838201559281019260010162003c4d565b62003c92908360005284602060002091820191016200369f565b3862003c3b565b9091620006059282526060602083015262003cb76060830162003a7c565b91604081840391015262003b1c565b9062003cd1620042ae565b62003cdb620042d7565b62003ce562004232565b62003cef62004245565b6020918281019162003d1062003d0a62000ad485516200056f565b620042f6565b610100820162003d2962003d0a62000ad483516200056f565b62003d3962003d0a84516200056f565b60a083019062003d4e62003d0a83516200056f565b61018084019162003d6462003d0a84516200056f565b62003dd862003db660608701978851620041b8575b62003daf62003d8d62000ad48a516200056f565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b516200056f565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b604095868601805115620041a75762000ad462003f03959462003e7d62003e5b62003efd9662003e3b62003e276101408e62000eee62003edb9b62003e2162003eb89c5160fc55565b5160fd55565b6101009060ff801983541691151516179055565b62003e4b6101208d015162003742565b62003daf6101608d015162003839565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b62003daf62003e9060c08b01516200056f565b6101008054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b0383161790559262003daf565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b62002eb5565b60048462003f1862000ad4610107546200056f565b8551635ab1bd5360e01b815292839182905afa8015620007b85762003f649160009162004185575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b60009062003f7962000ad4610106546200056f565b91823b620040cc575062003fc762003f90620039d4565b9262003fb03362003fa18662003081565b6001600160a01b039091169052565b62003fa162003fc0855162003a4e565b8562003a39565b62003fdc3062003fa162003fc0855162003a5e565b62004021858362003ff462000ad4610104546200056f565b60e06080880151970196600088518a5196879586948593633a92f65f60e01b855230916004860162003b7a565b03925af1928315620007b8576200406d620040959462004073937f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320599600092620040aa575b505060ff55565b62003c0b565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b620035f160ff54915192519283928362003c99565b620040c49250803d10620007b0576200079f818362001450565b388062004066565b93909592819592955163a0e67e2b60e01b815285816004818a5afa958615620007b85780966200415b575b50506200410f62004109865162003047565b620039f1565b9660005b865181101562004148578062001ef46200413662001b3562004142948b62003a39565b62003fa1838d62003a39565b62004113565b509194509295919462003fc79062003fb0565b6200417c9296503d8091833e62004173818362001450565b81019062003945565b933880620040f7565b620041a09150863d8811620010295762001017818362001450565b3862003f40565b87516363868c5560e11b8152600490fd5b620041cb62003d0a60c08a01516200056f565b62003d79565b15620041d957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6200059c60ff60005460081c16620041d1565b600080516020620053ef833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b620042cc60ff60005460081c16620042c681620041d1565b620041d1565b6200059c336200300f565b620042ef60ff60005460081c16620042c681620041d1565b6001606555565b6001600160a01b0316156200430757565b6040516303988b8160e61b8152600490fd5b6001600160a01b0391821681529116602082015260400190565b6001600160a01b0390911681526040602082018190526200060592910190620025d9565b6040519061010f828154918282526020928383019160005283600020936000905b82821062004391575050506200059c9250038362001450565b85546001600160a01b03168452600195860195889550938101939091019062004378565b9060405191828154918282526020928383019160005283600020936000905b828210620043ed575050506200059c9250038362001450565b85546001600160a01b031684526001958601958895509381019390910190620043d4565b634e487b7160e01b600052602160045260246000fd5b906003821015620044355752565b62004411565b600411156200443557565b906004821015620044355752565b6200059c909291926101c060c06101e083019560608151805186526020810151602087015260408101516040870152015160608501526200449e6020820151608086019062004427565b620044b2604082015160a086019062004446565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b94909162004564620045809462000605989694885260018060a01b03809316602089015260e0604089015260e0880190620025d9565b921660608601526000608086015284820360a086015262003b1c565b9160c081840391015262003b3b565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a060808201819052620006059291019062003b1c565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b038616620046dd575b60206200463782968360006200460862004357565b92620046656200461f62000ad4610107546200056f565b946200464660ff54936040519889918b830162004454565b03601f19810189528862001450565b896040519b8c98899788966370803ea560e11b8852600488016200452e565b03925af1918215620007b8577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620046b3575b50620035f19083976040519485943091866200458f565b620035f1919350620046d59060203d8111620007b0576200079f818362001450565b92906200469c565b859250620045f3565b90604051620046f58162001420565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b90816020910312620004b0575162000605816200166e565b6001600160a01b039091168152602081019190915260400190565b805490926200476c926001600160a01b039091169162003bf2565b9055565b805490600160401b8210156200127c5781620047969160016200476c9401815562000c36565b815491936001600160a01b03169162003bf2565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff6002604060002060405193620047f78562001420565b815416845260018101546020850152015416159060408215910152620020a257565b6001600160a01b0316600090815261010a602052604090205460ff16156200483d57565b6040516346c26e4b60e01b8152600490fd5b805480156200487f57600019019062004869828262000c36565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b815490818110156200494557620048ca818462000c36565b905460039391841b1c861687871614620048f2575b50620048ec915062003a29565b620048b2565b60001981019081116200282d57620048ec926200491187928662000c36565b9054911b1c166200493162004927838662000c36565b8193915462003bf2565b90556200493e836200484f565b38620048df565b505050915050565b6002606554146200495f576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90620049df90620049d06200059c956040519586936323b872dd60e01b602086015260248501620047aa565b03601f19810184528362001450565b620049fd565b90816020910312620004b05751620006058162002bca565b60405162004a5a916001600160a01b031662004a198262001404565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200343b62003495565b80519082821592831562004acc575b5050501562004a755750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b62004ade9350820181019101620049e5565b38828162004a69565b3360005261010c602052604060002060ff60026040519262004b098462001420565b80546001600160a01b0316845260018101546020850152015416158015604090920191909152620020a257565b620049df6200059c9392620049d060405194859263a9059cbb60e01b60208501526024840162004736565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004b8e8162001420565b51617530938685fa933d600051908662004c41575b508562004c36575b508462004bcc575b5050508162004bc0575090565b62000605915062004c4d565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004bfa8162001420565b5192fa60005190913d8362004c2a575b50508162004c1f575b50159038808062004bb3565b905015153862004c13565b10159150388062004c0a565b151594503862004bab565b84111595503862004ba3565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004c7f8162001420565b5191617530fa6000513d8262004ca2575b508162004c9b575090565b9050151590565b6020111591503862004c90565b9190604083820312620004b05760405162004cca8162001404565b83518152602084015190938491906001600160401b038211620004b057019082601f83011215620004b05781519162004d038362001495565b9362004d13604051958662001450565b83855260208483010111620004b05760209262004d3691848087019101620025b4565b0152565b90602082820312620004b05781516001600160401b0392838211620004b0570160c081830312620004b0576040519262004d7484620013b0565b81518452602082015162004d88816200057b565b602085015262004d9b6040830162003908565b60408501526060820151908111620004b05760a09262004dbd91830162004caf565b606084015260808101516080840152015160a082015290565b600080516020620053ef83398151915260005260c960205260ff62004e0b33600080516020620054cf83398151915262000c09565b54161562004e1557565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff1662004e9557816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49162004ed681620042f6565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062004f23828520620043b5565b845b815181101562004fb65762004f4762000ad462000ad462001b35848662003a39565b90813b1562004fb2578685518093631914f67160e21b825281838162004f718a6004830162000c55565b03925af1918215620007b85762004f8e9262004f94575062003a29565b62004f25565b8062004fa462004fab926200143c565b80620004b5565b3862001b87565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220bd02083f1eefe03574f312a3ba1c3ed2140a06407378fe5c4ae3a9f36933687464736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a26469706673582212204a4f188e09a48d6313c176e45417d2bdb0440904ab954db5b56ccfbf0784dd5e64736f6c63430008130033","sourceMap":"1384:23526:117:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3158:58:45;;;:98;;;;1384:23526:117;;;;;;;;;;3158:98:45;-1:-1:-1;;;1189:51:55;;-1:-1:-1;3158:98:45;;;1384:23526:117;-1:-1:-1;1384:23526:117;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;22628:19;1384:23526;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;5232:24;1384:23526;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;22848:280;;:::i;:::-;4719:7;22947:26;;22943:86;;1384:23526;;23084:37;1384:23526;23038:31;1384:23526;;;;;;23084:37;1384:23526;22943:86;1384:23526;;-1:-1:-1;;;22996:22:117;;1384:23526;;22996:22;1384:23526;-1:-1:-1;;;;;1384:23526:117;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;:::i;:::-;12874:7;;;:::i;:::-;12912:9;;;:::i;:::-;12951;;;:::i;:::-;12976:47;;:36;;;;:::i;:::-;:47;:::i;:::-;1384:23526;;;;;12976:47;12972:107;;13179:19;13112:28;;1384:23526;13112:28;;;:::i;:::-;1384:23526;:::i;:::-;13179:19;1384:23526;13235:19;1384:23526;;;-1:-1:-1;;;13269:42:117;;;-1:-1:-1;;;;;;;1384:23526:117;;;;;;;;;;;;-1:-1:-1;1384:23526:117;13269:42;;;;;;13315:36;13269:42;;;;;1384:23526;;;;;:::i;:::-;13269:82;13315:36;;-1:-1:-1;;1384:23526:117;;-1:-1:-1;;;13386:51:117;;-1:-1:-1;;;;;1384:23526:117;;;13386:51;;1384:23526;-1:-1:-1;1384:23526:117;;;;;;;-1:-1:-1;1384:23526:117;;;;;;13386:51;;;;;;;;-1:-1:-1;;;;;;;;;;;13386:51:117;13872:61;13386:51;;;;;13265:384;13367:70;;13265:384;13659:30;:41;:30;;;;:::i;:41::-;1384:23526;13748:54;:47;:36;;;;:::i;:47::-;1384:23526;;-1:-1:-1;;1384:23526:117;13798:4;1384:23526;;;;13748:54;13813:43;:27;;;;:::i;:::-;:43;:::i;:::-;1384:23526;;13872:61;;;;;:::i;:::-;;;;1384:23526;;13386:51;;;;;;-1:-1:-1;13386:51:117;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;13265:384::-;1384:23526;;;;;;;13458:42;;;;;1384:23526;13458:42;;;;;;;;;;;;;;;13265:384;1384:23526;;;;:::i;:::-;13454:195;;13265:384;;;;;13872:61;-1:-1:-1;;;;;;;;;;;13265:384:117;;;13454:195;1384:23526;;;;;13571:67;1384:23526;;;689:66:62;;;;;;;;;13571:67:117;;;1384:23526;13571:67;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;;;;;;13571:67:117;13872:61;13571:67;;;;;13454:195;13552:86;;13454:195;;;;;;13571:67;;;;;;-1:-1:-1;13571:67:117;;;;;;:::i;:::-;;;;;13458:42;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;13269;;;;;;;;;;;;;;:::i;:::-;;;;12972:107;1384:23526;;-1:-1:-1;;;13046:22:117;;1384:23526;;13046:22;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;19323:9;1384:23526;;;;;:::i;:::-;19220:120;;:::i;:::-;19323:9;:::i;:::-;1384:23526;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;5313:25;1384:23526;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;18517:12;1384:23526;;;;;:::i;:::-;18417:120;;:::i;:::-;18517:12;:::i;1384:23526::-;;;;;;;:::i;:::-;14061:7;;;:::i;:::-;14098:9;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;14138:10;8341:20;8337:77;;14175:48;14176:47;;:36;;;;:::i;:47::-;14175:48;;1384:23526;14175:48;14171:110;;14291:36;:55;:47;:36;;14585:45;14291:36;;:::i;:47::-;1384:23526;;-1:-1:-1;;1384:23526:117;;;;14291:55;14341:5;14356:41;:30;;;;:::i;:41::-;1384:23526;14445:9;;;;:::i;:::-;14585:45;1384:23526;;14585:45;;;;;:::i;:::-;;;;1384:23526;14171:110;1384:23526;;-1:-1:-1;;;14246:24:117;;1384:23526;;14246:24;8337:77;1384:23526;;-1:-1:-1;;;8384:19:117;;1384:23526;;8384:19;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;;;-1:-1:-1;1384:23526:117;4955:6:45;1384:23526:117;;;4955:22:45;1384:23526:117;-1:-1:-1;1384:23526:117;4955:22:45;1384:23526:117;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;22180:33;1384:23526;22197:15;1384:23526;;:::i;:::-;22180:33;:::i;:::-;22253:19;1384:23526;;22252:62;22253:34;22275:12;1384:23526;22253:34;;:::i;:::-;4719:7;1384:23526;;;;22252:62;1384:23526;22386:44;1384:23526;;689:66:62;;;;;22386:44:117;;22424:4;;22386:44;22424:4;1384:23526;22386:44;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;22386:44;;;;;;;1384:23526;22386:44;22363:94;22364:66;22475:59;22386:44;22475:40;22386:44;1384:23526;22386:44;;;1384:23526;22364:66;;;:::i;22363:94::-;22475:40;;:::i;:::-;:59;:::i;:::-;1384:23526;;;;;;;;;;;;;;;;;22386:44;;;;;;;;;;;;;;:::i;:::-;;;;1384:23526;-1:-1:-1;;;;;1384:23526:117;;;;;12976:27;1384:23526;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;13112:19;1384:23526;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;13659:21;1384:23526;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;13813:18;1384:23526;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;-1:-1:-1;1384:23526:117;:::o;:::-;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1384:23526:117;6764:82;1384:23526;;;-1:-1:-1;1384:23526:117;;;6764:82;;;;;1384:23526;6764:82;;;;:::i;:::-;1384:23526;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1384:23526:117;18044:19;1384:23526;;;;;-1:-1:-1;1384:23526:117;18044:41;1384:23526;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;:::i;:::-;-1:-1:-1;1384:23526:117;;;;4955:6:45;1384:23526:117;;2809:4:45;4955:22;1384:23526:117;;;4955:22:45;1384:23526:117;2809:4:45;:::i;:::-;1384:23526:117;;;4955:6:45;1384:23526:117;;;3459:29:45;1384:23526:117;;;;3459:29:45;:::i;:::-;1384:23526:117;;8020:23:45;8016:149;;1384:23526:117;;;8016:149:45;1384:23526:117;;;4955:6:45;1384:23526:117;;8059:29:45;1384:23526:117;;;;8059:29:45;:::i;:::-;1384:23526:117;;-1:-1:-1;;1384:23526:117;4955:22:45;1384:23526:117;;;965:10:53;;-1:-1:-1;;;;;1384:23526:117;;-1:-1:-1;;;;;;;;;;;8114:40:45;;;8016:149;;1384:23526:117;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;22803:32;1384:23526;;;22660:182;;:::i;:::-;1384:23526;22756:32;1384:23526;;;;;;22803:32;1384:23526;;;;;;;-1:-1:-1;;1384:23526:117;;;;;5133:25;1384:23526;;;;;;;;;;;;;;;;;;;;2492:103:50;;:::i;:::-;20271:28:117;20224:10;20271:28;:::i;:::-;20343:33;1384:23526;20360:15;1384:23526;;:::i;20343:33::-;20416:19;1384:23526;;20415:62;20416:34;20438:12;1384:23526;20416:34;;:::i;20415:62::-;1384:23526;;-1:-1:-1;;;20549:44:117;;;;1384:23526;;-1:-1:-1;;;;;1384:23526:117;;689:66:62;20549:44:117;1384:23526;;20549:44;20587:4;1384:23526;20549:44;;;:::i;:::-;;;;;;;;;;20526:94;20549:44;20527:66;20549:44;;;;;1384:23526;20527:66;;:::i;20526:94::-;20224:10;20634:18;20107:22;1384:23526;;20062:28;20224:10;20062:28;:::i;1384:23526::-;20107:22;1384:23526;;;;;20634:18;20630:1430;;1384:23526;2557:1:50;;1808;2086:22;1384:23526:117;2006:109:50;2557:1;1384:23526:117;;20630:1430;20668:22;:29;:22;1384:23526;20668:22;;13798:4;1384:23526;;;;;;;;;20668:29;20416:19;1384:23526;20712:22;;;;1384:23526;20978:59;20908:11;1384:23526;20978:59;1384:23526;20978:40;1384:23526;;;;;:::i;:::-;20978:40;;:::i;:59::-;20587:4;;20224:10;;20978:59;;:::i;:::-;21476:22;21472:178;;20630:1430;21733:20;;21729:255;;20630:1430;1384:23526;;;;22003:46;;20416:19;1384:23526;;;20224:10;;;;22003:46;;:::i;:::-;;;;20630:1430;;;;;;;21729:255;1384:23526;;;;;;:::i;:::-;;;;689:66:62;;;;;;;21912:38:117;;;;;;;;;21952:16;21912:38;;;;;21729:255;21952:16;;;:::i;:::-;21729:255;;;;;;21912:38;;;;;;;-1:-1:-1;21912:38:117;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;21472:178;21616:18;1384:23526;;;;;:::i;:::-;21603:11;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;21616:18;;:::i;:::-;21472:178;;;20549:44;;;;;;;;;;;;;;;:::i;:::-;;;;;1384:23526;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;965:10:53;-1:-1:-1;;;;;1384:23526:117;;6484:23:45;1384:23526:117;;6588:7:45;1384:23526:117;;;6588:7:45;:::i;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;1384:23526:117;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;1384:23526:117;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;689:66:62;;;2993:17;;;;;;:::i;2906:504::-;1384:23526:117;;;;;;;;689:66:62;;;;;;;3046:52;;1384:23526:117;;3046:52:62;;-1:-1:-1;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;1384:23526:117;;-1:-1:-1;;;3262:56:62;;1384:23526:117;3262:56:62;1384:23526:117;3262:56:62;;;:::i;:::-;;;;3042:291;3389:9;3148:28;3140:82;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;1384:23526:117;3046:52:62;;;;;;;;;:::i;:::-;;;;;1384:23526:117;;:::i;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;19513:66;1384:23526;;;;;;:::i;:::-;19346:240;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;19437:25;1384:23526;19437:25;:::i;:::-;19472:26;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;;;;;19546:11;1384:23526;;;;;;;;;;;;;;19513:66;1384:23526;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1384:23526:117;6299:68;1384:23526;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;6924:107;1384:23526;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;6924:107;1384:23526;;;6924:107;1384:23526;;;;;6924:107;:::i;:::-;1384:23526;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;:::o;:::-;;;;;-1:-1:-1;;1384:23526:117;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;-1:-1:-1;;1384:23526:117;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;:::o;:::-;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;1384:23526:117;;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;689:66:62;;;2993:17;;;;;;:::i;2906:504::-;3046:52;1384:23526:117;;;;;;;689:66:62;;;;;;;3046:52;;1384:23526:117;;3046:52:62;;;;;;;2906:504;-1:-1:-1;3042:291:62;;1384:23526:117;;-1:-1:-1;;;3262:56:62;;1384:23526:117;3262:56:62;1384:23526:117;3262:56:62;;;:::i;3042:291::-;3389:9;3148:28;3140:82;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;;;;;;;;;;;:::i;:::-;;;;;1384:23526:117;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;-1:-1:-1;1384:23526:117;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;:::i;:::-;;;11867:16;1384:23526;;:::i;:::-;;11955:13;1384:23526;11963:4;1384:23526;;:::i;11955:13::-;1384:23526;11902:92;1384:23526;11970:23;1384:23526;;:::i;:::-;;;-1:-1:-1;;;1384:23526:117;11902:92;;;1384:23526;;;11902:92;;1384:23526;11902:92;;;:::i;:::-;;1384:23526;;11902:92;;;;;;:::i;:::-;1384:23526;;11825:183;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;11825:183:117;;;;;;12036:53;;-1:-1:-1;;;;;1384:23526:117;12036:53;:::i;:::-;1384:23526;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;2089:6:66;-1:-1:-1;;;;;1384:23526:117;2080:4:66;2072:23;1384:23526:117;;;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;2492:103:50;;;:::i;:::-;15074:1001:117;;:::i;:::-;1384:23526;15259:26;15203:10;15259:26;:::i;:::-;1384:23526;:::i;:::-;-1:-1:-1;15380:3:117;1384:23526;;15351:27;;;;;15523:49;:35;15538:19;;;;;:::i;:::-;1384:23526;-1:-1:-1;;;;;1384:23526:117;;;15523:49;1384:23526;;;;689:66:62;;;;;15523:72:117;;15203:10;-1:-1:-1;15203:10:117;15523:72;15203:10;;15523:72;;;;:::i;:::-;;;;;;;;;15380:3;15523:72;-1:-1:-1;15523:72:117;;;15380:3;15613:21;;15609:232;;15380:3;;;:::i;:::-;15336:13;;15609:232;15654:70;:50;:29;15203:10;15654:29;:::i;:::-;15684:19;;;;;:::i;:::-;15654:50;;:::i;:::-;1384:23526;;;15654:70;:::i;:::-;1384:23526;;15609:232;;;15523:72;;;;;;;;;;;;;;:::i;:::-;;;;15351:27;16025:43;;15351:27;15929:13;1384:23526;;15877:11;1384:23526;;:::i;:::-;15922:4;15203:10;;15929:13;;:::i;:::-;15953:40;:27;15203:10;15953:27;:::i;:::-;:40;:57;1384:23526;;;15953:57;:::i;:::-;1384:23526;;;;15203:10;;;;16025:43;;:::i;:::-;;;;2557:1:50;1808;2086:22;1384:23526:117;2006:109:50;1384:23526:117;;;;;;-1:-1:-1;;1384:23526:117;;;;5578:31;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:50;;;:::i;:::-;16218:1554:117;;:::i;:::-;16406:26;16349:10;16406:26;:::i;:::-;16482:40;;16349:10;16482:58;16349:10;;16482:27;16349:10;16482:27;:::i;:::-;:40;1384:23526;16482:58;:::i;:::-;16543:19;1384:23526;-1:-1:-1;16478:140:117;;16349:10;;;16660:15;16349:10;;1384:23526;16627:11;1384:23526;;:::i;:::-;16660:15;:::i;:::-;-1:-1:-1;16686:951:117;16482:40;;;16686:951;17720:45;;16349:10;;17646:27;16349:10;17646:27;:::i;:::-;:40;:59;1384:23526;;;17646:59;:::i;16735:3::-;1384:23526;;;;;;16706:27;;;;;;;1384:23526;16773:19;;;;:::i;:::-;1384:23526;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;16810:60;;;;:::i;:::-;;;;1384:23526;;;;;;689:66:62;;;;;16909:63:117;;16349:10;-1:-1:-1;16349:10:117;16909:63;16349:10;;;16909:63;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;16909:63;;;;;;;-1:-1:-1;16909:63:117;;;16806:804;16349:10;17013:50;:29;16349:10;17013:29;:::i;:::-;1384:23526;17043:19;;;;:::i;17013:50::-;1384:23526;;17085:31;;;;;;1384:23526;;-1:-1:-1;;;17147:57:117;;;;;1384:23526;;;;;;;;;;;;;3262:56:62;;;17081:259:117;16349:10;;;;;;;;16735:3;16349:10;17251:70;:50;:29;16349:10;17251:29;:::i;:::-;1384:23526;17281:19;;;;:::i;17251:50::-;1384:23526;;;17251:70;:::i;:::-;1384:23526;;16735:3;:::i;:::-;16691:13;;;;;;;16909:63;;;;;;;;;;;;;;;:::i;:::-;;;;;16806:804;17484:27;17586:8;16735:3;17484:27;;17445:67;1384:23526;17467:45;17484:27;;;;;;;:::i;:::-;17467:45;;:::i;1384:23526::-;17445:19;;;;:::i;:::-;:67;;:::i;:::-;17530:20;;;:::i;17586:8::-;16735:3;:::i;16706:27::-;;;;;;16478:140;1384:23526;;-1:-1:-1;;;16585:22:117;;;1384:23526;;;;;6435:98;1384:23526;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;6435:98;1384:23526;;;6435:98;1384:23526;;;;;6435:98;:::i;:::-;1384:23526;;;;;;;;;;;;;;:::i;:::-;2492:103:50;;:::i;:::-;24233:571:117;;:::i;:::-;24357:14;1384:23526;24358:13;1384:23526;;;;;24357:14;24353:68;;24434:18;20107:22;;1384:23526;20062:28;;;:::i;24434:18::-;24430:75;;24537:28;1384:23526;24537:28;-1:-1:-1;24537:28:117;;:::i;1384:23526::-;24599:7;;;:::i;:::-;24617:35;24624:28;;;:::i;:::-;1384:23526;24617:35;1384:23526;;;;;;;;;;;;24617:35;24702:19;24663:59;1384:23526;24663:20;1384:23526;24663:11;1384:23526;;:::i;24663:20::-;24702:19;;1384:23526;;;20107:22;1384:23526;689:66:62;;;;;;;;;24663:59:117;;;1384:23526;24663:59;;;:::i;:::-;;;;;;;;;;24737:60;24663:59;24737:60;24663:59;;;1384:23526;;;20107:22;1384:23526;24737:60;;;;;:::i;24663:59::-;;;24702:19;24663:59;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;24430:75;20107:22;1384:23526;-1:-1:-1;;;24475:19:117;;1384:23526;;24475:19;24353:68;1384:23526;;-1:-1:-1;;;24394:16:117;;1384:23526;;24394:16;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;5677:41;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5937:24;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;1324:62:47;;:::i;:::-;2779:6;1384:23526:117;;-1:-1:-1;;;;;;1384:23526:117;;;;;;;-1:-1:-1;;;;;1384:23526:117;-1:-1:-1;;;;;;;;;;;1384:23526:117;;2827:40:47;1384:23526:117;;;;;;;;-1:-1:-1;;1384:23526:117;;;;18793:229;;:::i;:::-;18912:4;1384:23526;;;-1:-1:-1;;;18912:20:117;;1384:23526;;;18912:20;;;1384:23526;;-1:-1:-1;;;;;1384:23526:117;-1:-1:-1;;1384:23526:117;;;;;;;;18912:20;;;;;;;19006:8;18912:20;1384:23526;18912:20;-1:-1:-1;18912:20:117;;;1384:23526;18912:29;;1384:23526;;18971:8;;;:::i;18912:20::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5768:25;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;18098:313;;:::i;:::-;18214:4;1384:23526;;;-1:-1:-1;;;18214:20:117;;1384:23526;;;18214:20;;;1384:23526;;-1:-1:-1;;1384:23526:117;;;;;;-1:-1:-1;;;;;1384:23526:117;18214:20;;;;;;1384:23526;;18214:20;18206:38;18214:20;-1:-1:-1;18214:20:117;;;1384:23526;18214:29;;1384:23526;;:::i;18206:38::-;18273:8;;;:::i;:::-;18296:60;;;:::i;:::-;18292:113;;1384:23526;18292:113;18385:8;;;:::i;18214:20::-;;;;;;;;;;;;:::i;:::-;;;;1384:23526;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1384:23526:117;6633:60;1384:23526;;;-1:-1:-1;1384:23526:117;;;;;6633:60;1384:23526;6633:60;1384:23526;6633:60;;1384:23526;6633:60;;1384:23526;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;5039:27;1384:23526;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;1534:6:47;1384:23526:117;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;3459:29:45;1384:23526:117;;;;;:::i;:::-;;;-1:-1:-1;1384:23526:117;3459:6:45;1384:23526:117;;;-1:-1:-1;1384:23526:117;3459:29:45;:::i;1384:23526:117:-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;4545:42;1384:23526;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;20107:22;1384:23526;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1384:23526:117;20062:19;1384:23526;;;;;-1:-1:-1;1384:23526:117;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;20107:22;1384:23526;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5405:26;1384:23526;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;19841:18;1384:23526;;-1:-1:-1;;;;;1384:23526:117;;;19827:10;:32;;;19823:89;;19641:39;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;;;;;;;;;;;;;;;;19730:34;;1384:23526;;19730:34;1384:23526;;19823:89;1384:23526;;-1:-1:-1;;;19882:19:117;;1384:23526;;19882:19;1384:23526;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1384:23526:117;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6153:30;1384:23526;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:50;;:::i;:::-;23424:7:117;23378:10;23424:7;:::i;:::-;23466;23378:10;23466:7;:::i;:::-;23378:10;1384:23526;23507:28;23378:10;23507:28;:::i;1384:23526::-;23545:35;23552:28;23378:10;23552:28;:::i;23545:35::-;1384:23526;23597:27;23378:10;23597:27;:::i;:::-;1384:23526;:::i;:::-;23665:19;23635:50;1384:23526;23635:20;1384:23526;23635:11;1384:23526;;:::i;23635:20::-;23665:19;;1384:23526;;;;;689:66:62;;;;;;;;;23635:50:117;;23378:10;1384:23526;23635:50;;;:::i;:::-;;;;;;;;;;23700:48;23635:50;23700:48;23635:50;;;1384:23526;;;;;23378:10;;;;23700:48;;:::i;:::-;;;;2557:1:50;1808;2086:22;1384:23526:117;2006:109:50;23635:50:117;;;23665:19;23635:50;;;;;;;;;:::i;:::-;;;;;4719:7;1384:23526;;;4719:7;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;1384:23526::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;4719:7;1384:23526;;;;;;;;;;;;;;;;;;;6068:27;1384:23526;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5837:7:45;1384:23526:117;;;;;;;:::i;:::-;;-1:-1:-1;1384:23526:117;4955:6:45;1384:23526:117;;2809:4:45;4955:22;1384:23526:117;-1:-1:-1;1384:23526:117;4955:22:45;1384:23526:117;2809:4:45;:::i;:::-;5837:7;:::i;1384:23526:117:-;;;;;;-1:-1:-1;;1384:23526:117;;;;6009:17;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;4719:7;1384:23526;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5856:25;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;3459:29:45;1384:23526:117;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;1384:23526:117;3459:6:45;1384:23526:117;;;-1:-1:-1;1384:23526:117;3459:29:45;:::i;1384:23526:117:-;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;2423:22:47;1384:23526:117;;2517:8:47;;;:::i;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;5489:30;1384:23526;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;1384:23526:117;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9094:2489;1384:23526;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;9094:2489;;:::i;3789:103:45:-;1384:23526:117;-1:-1:-1;1384:23526:117;3459:6:45;1384:23526:117;;;3459:29:45;965:10:53;1384:23526:117;-1:-1:-1;1384:23526:117;3459:29:45;:::i;:::-;1384:23526:117;;4260:23:45;4256:412;;3789:103;:::o;4256:412::-;965:10:53;2006:25:54;;;:::i;:::-;2041:15;;;;;:::i;:::-;;2066;;;;:::i;:::-;;1384:23526:117;2124:5:54;4719:7:117;2124:5:54;;;;4299:358:45;1384:23526:117;4351:274:45;2236:10:54;1384:23526:117;4554:49:45;2236:10:54;2228:55;2236:10;;2228:55;:::i;:::-;4554:49:45;:::i;:::-;1384:23526:117;;;4351:274:45;;;1384:23526:117;;4351:274:45;;1384:23526:117;;-1:-1:-1;;;1384:23526:117;;;;;;;;:::i;:::-;-1:-1:-1;;;1384:23526:117;;;;;;;4351:274:45;1384:23526:117;;4351:274:45;;;;;;:::i;:::-;1384:23526:117;;-1:-1:-1;;;4299:358:45;;1384:23526:117;;;;4299:358:45;;;:::i;2131:3:54:-;2171:11;2179:3;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;:::-;;1384:23526:117;;2131:3:54;;:::i;:::-;2096:26;;1384:23526:117;;;;;;;;;;;;;:::i;:::-;;;:::o;7938:233:45:-;-1:-1:-1;;;;;;;;;;;;1384:23526:117;;;3459:6:45;1384:23526:117;;-1:-1:-1;1384:23526:117;3459:29:45;1384:23526:117;-1:-1:-1;;;;;;;;;;;3459:29:45;:::i;:::-;1384:23526:117;;8020:23:45;8016:149;;7938:233;;;:::o;8016:149::-;1384:23526:117;;;3459:6:45;1384:23526:117;;8059:29:45;1384:23526:117;;;;8059:29:45;:::i;:::-;1384:23526:117;;-1:-1:-1;;1384:23526:117;8091:4:45;1384:23526:117;;;965:10:53;;-1:-1:-1;;;;;1384:23526:117;;-1:-1:-1;;;;;;;;;;;8114:40:45;;;7938:233::o;8342:234::-;-1:-1:-1;1384:23526:117;;;;3459:6:45;1384:23526:117;;;3459:29:45;1384:23526:117;;;;3459:29:45;:::i;:::-;1384:23526:117;;8421:149:45;;8342:234;;;:::o;8421:149::-;1384:23526:117;;;3459:6:45;1384:23526:117;;8463:29:45;1384:23526:117;;;;8463:29:45;:::i;:::-;1384:23526:117;;-1:-1:-1;;1384:23526:117;;;965:10:53;;-1:-1:-1;;;;;1384:23526:117;;8519:40:45;;;;8342:234::o;1620:130:47:-;1534:6;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;965:10:53;1683:23:47;1384:23526:117;;1620:130:47:o;1384:23526:117:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;1384:23526:117;;-1:-1:-1;;;;;1384:23526:117;;;-1:-1:-1;;;;;;1384:23526:117;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;1384:23526:117:-;;2016:1:54;1384:23526:117;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;2073:1:54;1384:23526:117;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;1384:23526:117;;:::o;311:18:54:-;;;;:::o;:::-;;1384:23526:117;;;;;311:18:54;;;;;;;;;;;1384:23526:117;311:18:54;1384:23526:117;;;311:18:54;;1884:437;1384:23526:117;;;;;;:::i;:::-;;;;;;;;;;2041:15:54;;;;:::i;:::-;;2066;;;;:::i;:::-;;1384:23526:117;2091:128:54;2124:5;2073:1;2124:5;;;;2228:55;2236:10;;;2228:55;:::i;2131:3::-;2179;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:54;;2150:33;;;;:::i;2131:3::-;2096:26;;;1384:23526:117;;;;:::o;:::-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;;;-1:-1:-1;;;1384:23526:117;;;;;;;689:66:62;;;;;;;;;;;:::o;:::-;1384:23526:117;;689:66:62;;;;;;;;;;;:::o;:::-;1384:23526:117;;-1:-1:-1;;;689:66:62;;;;;;;;;;;1384:23526:117;689:66:62;1384:23526:117;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;;;;;;;;;;;1384:23526:117;689:66:62;1384:23526:117;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;:::o;1406:259::-;1702:19:78;;:23;1384:23526:117;;-1:-1:-1;;;;;;;;;;;1384:23526:117;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;1406:259:62:o;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;2057:265:62;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;-1:-1:-1;;;;;;;;;;;1889:27:62;;;1384:23526:117;;2208:15:62;;;:28;;;2057:265;2204:112;;2057:265;;:::o;2204:112::-;7307:69:78;1384:23526:117;1889:27:62;1384:23526:117;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;7265:25:78;;;;;;;;;:::i;:::-;7307:69;;:::i;:::-;;2057:265:62:o;2208:28::-;;1384:23526:117;2208:28:62;;2057:265;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;-1:-1:-1;;;;;;;;;;;3321:1:66;;1889:27:62;1384:23526:117;;2208:15:62;;;:28;;;2204:112;;2057:265;;:::o;2208:28::-;;3321:1:66;2208:28:62;;1384:23526:117;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1384:23526:117;;;;:::o;:::-;;;:::o;7671:628:78:-;;;;7875:418;;;1384:23526:117;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;1384:23526:117;;8201:17:78;:::o;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;7875:418:78;1384:23526:117;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;1384:23526:117;;-1:-1:-1;;;9324:20:78;;1384:23526:117;;;9324:20:78;;;;;;:::i;3246:506:49:-;3302:13;1384:23526:117;;;;;;;3301:14:49;3347:34;;;;;;3246:506;3346:108;;;;3246:506;1384:23526:117;;;;3636:1:49;3536:16;;;1384:23526:117;;;3302:13:49;1384:23526:117;;;3302:13:49;1384:23526:117;;3536:16:49;3562:65;;3636:1;:::i;:::-;3647:99;;3246:506::o;3647:99::-;3681:21;1384:23526:117;;3302:13:49;1384:23526:117;;3302:13:49;1384:23526:117;;3681:21:49;1384:23526:117;;3551:1:49;1384:23526:117;;3721:14:49;;1384:23526:117;;;;3721:14:49;;;;3246:506::o;3562:65::-;3596:20;1384:23526:117;;;3302:13:49;1384:23526:117;;;3302:13:49;1384:23526:117;;3596:20:49;3636:1;:::i;1384:23526:117:-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;3346:108:49;3426:4;1702:19:78;:23;;-1:-1:-1;1702:23:78;3387:66:49;;3346:108;;;;;3387:66;3452:1;1384:23526:117;;;;3436:17:49;3387:66;;;3347:34;3380:1;1384:23526:117;;;3365:16:49;;-1:-1:-1;3347:34:49;;1384:23526:117;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;10093:37;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;:::o;:::-;;;10140:42;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;10093:37;1384:23526;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1384:23526:117;;;;;10093:37;1384:23526;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;10140:42;1384:23526;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;10140:42;1384:23526;;-1:-1:-1;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;10676:1;1384:23526;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;-1:-1:-1;;1384:23526:117;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1384:23526:117;;;;;;;;:::o;:::-;-1:-1:-1;;1384:23526:117;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;10093:37;1384:23526;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;1384:23526:117;;;;-1:-1:-1;1384:23526:117;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1384:23526:117;;;;-1:-1:-1;;;1384:23526:117;;;;11400:36;1384:23526;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;;-1:-1:-1;1384:23526:117;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;9094:2489::-;;1024:95:47;;:::i;:::-;1889:111:50;;:::i;:::-;2838:65:45;;:::i;:::-;9374:18:117;;:::i;:::-;9431:19;;;;;1384:23526;9423:28;;1384:23526;;;;:::i;9423:28::-;;:::i;:::-;9481:19;;;9462:39;;1384:23526;;;;:::i;9462:39::-;9530:12;1384:23526;;;;:::i;9530:12::-;9572:23;;;1384:23526;9572:23;1384:23526;;;;:::i;9572:23::-;9625:24;;;1384:23526;9625:24;1384:23526;;;;:::i;9625:24::-;9801:33;1384:23526;9665:20;;;1384:23526;;;9661:95;;9094:2489;9765:26;9772:19;1384:23526;;;;:::i;9772:19::-;9765:26;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;9765:26;1384:23526;;:::i;:::-;9801:33;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;9801:33;9848:27;;;;;1384:23526;;9848:32;9844:89;;1384:23526;10390:47;1384:23526;;10192:41;1384:23526;10336:43;1384:23526;10046:37;1384:23526;10062:21;1384:23526;10001:35;1384:23526;;9942:49;10300:26;1384:23526;;9942:49;1384:23526;;9942:49;1384:23526;10001:35;1384:23526;;;9481:19;1384:23526;;;;;;;;;;;;;;;10046:37;1384:23526;10109:21;;;;1384:23526;:::i;:::-;;10159:23;;;;1384:23526;:::i;:::-;10192:41;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;10192:41;10243:33;1384:23526;10257:19;;;1384:23526;;:::i;:::-;9481:19;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;10300:26;10286:40;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;10286:40;;1384:23526;;10336:43;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;10336:43;10390:47;:::i;:::-;10469:18;1384:23526;10469:16;1384:23526;9765:26;1384:23526;;:::i;10469:16::-;1384:23526;;-1:-1:-1;;;10469:18:117;;1384:23526;;;;;10469:18;;;;;;10448:40;10469:18;2365:4:45;10469:18:117;;;9094:2489;-1:-1:-1;10448:40:117;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;10448:40;2365:4:45;1384:23526:117;10587:20;1384:23526;10286:40;1384:23526;;:::i;10587:20::-;:32;;;:20;;10662:16;11020:74;10662:16;;:::i;:::-;10717:10;10692:35;10717:10;10692:35;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;10692:35;11020:74;11040:30;1384:23526;;11040:30;:::i;:::-;11020:74;;:::i;:::-;11104:67;11166:4;11104:67;11124:30;1384:23526;;11124:30;:::i;11104:67::-;11283:106;1384:23526;;11283:22;1384:23526;10448:40;1384:23526;;:::i;11283:22::-;689:66:62;11306:13:117;;;1384:23526;11336:16;;;2365:4:45;11336:16:117;;1384:23526;;689:66:62;;;;;;;;;;11283:106:117;;11166:4;11283:106;10469:18;11283:106;;;:::i;:::-;;;;;;;;;;11259:130;11447:50;11283:106;1384:23526;11283:106;11513:63;11283:106;2365:4:45;11283:106:117;;;10583:427;11259:130;;;1384:23526;;11259:130;1384:23526;:::i;:::-;11447:50;1384:23526;;-1:-1:-1;;;;;;1384:23526:117;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;11447:50;11513:63;11259:130;1384:23526;11559:16;;1384:23526;;11513:63;;;;;:::i;11283:106::-;;;;;;-1:-1:-1;11283:106:117;;;;;;:::i;:::-;;;;;10583:427;1384:23526;;;;;;;;;689:66:62;;;10784:23:117;;;;10469:18;10784:23;;;;;;;;;;;;;10583:427;1384:23526;;10843:32;10857:17;1384:23526;;10857:17;:::i;:::-;10843:32;:::i;:::-;10894:13;2365:4:45;10928:3:117;1384:23526;;10909:17;;;;;10976:9;10951:34;10976:9;;10928:3;10976:9;;;:::i;:::-;10951:34;;;;:::i;10928:3::-;10894:13;;10909:17;;;;;;;;;11020:74;10909:17;10583:427;;10784:23;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;10469:18;;;;;;;;;;;;;;:::i;:::-;;;;9844:89;1384:23526;;-1:-1:-1;;;9903:19:117;;;;;9661:95;9725:19;1384:23526;9725:19;;;1384:23526;;:::i;9725:19::-;9661:95;;1384:23526;;;;:::o;:::-;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;;;5328:125:49;5366:69;1384:23526:117;5374:13:49;1384:23526:117;;;;5366:69:49;:::i;7523:247:45:-;-1:-1:-1;;;;;;;;;;;2365:4:45;1384:23526:117;;;4955:6:45;1384:23526:117;;4955:22:45;1384:23526:117;;;;;;2365:4:45;;7711:52;2365:4;;7711:52;7523:247::o;5328:125:49:-;5366:69;1384:23526:117;5374:13:49;1384:23526:117;;;;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;5328:125:49:-;5366:69;1384:23526:117;5374:13:49;1384:23526:117;;;;5366:69:49;;;:::i;:::-;1808:1:50;2086:22;1384:23526:117;5328:125:49:o;8621:133:117:-;-1:-1:-1;;;;;1384:23526:117;8695:22;8691:56;;8621:133::o;8691:56::-;1384:23526;;-1:-1:-1;;;8726:21:117;;;;;1384:23526;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12501:14;1384:23526;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;-1:-1:-1;1384:23526:117;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;12384:1;1384:23526;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12102:653::-;;;;;4545:42;;-1:-1:-1;;;;;1384:23526:117;;12362:65;;12102:653;12603:19;;12436:20;1384:23526;;12384:1;1384:23526;;:::i;:::-;;12535:134;:33;1384:23526;12535:4;1384:23526;;:::i;12535:33::-;1384:23526;12603:19;12582:9;1384:23526;;;;12603:19;;;;;;;:::i;:::-;;1384:23526;;12603:19;;;;;;:::i;:::-;1384:23526;;;689:66:62;;;;;;;;;;12535:134:117;;;;;;:::i;:::-;;;;;;;;;;12685:63;12535:134;12384:1;12535:134;;;12102:653;12526:143;12685:63;12526:143;;1384:23526;;;12723:4;;;;12685:63;;;:::i;12535:134::-;12685:63;12535:134;;;;;12603:19;12535:134;;;;;;;;;:::i;:::-;;;;;12362:65;12402:14;;-1:-1:-1;12362:65:117;;1384:23526;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;:::i;:::-;;;:::o;:::-;;;;-1:-1:-1;;;1384:23526:117;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1384:23526:117;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;;:::o;7919:156::-;1384:23526;;;;;;;;-1:-1:-1;1384:23526:117;20062:19;1384:23526;;;;20107:22;-1:-1:-1;1384:23526:117;20107:22;1384:23526;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20107:22;1384:23526;;;;;7994:75;;7919:156::o;8081:162::-;-1:-1:-1;;;;;1384:23526:117;-1:-1:-1;1384:23526:117;;;8157:17;1384:23526;;;;;;;;8156:29;8152:85;;8081:162::o;8152:85::-;1384:23526;;-1:-1:-1;;;8208:18:117;;;;;1384:23526;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;14643:425;;;1384:23526;;;;;;;;-1:-1:-1;1384:23526:117;14769:18;1384:23526;;;-1:-1:-1;1384:23526:117;-1:-1:-1;14855:3:117;1384:23526;;14826:27;;;;;;;14878:19;;;;:::i;:::-;1384:23526;;;;;;;;;;;;;14878:32;14874:178;;14855:3;;;;;;:::i;:::-;14811:13;;14874:178;-1:-1:-1;;1384:23526:117;;;;;;;14855:3;14952:45;;;;;;:::i;:::-;1384:23526;;;;;;;14930:19;;;;:::i;:::-;1384:23526;;;;;:::i;:::-;;;15015:20;;;:::i;:::-;14874:178;;;14826:27;;;;;;;14643:425::o;2601:287:50:-;1851:1;2733:7;1384:23526:117;2733:19:50;1851:1;;;2733:7;1384:23526:117;2601:287:50:o;1851:1::-;1384:23526:117;;-1:-1:-1;;;1851:1:50;;;;;;;;;;;1384:23526:117;1851:1:50;1384:23526:117;;;1851:1:50;;;;1355:203:75;;1482:68;1355:203;1482:68;;1355:203;1384:23526:117;;689:66:62;;;;;;1482:68:75;;;;;;;;:::i;:::-;;1384:23526:117;;1482:68:75;;;;;;:::i;:::-;;:::i;1384:23526:117:-;;;;;;;;;;;;;:::i;5173:642:75:-;1384:23526:117;;5535:69:78;;-1:-1:-1;;;;;1384:23526:117;;;;:::i;:::-;-1:-1:-1;1384:23526:117;;;;;;;;;;;5487:31:78;;;;;;;;;;;:::i;5535:69::-;1384:23526:117;;5705:22:75;;;;:56;;;;;5173:642;1384:23526:117;;;;;;5173:642:75;:::o;1384:23526:117:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1384:23526:117;;;;;5705:56:75;5731:30;;-1:-1:-1;5731:30:75;;;;;;;:::i;:::-;5705:56;;;;;7770:143:117;7843:10;-1:-1:-1;1384:23526:117;20062:19;1384:23526;;20107:22;-1:-1:-1;1384:23526:117;;;20107:22;1384:23526;;;;;:::i;:::-;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;20107:22;1384:23526;;;;;;;7829:78;;7770:143::o;941:175:75:-;1050:58;;941:175;;1050:58;1384:23526:117;;689:66:62;;;;;;1050:58:75;;;;;;;;:::i;1349:282:83:-;1384:23526:117;;4592:71:83;;;;;1204:36:55;-1:-1:-1;1204:36:55;;;4592:71:83;;;;;;;;1384:23526:117;4592:71:83;;;;;;:::i;:::-;4784:212;;;;;;;;-1:-1:-1;4784:212:83;5013:29;;;;1349:282;5013:48;;;;1349:282;975:149;;;;1349:282;1543:81;;;;;;1536:88;1349:282;:::o;1543:81::-;1570:54;;;;:::i;975:149::-;1384:23526:117;;;;-1:-1:-1;1384:23526:117;;;;;4592:71:83;;;;;;1384:23526:117;;;4592:71:83;;;1384:23526:117;4592:71:83;;;;;;:::i;:::-;4784:212;;;-1:-1:-1;4784:212:83;;;;;5013:29;;975:149;5013:48;;;;;975:149;1059:65;;975:149;;;;;;5013:48;5046:15;;;;5013:48;;;:29;5024:18;;;-1:-1:-1;5013:29:83;;;;:48;5046:15;;;-1:-1:-1;5013:48:83;;;:29;5024:18;-1:-1:-1;5024:18:83;;-1:-1:-1;5013:29:83;;;4421:647;-1:-1:-1;4592:71:83;4421:647;1384:23526:117;;4592:71:83;;;1204:36:55;;;;4592:71:83;;16837:32:117;;;4592:71:83;;;1384:23526:117;4592:71:83;;;;;;:::i;:::-;4784:212;;;;-1:-1:-1;4784:212:83;;5013:29;;;4421:647;5013:48;;;;5006:55;4421:647;:::o;5013:48::-;5046:15;;;;4421:647;:::o;5013:29::-;4592:71;-1:-1:-1;5024:18:83;;-1:-1:-1;5013:29:83;;;1384:23526:117;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1384:23526:117;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:66:62;;1384:23526:117;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;689:66:62;1384:23526:117;;;;;689:66:62;1384:23526:117;;;;;:::o;7606:158::-;-1:-1:-1;;;;;;;;;;;;1384:23526:117;3459:6:45;1384:23526:117;;;3459:29:45;7685:10:117;-1:-1:-1;;;;;;;;;;;3459:29:45;:::i;:::-;1384:23526:117;;7660:36;7656:102;;7606:158::o;7656:102::-;1384:23526;;-1:-1:-1;;;7719:28:117;;7685:10;7719:28;;;1384:23526;;;7719:28;18543:244;-1:-1:-1;;;;;1384:23526:117;-1:-1:-1;1384:23526:117;;;18610:17;1384:23526;;;;;;;;;;;18606:85;;1384:23526;;;18753:27;1384:23526;-1:-1:-1;1384:23526:117;;;;-1:-1:-1;1384:23526:117;;;;;;;;;;;;;;;18753:27;18543:244::o;18606:85::-;1384:23526;;-1:-1:-1;;;18664:16:117;;;;;19028:186;1384:23526;19181:26;19028:186;19110:9;;;:::i;:::-;-1:-1:-1;;;;;1384:23526:117;19161:5;1384:23526;;;19130:17;1384:23526;;;;;;;;;-1:-1:-1;;1384:23526:117;;;;;;;19181:26;19028:186::o;23761:466::-;;-1:-1:-1;1384:23526:117;;;;;;;;;;23866:18;1384:23526;;;;;;;;;:::i;:::-;23974:13;24018:3;1384:23526;;23989:27;;;;;24149:52;:35;24164:19;;;;;:::i;24149:52::-;:61;;;;;;1384:23526;;;689:66:62;;;;;24149:61:117;;;;;;;;;;;:::i;:::-;;;;;;;;;;24018:3;24149:61;;;24018:3;;:::i;:::-;23974:13;;24149:61;;;;;;:::i;:::-;;;:::i;:::-;;;;;1384:23526;;;23989:27;;;;;;;23761:466::o","linkReferences":{},"immutableReferences":{"55653":[{"start":4431,"length":32},{"start":5446,"length":32},{"start":6686,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"524e59e8","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"e16d0e32","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address),address)":"fa50f53d","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"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\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunityV0_0.sol\":\"RegistryCommunityV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e\",\"dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunityV0_0.sol":"RegistryCommunityV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0","urls":["bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e","dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53248,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53317,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":54050,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":52470,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)"},{"astId":52777,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":77052,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"collateralVaultTemplate","offset":0,"slot":"251","type":"t_address"},{"astId":77071,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registerStakeAmount","offset":0,"slot":"252","type":"t_uint256"},{"astId":77074,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityFee","offset":0,"slot":"253","type":"t_uint256"},{"astId":77077,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"cloneNonce","offset":0,"slot":"254","type":"t_uint256"},{"astId":77080,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"profileId","offset":0,"slot":"255","type":"t_bytes32"},{"astId":77083,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isKickEnabled","offset":0,"slot":"256","type":"t_bool"},{"astId":77086,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"feeReceiver","offset":1,"slot":"256","type":"t_address"},{"astId":77089,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registryFactory","offset":0,"slot":"257","type":"t_address"},{"astId":77092,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategyTemplate","offset":0,"slot":"258","type":"t_address"},{"astId":77095,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":77099,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":77103,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)56609"},{"astId":77107,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)79792"},{"astId":77111,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)79525"},{"astId":77114,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":77117,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":77122,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":77129,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":77135,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)77276_storage)"},{"astId":77141,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":77148,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":77152,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":78775,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)79525":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)56609":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)79792":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)77276_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunityV0_0.Member)","numberOfBytes":"32","value":"t_struct(Member)77276_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52465_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52465_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)77276_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_0.Member","numberOfBytes":"96","members":[{"astId":77271,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":77273,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":77275,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)52465_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52462,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52464,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","id":78777,"exportedSymbols":{"AccessControlUpgradeable":[52778],"CVStrategyV0_0":[75969],"Clone":[3002],"ERC165Checker":[58000],"ERC1967Proxy":[55102],"FAllo":[79525],"IAllo":[2610],"IERC20":[56609],"IPointStrategy":[72441],"IRegistry":[2802],"IRegistryFactory":[76232],"ISafe":[79792],"Metadata":[3098],"OwnableUpgradeable":[52984],"ReentrancyGuardUpgradeable":[53318],"RegistryCommunityV0_0":[78776],"SafeERC20":[57046],"StrategyStruct":[72563],"UUPSUpgradeable":[55753],"Upgrades":[61257]},"nodeType":"SourceUnit","src":"42:24869:117","nodes":[{"id":76828,"nodeType":"PragmaDirective","src":"42:24:117","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76830,"nodeType":"ImportDirective","src":"68:70:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":56610,"symbolAliases":[{"foreign":{"id":76829,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56609,"src":"76:6:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76832,"nodeType":"ImportDirective","src":"139:82:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":57047,"symbolAliases":[{"foreign":{"id":76831,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"147:9:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76834,"nodeType":"ImportDirective","src":"222:92:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":58001,"symbolAliases":[{"foreign":{"id":76833,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58000,"src":"230:13:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76836,"nodeType":"ImportDirective","src":"315:88:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":76835,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"323:15:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76838,"nodeType":"ImportDirective","src":"405:110:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":76837,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"413:18:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76840,"nodeType":"ImportDirective","src":"516:132:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":53319,"symbolAliases":[{"foreign":{"id":76839,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53318,"src":"524:26:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76842,"nodeType":"ImportDirective","src":"649:126:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":52779,"symbolAliases":[{"foreign":{"id":76841,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52778,"src":"657:24:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76844,"nodeType":"ImportDirective","src":"777:66:117","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":76843,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"785:5:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76846,"nodeType":"ImportDirective","src":"844:65:117","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":76845,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"852:5:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76849,"nodeType":"ImportDirective","src":"910:84:117","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":76847,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"918:9:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76848,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"929:8:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76851,"nodeType":"ImportDirective","src":"995:45:117","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","file":"./interfaces/FAllo.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":79526,"symbolAliases":[{"foreign":{"id":76850,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79525,"src":"1003:5:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76853,"nodeType":"ImportDirective","src":"1041:45:117","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"./interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":79809,"symbolAliases":[{"foreign":{"id":76852,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79792,"src":"1049:5:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76855,"nodeType":"ImportDirective","src":"1087:56:117","nodes":[],"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","file":"./IRegistryFactory.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":76233,"symbolAliases":[{"foreign":{"id":76854,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76232,"src":"1095:16:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76859,"nodeType":"ImportDirective","src":"1144:84:117","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","file":"./CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":75970,"symbolAliases":[{"foreign":{"id":76856,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75969,"src":"1152:14:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76857,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"1168:14:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76858,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"1184:14:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76861,"nodeType":"ImportDirective","src":"1230:66:117","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":61378,"symbolAliases":[{"foreign":{"id":76860,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61257,"src":"1238:8:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76863,"nodeType":"ImportDirective","src":"1298:84:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":78777,"sourceUnit":55103,"symbolAliases":[{"foreign":{"id":76862,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"1306:12:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78776,"nodeType":"ContractDefinition","src":"1384:23526:117","nodes":[{"id":76875,"nodeType":"EventDefinition","src":"1696:29:117","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"1702:7:117","parameters":{"id":76874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76873,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"1718:5:117","nodeType":"VariableDeclaration","scope":76875,"src":"1710:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76872,"name":"address","nodeType":"ElementaryTypeName","src":"1710:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1709:15:117"}},{"id":76879,"nodeType":"EventDefinition","src":"1730:36:117","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"1736:14:117","parameters":{"id":76878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76877,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"1759:5:117","nodeType":"VariableDeclaration","scope":76879,"src":"1751:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76876,"name":"address","nodeType":"ElementaryTypeName","src":"1751:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1750:15:117"}},{"id":76885,"nodeType":"EventDefinition","src":"1771:74:117","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"1777:24:117","parameters":{"id":76884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76881,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"1810:10:117","nodeType":"VariableDeclaration","scope":76885,"src":"1802:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76880,"name":"address","nodeType":"ElementaryTypeName","src":"1802:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76883,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"1830:13:117","nodeType":"VariableDeclaration","scope":76885,"src":"1822:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76882,"name":"address","nodeType":"ElementaryTypeName","src":"1822:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1801:43:117"}},{"id":76891,"nodeType":"EventDefinition","src":"1850:63:117","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"1856:16:117","parameters":{"id":76890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76887,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1881:7:117","nodeType":"VariableDeclaration","scope":76891,"src":"1873:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76886,"name":"address","nodeType":"ElementaryTypeName","src":"1873:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76889,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"1898:13:117","nodeType":"VariableDeclaration","scope":76891,"src":"1890:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76888,"name":"uint256","nodeType":"ElementaryTypeName","src":"1890:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1872:40:117"}},{"id":76897,"nodeType":"EventDefinition","src":"1918:67:117","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"1924:18:117","parameters":{"id":76896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76893,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1951:7:117","nodeType":"VariableDeclaration","scope":76897,"src":"1943:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76892,"name":"address","nodeType":"ElementaryTypeName","src":"1943:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76895,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"1968:15:117","nodeType":"VariableDeclaration","scope":76897,"src":"1960:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76894,"name":"uint256","nodeType":"ElementaryTypeName","src":"1960:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1942:42:117"}},{"id":76905,"nodeType":"EventDefinition","src":"1990:87:117","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"1996:12:117","parameters":{"id":76904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76899,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2017:7:117","nodeType":"VariableDeclaration","scope":76905,"src":"2009:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76898,"name":"address","nodeType":"ElementaryTypeName","src":"2009:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76901,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"2034:16:117","nodeType":"VariableDeclaration","scope":76905,"src":"2026:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76900,"name":"address","nodeType":"ElementaryTypeName","src":"2026:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76903,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"2060:15:117","nodeType":"VariableDeclaration","scope":76905,"src":"2052:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76902,"name":"uint256","nodeType":"ElementaryTypeName","src":"2052:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2008:68:117"}},{"id":76909,"nodeType":"EventDefinition","src":"2082:43:117","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"2088:19:117","parameters":{"id":76908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76907,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"2116:7:117","nodeType":"VariableDeclaration","scope":76909,"src":"2108:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76906,"name":"uint256","nodeType":"ElementaryTypeName","src":"2108:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2107:17:117"}},{"id":76918,"nodeType":"EventDefinition","src":"2130:89:117","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"2136:19:117","parameters":{"id":76917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76911,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"2164:10:117","nodeType":"VariableDeclaration","scope":76918,"src":"2156:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2156:7:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":76913,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"2183:14:117","nodeType":"VariableDeclaration","scope":76918,"src":"2176:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":76912,"name":"string","nodeType":"ElementaryTypeName","src":"2176:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":76916,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2208:9:117","nodeType":"VariableDeclaration","scope":76918,"src":"2199:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":76915,"nodeType":"UserDefinedTypeName","pathNode":{"id":76914,"name":"Metadata","nameLocations":["2199:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2199:8:117"},"referencedDeclaration":3098,"src":"2199:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2155:63:117"}},{"id":76922,"nodeType":"EventDefinition","src":"2224:39:117","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"2230:13:117","parameters":{"id":76921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76920,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2252:9:117","nodeType":"VariableDeclaration","scope":76922,"src":"2244:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76919,"name":"address","nodeType":"ElementaryTypeName","src":"2244:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2243:19:117"}},{"id":76926,"nodeType":"EventDefinition","src":"2268:41:117","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"2274:15:117","parameters":{"id":76925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76924,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2298:9:117","nodeType":"VariableDeclaration","scope":76926,"src":"2290:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76923,"name":"address","nodeType":"ElementaryTypeName","src":"2290:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2289:19:117"}},{"id":76934,"nodeType":"EventDefinition","src":"2314:93:117","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"2320:23:117","parameters":{"id":76933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76928,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2352:7:117","nodeType":"VariableDeclaration","scope":76934,"src":"2344:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76927,"name":"address","nodeType":"ElementaryTypeName","src":"2344:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76930,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2369:9:117","nodeType":"VariableDeclaration","scope":76934,"src":"2361:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76929,"name":"address","nodeType":"ElementaryTypeName","src":"2361:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76932,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"2388:17:117","nodeType":"VariableDeclaration","scope":76934,"src":"2380:25:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76931,"name":"uint256","nodeType":"ElementaryTypeName","src":"2380:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2343:63:117"}},{"id":76940,"nodeType":"EventDefinition","src":"2412:68:117","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"2418:25:117","parameters":{"id":76939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76936,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2452:7:117","nodeType":"VariableDeclaration","scope":76940,"src":"2444:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76935,"name":"address","nodeType":"ElementaryTypeName","src":"2444:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76938,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2469:9:117","nodeType":"VariableDeclaration","scope":76940,"src":"2461:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76937,"name":"address","nodeType":"ElementaryTypeName","src":"2461:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2443:36:117"}},{"id":76944,"nodeType":"EventDefinition","src":"2485:47:117","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"2491:20:117","parameters":{"id":76943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76942,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"2520:10:117","nodeType":"VariableDeclaration","scope":76944,"src":"2512:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76941,"name":"uint256","nodeType":"ElementaryTypeName","src":"2512:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2511:20:117"}},{"id":76950,"nodeType":"EventDefinition","src":"2537:67:117","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"2543:20:117","parameters":{"id":76949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76946,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2572:7:117","nodeType":"VariableDeclaration","scope":76950,"src":"2564:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76945,"name":"address","nodeType":"ElementaryTypeName","src":"2564:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76948,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"2589:13:117","nodeType":"VariableDeclaration","scope":76950,"src":"2581:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76947,"name":"uint256","nodeType":"ElementaryTypeName","src":"2581:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2563:40:117"}},{"id":76956,"nodeType":"EventDefinition","src":"2609:69:117","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"2615:20:117","parameters":{"id":76955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76952,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2644:7:117","nodeType":"VariableDeclaration","scope":76956,"src":"2636:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76951,"name":"address","nodeType":"ElementaryTypeName","src":"2636:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76954,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"2661:15:117","nodeType":"VariableDeclaration","scope":76956,"src":"2653:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76953,"name":"uint256","nodeType":"ElementaryTypeName","src":"2653:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2635:42:117"}},{"id":76969,"nodeType":"EventDefinition","src":"2683:110:117","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"2689:11:117","parameters":{"id":76968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76958,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"2709:7:117","nodeType":"VariableDeclaration","scope":76969,"src":"2701:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76957,"name":"uint256","nodeType":"ElementaryTypeName","src":"2701:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76960,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2726:9:117","nodeType":"VariableDeclaration","scope":76969,"src":"2718:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76959,"name":"address","nodeType":"ElementaryTypeName","src":"2718:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76962,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"2745:10:117","nodeType":"VariableDeclaration","scope":76969,"src":"2737:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76961,"name":"address","nodeType":"ElementaryTypeName","src":"2737:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76964,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"2765:6:117","nodeType":"VariableDeclaration","scope":76969,"src":"2757:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76963,"name":"address","nodeType":"ElementaryTypeName","src":"2757:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76967,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2782:9:117","nodeType":"VariableDeclaration","scope":76969,"src":"2773:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":76966,"nodeType":"UserDefinedTypeName","pathNode":{"id":76965,"name":"Metadata","nameLocations":["2773:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2773:8:117"},"referencedDeclaration":3098,"src":"2773:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2700:92:117"}},{"id":76971,"nodeType":"ErrorDefinition","src":"2979:28:117","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"2985:19:117","parameters":{"id":76970,"nodeType":"ParameterList","parameters":[],"src":"3004:2:117"}},{"id":76973,"nodeType":"ErrorDefinition","src":"3012:29:117","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3018:20:117","parameters":{"id":76972,"nodeType":"ParameterList","parameters":[],"src":"3038:2:117"}},{"id":76977,"nodeType":"ErrorDefinition","src":"3046:38:117","nodes":[],"errorSelector":"fc4be72f","name":"UserNotInCouncil","nameLocation":"3052:16:117","parameters":{"id":76976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76975,"mutability":"mutable","name":"_user","nameLocation":"3077:5:117","nodeType":"VariableDeclaration","scope":76977,"src":"3069:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76974,"name":"address","nodeType":"ElementaryTypeName","src":"3069:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3068:15:117"}},{"id":76979,"nodeType":"ErrorDefinition","src":"3089:26:117","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3095:17:117","parameters":{"id":76978,"nodeType":"ParameterList","parameters":[],"src":"3112:2:117"}},{"id":76981,"nodeType":"ErrorDefinition","src":"3120:30:117","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"3126:21:117","parameters":{"id":76980,"nodeType":"ParameterList","parameters":[],"src":"3147:2:117"}},{"id":76983,"nodeType":"ErrorDefinition","src":"3155:27:117","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"3161:18:117","parameters":{"id":76982,"nodeType":"ParameterList","parameters":[],"src":"3179:2:117"}},{"id":76985,"nodeType":"ErrorDefinition","src":"3187:29:117","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"3193:20:117","parameters":{"id":76984,"nodeType":"ParameterList","parameters":[],"src":"3213:2:117"}},{"id":76987,"nodeType":"ErrorDefinition","src":"3221:31:117","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"3227:22:117","parameters":{"id":76986,"nodeType":"ParameterList","parameters":[],"src":"3249:2:117"}},{"id":76989,"nodeType":"ErrorDefinition","src":"3257:23:117","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"3263:14:117","parameters":{"id":76988,"nodeType":"ParameterList","parameters":[],"src":"3277:2:117"}},{"id":76991,"nodeType":"ErrorDefinition","src":"3285:25:117","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"3291:16:117","parameters":{"id":76990,"nodeType":"ParameterList","parameters":[],"src":"3307:2:117"}},{"id":76993,"nodeType":"ErrorDefinition","src":"3315:26:117","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"3321:17:117","parameters":{"id":76992,"nodeType":"ParameterList","parameters":[],"src":"3338:2:117"}},{"id":76995,"nodeType":"ErrorDefinition","src":"3346:26:117","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"3352:17:117","parameters":{"id":76994,"nodeType":"ParameterList","parameters":[],"src":"3369:2:117"}},{"id":76997,"nodeType":"ErrorDefinition","src":"3377:26:117","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"3383:17:117","parameters":{"id":76996,"nodeType":"ParameterList","parameters":[],"src":"3400:2:117"}},{"id":76999,"nodeType":"ErrorDefinition","src":"3408:29:117","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"3414:20:117","parameters":{"id":76998,"nodeType":"ParameterList","parameters":[],"src":"3434:2:117"}},{"id":77001,"nodeType":"ErrorDefinition","src":"3442:23:117","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"3448:14:117","parameters":{"id":77000,"nodeType":"ParameterList","parameters":[],"src":"3462:2:117"}},{"id":77003,"nodeType":"ErrorDefinition","src":"3470:26:117","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"3476:17:117","parameters":{"id":77002,"nodeType":"ParameterList","parameters":[],"src":"3493:2:117"}},{"id":77005,"nodeType":"ErrorDefinition","src":"3501:29:117","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"3507:20:117","parameters":{"id":77004,"nodeType":"ParameterList","parameters":[],"src":"3527:2:117"}},{"id":77011,"nodeType":"ErrorDefinition","src":"3535:80:117","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"3541:25:117","parameters":{"id":77010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77007,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"3575:15:117","nodeType":"VariableDeclaration","scope":77011,"src":"3567:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77006,"name":"uint256","nodeType":"ElementaryTypeName","src":"3567:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77009,"mutability":"mutable","name":"_currentPower","nameLocation":"3600:13:117","nodeType":"VariableDeclaration","scope":77011,"src":"3592:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77008,"name":"uint256","nodeType":"ElementaryTypeName","src":"3592:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3566:48:117"}},{"id":77040,"nodeType":"StructDefinition","src":"3787:494:117","nodes":[],"canonicalName":"RegistryCommunityV0_0.InitializeParams","members":[{"constant":false,"id":77013,"mutability":"mutable","name":"_allo","nameLocation":"3829:5:117","nodeType":"VariableDeclaration","scope":77040,"src":"3821:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77012,"name":"address","nodeType":"ElementaryTypeName","src":"3821:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77016,"mutability":"mutable","name":"_gardenToken","nameLocation":"3851:12:117","nodeType":"VariableDeclaration","scope":77040,"src":"3844:19:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":77015,"nodeType":"UserDefinedTypeName","pathNode":{"id":77014,"name":"IERC20","nameLocations":["3844:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3844:6:117"},"referencedDeclaration":56609,"src":"3844:6:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":77018,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"3881:20:117","nodeType":"VariableDeclaration","scope":77040,"src":"3873:28:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77017,"name":"uint256","nodeType":"ElementaryTypeName","src":"3873:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77020,"mutability":"mutable","name":"_communityFee","nameLocation":"3919:13:117","nodeType":"VariableDeclaration","scope":77040,"src":"3911:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77019,"name":"uint256","nodeType":"ElementaryTypeName","src":"3911:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77022,"mutability":"mutable","name":"_nonce","nameLocation":"3950:6:117","nodeType":"VariableDeclaration","scope":77040,"src":"3942:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77021,"name":"uint256","nodeType":"ElementaryTypeName","src":"3942:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77024,"mutability":"mutable","name":"_registryFactory","nameLocation":"3974:16:117","nodeType":"VariableDeclaration","scope":77040,"src":"3966:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77023,"name":"address","nodeType":"ElementaryTypeName","src":"3966:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77026,"mutability":"mutable","name":"_feeReceiver","nameLocation":"4008:12:117","nodeType":"VariableDeclaration","scope":77040,"src":"4000:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77025,"name":"address","nodeType":"ElementaryTypeName","src":"4000:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77029,"mutability":"mutable","name":"_metadata","nameLocation":"4039:9:117","nodeType":"VariableDeclaration","scope":77040,"src":"4030:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77028,"nodeType":"UserDefinedTypeName","pathNode":{"id":77027,"name":"Metadata","nameLocations":["4030:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4030:8:117"},"referencedDeclaration":3098,"src":"4030:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":77031,"mutability":"mutable","name":"_councilSafe","nameLocation":"4074:12:117","nodeType":"VariableDeclaration","scope":77040,"src":"4058:28:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":77030,"name":"address","nodeType":"ElementaryTypeName","src":"4058:15:117","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":77033,"mutability":"mutable","name":"_communityName","nameLocation":"4103:14:117","nodeType":"VariableDeclaration","scope":77040,"src":"4096:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":77032,"name":"string","nodeType":"ElementaryTypeName","src":"4096:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":77035,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"4132:14:117","nodeType":"VariableDeclaration","scope":77040,"src":"4127:19:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77034,"name":"bool","nodeType":"ElementaryTypeName","src":"4127:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":77037,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"4163:16:117","nodeType":"VariableDeclaration","scope":77040,"src":"4156:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":77036,"name":"string","nodeType":"ElementaryTypeName","src":"4156:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":77039,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"4197:17:117","nodeType":"VariableDeclaration","scope":77040,"src":"4189:25:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77038,"name":"address","nodeType":"ElementaryTypeName","src":"4189:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3794:16:117","scope":78776,"visibility":"public"},{"id":77043,"nodeType":"UsingForDirective","src":"4287:32:117","nodes":[],"global":false,"libraryName":{"id":77041,"name":"ERC165Checker","nameLocations":["4293:13:117"],"nodeType":"IdentifierPath","referencedDeclaration":58000,"src":"4293:13:117"},"typeName":{"id":77042,"name":"address","nodeType":"ElementaryTypeName","src":"4311:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":77047,"nodeType":"UsingForDirective","src":"4324:27:117","nodes":[],"global":false,"libraryName":{"id":77044,"name":"SafeERC20","nameLocations":["4330:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":57046,"src":"4330:9:117"},"typeName":{"id":77046,"nodeType":"UserDefinedTypeName","pathNode":{"id":77045,"name":"IERC20","nameLocations":["4344:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"4344:6:117"},"referencedDeclaration":56609,"src":"4344:6:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}},{"id":77050,"nodeType":"UsingForDirective","src":"4356:24:117","nodes":[],"global":false,"libraryName":{"id":77048,"name":"Clone","nameLocations":["4362:5:117"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"4362:5:117"},"typeName":{"id":77049,"name":"address","nodeType":"ElementaryTypeName","src":"4372:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":77052,"nodeType":"VariableDeclaration","src":"4386:39:117","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"4402:23:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77051,"name":"address","nodeType":"ElementaryTypeName","src":"4386:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":77056,"nodeType":"VariableDeclaration","src":"4512:75:117","nodes":[],"constant":true,"documentation":{"id":77053,"nodeType":"StructuredDocumentation","src":"4432:75:117","text":"@notice The native address to represent native token eg: ETH in mainnet"},"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"4536:6:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77054,"name":"address","nodeType":"ElementaryTypeName","src":"4512:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":77055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4545:42:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":77062,"nodeType":"VariableDeclaration","src":"4677:49:117","nodes":[],"constant":true,"documentation":{"id":77057,"nodeType":"StructuredDocumentation","src":"4593:79:117","text":"@notice The precision scale used in the contract to avoid loss of precision"},"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"4701:15:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77058,"name":"uint256","nodeType":"ElementaryTypeName","src":"4677:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":77061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":77059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4719:2:117","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":77060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4725:1:117","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"4719:7:117","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":77068,"nodeType":"VariableDeclaration","src":"4801:54:117","nodes":[],"constant":true,"documentation":{"id":77063,"nodeType":"StructuredDocumentation","src":"4732:64:117","text":"@notice The maximum fee that can be charged to the community"},"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"4825:7:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77064,"name":"uint256","nodeType":"ElementaryTypeName","src":"4801:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":77065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4835:2:117","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77066,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77062,"src":"4840:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4835:20:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77071,"nodeType":"VariableDeclaration","src":"4928:34:117","nodes":[],"constant":false,"documentation":{"id":77069,"nodeType":"StructuredDocumentation","src":"4861:62:117","text":"@notice The amount of tokens required to register a member"},"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"4943:19:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77070,"name":"uint256","nodeType":"ElementaryTypeName","src":"4928:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77074,"nodeType":"VariableDeclaration","src":"5039:27:117","nodes":[],"constant":false,"documentation":{"id":77072,"nodeType":"StructuredDocumentation","src":"4968:66:117","text":"@notice The fee charged to the community for each registration"},"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"5054:12:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77073,"name":"uint256","nodeType":"ElementaryTypeName","src":"5039:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77077,"nodeType":"VariableDeclaration","src":"5133:25:117","nodes":[],"constant":false,"documentation":{"id":77075,"nodeType":"StructuredDocumentation","src":"5072:56:117","text":"@notice The nonce used to create new strategy clones"},"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"5148:10:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77076,"name":"uint256","nodeType":"ElementaryTypeName","src":"5133:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77080,"nodeType":"VariableDeclaration","src":"5232:24:117","nodes":[],"constant":false,"documentation":{"id":77078,"nodeType":"StructuredDocumentation","src":"5164:63:117","text":"@notice The profileId of the community in the Allo Registry"},"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"5247:9:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":77079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5232:7:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":77083,"nodeType":"VariableDeclaration","src":"5313:25:117","nodes":[],"constant":false,"documentation":{"id":77081,"nodeType":"StructuredDocumentation","src":"5262:46:117","text":"@notice Enable or disable the kick feature"},"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"5325:13:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77082,"name":"bool","nodeType":"ElementaryTypeName","src":"5313:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":77086,"nodeType":"VariableDeclaration","src":"5405:26:117","nodes":[],"constant":false,"documentation":{"id":77084,"nodeType":"StructuredDocumentation","src":"5345:55:117","text":"@notice The address that receives the community fee"},"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"5420:11:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77085,"name":"address","nodeType":"ElementaryTypeName","src":"5405:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":77089,"nodeType":"VariableDeclaration","src":"5489:30:117","nodes":[],"constant":false,"documentation":{"id":77087,"nodeType":"StructuredDocumentation","src":"5437:47:117","text":"@notice The address of the registry factory"},"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"5504:15:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77088,"name":"address","nodeType":"ElementaryTypeName","src":"5489:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":77092,"nodeType":"VariableDeclaration","src":"5578:31:117","nodes":[],"constant":false,"documentation":{"id":77090,"nodeType":"StructuredDocumentation","src":"5525:48:117","text":"@notice The address of the strategy template"},"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"5593:16:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77091,"name":"address","nodeType":"ElementaryTypeName","src":"5578:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":77095,"nodeType":"VariableDeclaration","src":"5677:41:117","nodes":[],"constant":false,"documentation":{"id":77093,"nodeType":"StructuredDocumentation","src":"5615:57:117","text":"@notice The address of the pending council safe owner"},"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"5700:18:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":77094,"name":"address","nodeType":"ElementaryTypeName","src":"5677:15:117","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":77099,"nodeType":"VariableDeclaration","src":"5768:25:117","nodes":[],"constant":false,"documentation":{"id":77096,"nodeType":"StructuredDocumentation","src":"5725:38:117","text":"@notice The Registry Allo contract"},"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"5785:8:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":77098,"nodeType":"UserDefinedTypeName","pathNode":{"id":77097,"name":"IRegistry","nameLocations":["5768:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5768:9:117"},"referencedDeclaration":2802,"src":"5768:9:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":77103,"nodeType":"VariableDeclaration","src":"5856:25:117","nodes":[],"constant":false,"documentation":{"id":77100,"nodeType":"StructuredDocumentation","src":"5799:52:117","text":"@notice The token used to stake in the community"},"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"5870:11:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":77102,"nodeType":"UserDefinedTypeName","pathNode":{"id":77101,"name":"IERC20","nameLocations":["5856:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"5856:6:117"},"referencedDeclaration":56609,"src":"5856:6:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"public"},{"id":77107,"nodeType":"VariableDeclaration","src":"5937:24:117","nodes":[],"constant":false,"documentation":{"id":77104,"nodeType":"StructuredDocumentation","src":"5887:45:117","text":"@notice The council safe contract address"},"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"5950:11:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"},"typeName":{"id":77106,"nodeType":"UserDefinedTypeName","pathNode":{"id":77105,"name":"ISafe","nameLocations":["5937:5:117"],"nodeType":"IdentifierPath","referencedDeclaration":79792,"src":"5937:5:117"},"referencedDeclaration":79792,"src":"5937:5:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}},"visibility":"public"},{"id":77111,"nodeType":"VariableDeclaration","src":"6009:17:117","nodes":[],"constant":false,"documentation":{"id":77108,"nodeType":"StructuredDocumentation","src":"5967:37:117","text":"@notice The Allo contract address"},"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"6022:4:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"},"typeName":{"id":77110,"nodeType":"UserDefinedTypeName","pathNode":{"id":77109,"name":"FAllo","nameLocations":["6009:5:117"],"nodeType":"IdentifierPath","referencedDeclaration":79525,"src":"6009:5:117"},"referencedDeclaration":79525,"src":"6009:5:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}},"visibility":"public"},{"id":77114,"nodeType":"VariableDeclaration","src":"6068:27:117","nodes":[],"constant":false,"documentation":{"id":77112,"nodeType":"StructuredDocumentation","src":"6033:30:117","text":"@notice The community name"},"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"6082:13:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":77113,"name":"string","nodeType":"ElementaryTypeName","src":"6068:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":77117,"nodeType":"VariableDeclaration","src":"6153:30:117","nodes":[],"constant":false,"documentation":{"id":77115,"nodeType":"StructuredDocumentation","src":"6101:47:117","text":"@notice The covenant IPFS hash of community"},"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"6167:16:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":77116,"name":"string","nodeType":"ElementaryTypeName","src":"6153:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":77122,"nodeType":"VariableDeclaration","src":"6299:68:117","nodes":[],"constant":false,"documentation":{"id":77118,"nodeType":"StructuredDocumentation","src":"6247:47:117","text":"@notice List of enabled/disabled strategies"},"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"6350:17:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":77121,"keyName":"strategy","keyNameLocation":"6315:8:117","keyType":{"id":77119,"name":"address","nodeType":"ElementaryTypeName","src":"6307:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6299:43:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"6332:9:117","valueType":{"id":77120,"name":"bool","nodeType":"ElementaryTypeName","src":"6327:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":77129,"nodeType":"VariableDeclaration","src":"6435:98:117","nodes":[],"constant":false,"documentation":{"id":77123,"nodeType":"StructuredDocumentation","src":"6373:57:117","text":"@notice Power points for each member in each strategy"},"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"6512:21:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":77128,"keyName":"strategy","keyNameLocation":"6451:8:117","keyType":{"id":77124,"name":"address","nodeType":"ElementaryTypeName","src":"6443:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6435:69:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77127,"keyName":"member","keyNameLocation":"6479:6:117","keyType":{"id":77125,"name":"address","nodeType":"ElementaryTypeName","src":"6471:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6463:40:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"6497:5:117","valueType":{"id":77126,"name":"uint256","nodeType":"ElementaryTypeName","src":"6489:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":77135,"nodeType":"VariableDeclaration","src":"6633:60:117","nodes":[],"constant":false,"documentation":{"id":77130,"nodeType":"StructuredDocumentation","src":"6539:89:117","text":"@notice Member information as the staked amount and if is registered in the community"},"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"6674:19:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"typeName":{"id":77134,"keyName":"member","keyNameLocation":"6649:6:117","keyType":{"id":77131,"name":"address","nodeType":"ElementaryTypeName","src":"6641:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6633:33:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77133,"nodeType":"UserDefinedTypeName","pathNode":{"id":77132,"name":"Member","nameLocations":["6659:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77276,"src":"6659:6:117"},"referencedDeclaration":77276,"src":"6659:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}}},"visibility":"public"},{"id":77141,"nodeType":"VariableDeclaration","src":"6764:82:117","nodes":[],"constant":false,"documentation":{"id":77136,"nodeType":"StructuredDocumentation","src":"6699:60:117","text":"@notice List of strategies for each member are activated"},"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"6828:18:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":77140,"keyName":"member","keyNameLocation":"6780:6:117","keyType":{"id":77137,"name":"address","nodeType":"ElementaryTypeName","src":"6772:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6764:56:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"6800:19:117","valueType":{"baseType":{"id":77138,"name":"address","nodeType":"ElementaryTypeName","src":"6790:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77139,"nodeType":"ArrayTypeName","src":"6790:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":77148,"nodeType":"VariableDeclaration","src":"6924:107:117","nodes":[],"constant":false,"documentation":{"id":77142,"nodeType":"StructuredDocumentation","src":"6852:67:117","text":"@notice Mapping to check if a member is activated in a strategy"},"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"7004:27:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":77147,"keyName":"member","keyNameLocation":"6940:6:117","keyType":{"id":77143,"name":"address","nodeType":"ElementaryTypeName","src":"6932:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6924:72:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77146,"keyName":"strategy","keyNameLocation":"6966:8:117","keyType":{"id":77144,"name":"address","nodeType":"ElementaryTypeName","src":"6958:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6950:45:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"6983:11:117","valueType":{"id":77145,"name":"bool","nodeType":"ElementaryTypeName","src":"6978:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":77152,"nodeType":"VariableDeclaration","src":"7124:24:117","nodes":[],"constant":false,"documentation":{"id":77149,"nodeType":"StructuredDocumentation","src":"7038:81:117","text":"@notice List of initial members to be added as pool managers in the Allo Pool"},"mutability":"mutable","name":"initialMembers","nameLocation":"7134:14:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":77150,"name":"address","nodeType":"ElementaryTypeName","src":"7124:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77151,"nodeType":"ArrayTypeName","src":"7124:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":77158,"nodeType":"VariableDeclaration","src":"7365:68:117","nodes":[],"constant":true,"documentation":{"id":77153,"nodeType":"StructuredDocumentation","src":"7320:40:117","text":"@notice Role to council safe members"},"functionSelector":"733a2d1f","mutability":"constant","name":"COUNCIL_MEMBER","nameLocation":"7389:14:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":77154,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7365:7:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d424552","id":77156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7416:16:117","typeDescriptions":{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""},"value":"COUNCIL_MEMBER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""}],"id":77155,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7406:9:117","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":77157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7406:27:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":77175,"nodeType":"FunctionDefinition","src":"7606:158:117","nodes":[],"body":{"id":77174,"nodeType":"Block","src":"7646:118:117","nodes":[],"statements":[{"condition":{"id":77166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7660:36:117","subExpression":{"arguments":[{"id":77162,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77158,"src":"7669:14:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":77163,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7685:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7689:6:117","memberName":"sender","nodeType":"MemberAccess","src":"7685:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77161,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"7661:7:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":77165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7661:35:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77173,"nodeType":"IfStatement","src":"7656:102:117","trueBody":{"id":77172,"nodeType":"Block","src":"7698:60:117","statements":[{"errorCall":{"arguments":[{"expression":{"id":77168,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7736:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7740:6:117","memberName":"sender","nodeType":"MemberAccess","src":"7736:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77167,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76977,"src":"7719:16:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7719:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77171,"nodeType":"RevertStatement","src":"7712:35:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"7615:15:117","parameters":{"id":77159,"nodeType":"ParameterList","parameters":[],"src":"7630:2:117"},"returnParameters":{"id":77160,"nodeType":"ParameterList","parameters":[],"src":"7646:0:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77189,"nodeType":"FunctionDefinition","src":"7770:143:117","nodes":[],"body":{"id":77188,"nodeType":"Block","src":"7819:94:117","nodes":[],"statements":[{"condition":{"id":77182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7833:21:117","subExpression":{"arguments":[{"expression":{"id":77179,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7843:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7847:6:117","memberName":"sender","nodeType":"MemberAccess","src":"7843:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77178,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78384,"src":"7834:8:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":77181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7834:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77187,"nodeType":"IfStatement","src":"7829:78:117","trueBody":{"id":77186,"nodeType":"Block","src":"7856:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77183,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76979,"src":"7877:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7877:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77185,"nodeType":"RevertStatement","src":"7870:26:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"7779:24:117","parameters":{"id":77176,"nodeType":"ParameterList","parameters":[],"src":"7803:2:117"},"returnParameters":{"id":77177,"nodeType":"ParameterList","parameters":[],"src":"7819:0:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77204,"nodeType":"FunctionDefinition","src":"7919:156:117","nodes":[],"body":{"id":77203,"nodeType":"Block","src":"7984:91:117","nodes":[],"statements":[{"condition":{"id":77197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7998:18:117","subExpression":{"arguments":[{"id":77195,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77191,"src":"8008:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77194,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78384,"src":"7999:8:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":77196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7999:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77202,"nodeType":"IfStatement","src":"7994:75:117","trueBody":{"id":77201,"nodeType":"Block","src":"8018:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77198,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76979,"src":"8039:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8039:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77200,"nodeType":"RevertStatement","src":"8032:26:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"7928:25:117","parameters":{"id":77192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77191,"mutability":"mutable","name":"_sender","nameLocation":"7962:7:117","nodeType":"VariableDeclaration","scope":77204,"src":"7954:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77190,"name":"address","nodeType":"ElementaryTypeName","src":"7954:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7953:17:117"},"returnParameters":{"id":77193,"nodeType":"ParameterList","parameters":[],"src":"7984:0:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77219,"nodeType":"FunctionDefinition","src":"8081:162:117","nodes":[],"body":{"id":77218,"nodeType":"Block","src":"8142:101:117","nodes":[],"statements":[{"condition":{"id":77212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8156:29:117","subExpression":{"baseExpression":{"id":77209,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77122,"src":"8157:17:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77211,"indexExpression":{"id":77210,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77206,"src":"8175:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8157:28:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77217,"nodeType":"IfStatement","src":"8152:85:117","trueBody":{"id":77216,"nodeType":"Block","src":"8187:50:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77213,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76991,"src":"8208:16:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8208:18:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77215,"nodeType":"RevertStatement","src":"8201:25:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"8090:19:117","parameters":{"id":77207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77206,"mutability":"mutable","name":"_strategy","nameLocation":"8118:9:117","nodeType":"VariableDeclaration","scope":77219,"src":"8110:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77205,"name":"address","nodeType":"ElementaryTypeName","src":"8110:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8109:19:117"},"returnParameters":{"id":77208,"nodeType":"ParameterList","parameters":[],"src":"8142:0:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77235,"nodeType":"FunctionDefinition","src":"8249:171:117","nodes":[],"body":{"id":77234,"nodeType":"Block","src":"8327:93:117","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77226,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77221,"src":"8341:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":77227,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77223,"src":"8352:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8341:20:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77233,"nodeType":"IfStatement","src":"8337:77:117","trueBody":{"id":77232,"nodeType":"Block","src":"8363:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77229,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76995,"src":"8384:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8384:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77231,"nodeType":"RevertStatement","src":"8377:26:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"8258:19:117","parameters":{"id":77224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77221,"mutability":"mutable","name":"_sender","nameLocation":"8286:7:117","nodeType":"VariableDeclaration","scope":77235,"src":"8278:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77220,"name":"address","nodeType":"ElementaryTypeName","src":"8278:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77223,"mutability":"mutable","name":"_strategy","nameLocation":"8303:9:117","nodeType":"VariableDeclaration","scope":77235,"src":"8295:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77222,"name":"address","nodeType":"ElementaryTypeName","src":"8295:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8277:36:117"},"returnParameters":{"id":77225,"nodeType":"ParameterList","parameters":[],"src":"8327:0:117"},"scope":78776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":77253,"nodeType":"FunctionDefinition","src":"8426:189:117","nodes":[],"body":{"id":77252,"nodeType":"Block","src":"8491:124:117","nodes":[],"statements":[{"condition":{"id":77246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8505:51:117","subExpression":{"baseExpression":{"baseExpression":{"id":77240,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77148,"src":"8506:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77243,"indexExpression":{"expression":{"id":77241,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8534:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8538:6:117","memberName":"sender","nodeType":"MemberAccess","src":"8534:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8506:39:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77245,"indexExpression":{"id":77244,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77237,"src":"8546:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8506:50:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77251,"nodeType":"IfStatement","src":"8501:108:117","trueBody":{"id":77250,"nodeType":"Block","src":"8558:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77247,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77003,"src":"8579:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8579:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77249,"nodeType":"RevertStatement","src":"8572:26:117"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"8435:23:117","parameters":{"id":77238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77237,"mutability":"mutable","name":"_strategy","nameLocation":"8467:9:117","nodeType":"VariableDeclaration","scope":77253,"src":"8459:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77236,"name":"address","nodeType":"ElementaryTypeName","src":"8459:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8458:19:117"},"returnParameters":{"id":77239,"nodeType":"ParameterList","parameters":[],"src":"8491:0:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":77269,"nodeType":"FunctionDefinition","src":"8621:133:117","nodes":[],"body":{"id":77268,"nodeType":"Block","src":"8681:73:117","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77258,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77255,"src":"8695:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":77261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8715:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8707:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77259,"name":"address","nodeType":"ElementaryTypeName","src":"8707:7:117","typeDescriptions":{}}},"id":77262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8707:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8695:22:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77267,"nodeType":"IfStatement","src":"8691:56:117","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77264,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76971,"src":"8726:19:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8726:21:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77266,"nodeType":"RevertStatement","src":"8719:28:117"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"8630:18:117","parameters":{"id":77256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77255,"mutability":"mutable","name":"_address","nameLocation":"8657:8:117","nodeType":"VariableDeclaration","scope":77269,"src":"8649:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77254,"name":"address","nodeType":"ElementaryTypeName","src":"8649:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8648:18:117"},"returnParameters":{"id":77257,"nodeType":"ParameterList","parameters":[],"src":"8681:0:117"},"scope":78776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77276,"nodeType":"StructDefinition","src":"8925:102:117","nodes":[],"canonicalName":"RegistryCommunityV0_0.Member","members":[{"constant":false,"id":77271,"mutability":"mutable","name":"member","nameLocation":"8957:6:117","nodeType":"VariableDeclaration","scope":77276,"src":"8949:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77270,"name":"address","nodeType":"ElementaryTypeName","src":"8949:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77273,"mutability":"mutable","name":"stakedAmount","nameLocation":"8981:12:117","nodeType":"VariableDeclaration","scope":77276,"src":"8973:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77272,"name":"uint256","nodeType":"ElementaryTypeName","src":"8973:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77275,"mutability":"mutable","name":"isRegistered","nameLocation":"9008:12:117","nodeType":"VariableDeclaration","scope":77276,"src":"9003:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77274,"name":"bool","nodeType":"ElementaryTypeName","src":"9003:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"8932:6:117","scope":78776,"visibility":"public"},{"id":77280,"nodeType":"StructDefinition","src":"9033:55:117","nodes":[],"canonicalName":"RegistryCommunityV0_0.Strategies","members":[{"constant":false,"id":77279,"mutability":"mutable","name":"strategies","nameLocation":"9071:10:117","nodeType":"VariableDeclaration","scope":77280,"src":"9061:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77277,"name":"address","nodeType":"ElementaryTypeName","src":"9061:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77278,"nodeType":"ArrayTypeName","src":"9061:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"9040:10:117","scope":78776,"visibility":"public"},{"id":77554,"nodeType":"FunctionDefinition","src":"9094:2489:117","nodes":[],"body":{"id":77553,"nodeType":"Block","src":"9241:2342:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":77290,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"9251:14:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":77291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9251:16:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77292,"nodeType":"ExpressionStatement","src":"9251:16:117"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":77293,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53257,"src":"9277:22:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":77294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9277:24:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77295,"nodeType":"ExpressionStatement","src":"9277:24:117"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":77296,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52490,"src":"9311:20:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":77297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9311:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77298,"nodeType":"ExpressionStatement","src":"9311:22:117"},{"expression":{"arguments":[{"id":77300,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77158,"src":"9358:14:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":77301,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52473,"src":"9374:18:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":77299,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52709,"src":"9344:13:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":77302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9344:49:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77303,"nodeType":"ExpressionStatement","src":"9344:49:117"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":77307,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9431:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9438:12:117","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":77016,"src":"9431:19:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":77306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9423:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77305,"name":"address","nodeType":"ElementaryTypeName","src":"9423:7:117","typeDescriptions":{}}},"id":77309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9423:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77304,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"9404:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9404:48:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77311,"nodeType":"ExpressionStatement","src":"9404:48:117"},{"expression":{"arguments":[{"expression":{"id":77313,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9481:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9488:12:117","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":77031,"src":"9481:19:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":77312,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"9462:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9462:39:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77316,"nodeType":"ExpressionStatement","src":"9462:39:117"},{"expression":{"arguments":[{"expression":{"id":77318,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9530:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9537:5:117","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":77013,"src":"9530:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77317,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"9511:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9511:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77321,"nodeType":"ExpressionStatement","src":"9511:32:117"},{"expression":{"arguments":[{"expression":{"id":77323,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9572:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9579:16:117","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":77024,"src":"9572:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77322,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"9553:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9553:43:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77326,"nodeType":"ExpressionStatement","src":"9553:43:117"},{"expression":{"arguments":[{"expression":{"id":77328,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9625:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9632:17:117","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":77039,"src":"9625:24:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77327,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"9606:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9606:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77331,"nodeType":"ExpressionStatement","src":"9606:44:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77332,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9665:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9672:13:117","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":77020,"src":"9665:20:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":77334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9689:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9665:25:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77342,"nodeType":"IfStatement","src":"9661:95:117","trueBody":{"id":77341,"nodeType":"Block","src":"9692:64:117","statements":[{"expression":{"arguments":[{"expression":{"id":77337,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9725:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9732:12:117","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":77026,"src":"9725:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77336,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"9706:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9706:39:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77340,"nodeType":"ExpressionStatement","src":"9706:39:117"}]}},{"expression":{"id":77348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77343,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77111,"src":"9765:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":77345,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9778:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77346,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9785:5:117","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":77013,"src":"9778:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77344,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79525,"src":"9772:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$79525_$","typeString":"type(contract FAllo)"}},"id":77347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9772:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}},"src":"9765:26:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}},"id":77349,"nodeType":"ExpressionStatement","src":"9765:26:117"},{"expression":{"id":77353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77350,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77103,"src":"9801:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77351,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9815:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9822:12:117","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":77016,"src":"9815:19:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"src":"9801:33:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":77354,"nodeType":"ExpressionStatement","src":"9801:33:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77355,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9848:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9855:20:117","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":77018,"src":"9848:27:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9879:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9848:32:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77363,"nodeType":"IfStatement","src":"9844:89:117","trueBody":{"id":77362,"nodeType":"Block","src":"9882:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77359,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76997,"src":"9903:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9903:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77361,"nodeType":"RevertStatement","src":"9896:26:117"}]}},{"expression":{"id":77367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77364,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"9942:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77365,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"9964:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9971:20:117","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":77018,"src":"9964:27:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9942:49:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77368,"nodeType":"ExpressionStatement","src":"9942:49:117"},{"expression":{"id":77372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77369,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77074,"src":"10001:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77370,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"10016:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77371,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10023:13:117","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":77020,"src":"10016:20:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10001:35:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77373,"nodeType":"ExpressionStatement","src":"10001:35:117"},{"expression":{"id":77377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77374,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77083,"src":"10046:13:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77375,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"10062:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10069:14:117","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":77035,"src":"10062:21:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10046:37:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77378,"nodeType":"ExpressionStatement","src":"10046:37:117"},{"expression":{"id":77382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77379,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77114,"src":"10093:13:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77380,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"10109:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10116:14:117","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":77033,"src":"10109:21:117","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10093:37:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":77383,"nodeType":"ExpressionStatement","src":"10093:37:117"},{"expression":{"id":77387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77384,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77117,"src":"10140:16:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77385,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"10159:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10166:16:117","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":77037,"src":"10159:23:117","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10140:42:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":77388,"nodeType":"ExpressionStatement","src":"10140:42:117"},{"expression":{"id":77392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77389,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77089,"src":"10192:15:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77390,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"10210:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10217:16:117","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":77024,"src":"10210:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10192:41:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77393,"nodeType":"ExpressionStatement","src":"10192:41:117"},{"expression":{"id":77397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77394,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77086,"src":"10243:11:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77395,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"10257:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77396,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10264:12:117","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":77026,"src":"10257:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10243:33:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77398,"nodeType":"ExpressionStatement","src":"10243:33:117"},{"expression":{"id":77404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77399,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77107,"src":"10286:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":77401,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"10306:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77402,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10313:12:117","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":77031,"src":"10306:19:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":77400,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79792,"src":"10300:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$79792_$","typeString":"type(contract ISafe)"}},"id":77403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10300:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}},"src":"10286:40:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}},"id":77405,"nodeType":"ExpressionStatement","src":"10286:40:117"},{"expression":{"id":77409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77406,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"10336:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77407,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"10355:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10362:17:117","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":77039,"src":"10355:24:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10336:43:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77410,"nodeType":"ExpressionStatement","src":"10336:43:117"},{"expression":{"arguments":[{"id":77412,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77158,"src":"10401:14:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":77413,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"10417:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10424:12:117","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":77031,"src":"10417:19:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":77411,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52741,"src":"10390:10:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":77415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10390:47:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77416,"nodeType":"ExpressionStatement","src":"10390:47:117"},{"expression":{"id":77423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77417,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77099,"src":"10448:8:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77419,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77111,"src":"10469:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}},"id":77420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10474:11:117","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":79516,"src":"10469:16:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":77421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10469:18:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77418,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"10459:9:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":77422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10459:29:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"10448:40:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":77424,"nodeType":"ExpressionStatement","src":"10448:40:117"},{"assignments":[77429],"declarations":[{"constant":false,"id":77429,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"10516:19:117","nodeType":"VariableDeclaration","scope":77553,"src":"10499:36:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77427,"name":"address","nodeType":"ElementaryTypeName","src":"10499:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77428,"nodeType":"ArrayTypeName","src":"10499:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77430,"nodeType":"VariableDeclarationStatement","src":"10499:36:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":77433,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77107,"src":"10595:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":77432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10587:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77431,"name":"address","nodeType":"ElementaryTypeName","src":"10587:7:117","typeDescriptions":{}}},"id":77434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10587:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10608:4:117","memberName":"code","nodeType":"MemberAccess","src":"10587:25:117","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":77436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10613:6:117","memberName":"length","nodeType":"MemberAccess","src":"10587:32:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10623:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10587:37:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77496,"nodeType":"Block","src":"10744:266:117","statements":[{"assignments":[77459],"declarations":[{"constant":false,"id":77459,"mutability":"mutable","name":"owners","nameLocation":"10775:6:117","nodeType":"VariableDeclaration","scope":77496,"src":"10758:23:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77457,"name":"address","nodeType":"ElementaryTypeName","src":"10758:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77458,"nodeType":"ArrayTypeName","src":"10758:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77463,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77460,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77107,"src":"10784:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}},"id":77461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10796:9:117","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":79707,"src":"10784:21:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":77462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10784:23:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10758:49:117"},{"expression":{"id":77473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77464,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"10821:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77468,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77459,"src":"10857:6:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10864:6:117","memberName":"length","nodeType":"MemberAccess","src":"10857:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":77470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10873:1:117","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10857:17:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10843:13:117","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":77465,"name":"address","nodeType":"ElementaryTypeName","src":"10847:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77466,"nodeType":"ArrayTypeName","src":"10847:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":77472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10843:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"10821:54:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77474,"nodeType":"ExpressionStatement","src":"10821:54:117"},{"body":{"id":77494,"nodeType":"Block","src":"10933:67:117","statements":[{"expression":{"id":77492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77486,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"10951:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77488,"indexExpression":{"id":77487,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77476,"src":"10971:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10951:22:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":77489,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77459,"src":"10976:6:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77491,"indexExpression":{"id":77490,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77476,"src":"10983:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10976:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10951:34:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77493,"nodeType":"ExpressionStatement","src":"10951:34:117"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77479,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77476,"src":"10909:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":77480,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77459,"src":"10913:6:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10920:6:117","memberName":"length","nodeType":"MemberAccess","src":"10913:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10909:17:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77495,"initializationExpression":{"assignments":[77476],"declarations":[{"constant":false,"id":77476,"mutability":"mutable","name":"i","nameLocation":"10902:1:117","nodeType":"VariableDeclaration","scope":77495,"src":"10894:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77475,"name":"uint256","nodeType":"ElementaryTypeName","src":"10894:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77478,"initialValue":{"hexValue":"30","id":77477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10906:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10894:13:117"},"loopExpression":{"expression":{"id":77484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10928:3:117","subExpression":{"id":77483,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77476,"src":"10928:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77485,"nodeType":"ExpressionStatement","src":"10928:3:117"},"nodeType":"ForStatement","src":"10889:111:117"}]},"id":77497,"nodeType":"IfStatement","src":"10583:427:117","trueBody":{"id":77454,"nodeType":"Block","src":"10626:112:117","statements":[{"expression":{"id":77445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77439,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"10640:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":77443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10676:1:117","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":77442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10662:13:117","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":77440,"name":"address","nodeType":"ElementaryTypeName","src":"10666:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77441,"nodeType":"ArrayTypeName","src":"10666:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":77444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10662:16:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"10640:38:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77446,"nodeType":"ExpressionStatement","src":"10640:38:117"},{"expression":{"id":77452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77447,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"10692:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77449,"indexExpression":{"hexValue":"30","id":77448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10712:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10692:22:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77450,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10717:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10721:6:117","memberName":"sender","nodeType":"MemberAccess","src":"10717:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10692:35:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77453,"nodeType":"ExpressionStatement","src":"10692:35:117"}]}},{"expression":{"id":77508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77498,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"11020:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77503,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77499,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"11040:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11060:6:117","memberName":"length","nodeType":"MemberAccess","src":"11040:26:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":77501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11069:1:117","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11040:30:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11020:51:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77506,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77107,"src":"11082:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":77505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11074:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77504,"name":"address","nodeType":"ElementaryTypeName","src":"11074:7:117","typeDescriptions":{}}},"id":77507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11074:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11020:74:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77509,"nodeType":"ExpressionStatement","src":"11020:74:117"},{"expression":{"id":77520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77510,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"11104:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77515,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77511,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"11124:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11144:6:117","memberName":"length","nodeType":"MemberAccess","src":"11124:26:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":77513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11153:1:117","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11124:30:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11104:51:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77518,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11166:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":77517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11158:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77516,"name":"address","nodeType":"ElementaryTypeName","src":"11158:7:117","typeDescriptions":{}}},"id":77519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11158:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11104:67:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77521,"nodeType":"ExpressionStatement","src":"11104:67:117"},{"expression":{"id":77536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77522,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77080,"src":"11259:9:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":77525,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"11306:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77526,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11313:6:117","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":77022,"src":"11306:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77527,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77114,"src":"11321:13:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":77528,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"11336:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77529,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11343:9:117","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":77029,"src":"11336:16:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":77532,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11362:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":77531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11354:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77530,"name":"address","nodeType":"ElementaryTypeName","src":"11354:7:117","typeDescriptions":{}}},"id":77533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11354:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77534,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"11369:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":77523,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77099,"src":"11283:8:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":77524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11292:13:117","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"11283:22:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":77535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11283:106:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11259:130:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77537,"nodeType":"ExpressionStatement","src":"11259:130:117"},{"expression":{"id":77540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77538,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77152,"src":"11400:14:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77539,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"11417:19:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11400:36:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":77541,"nodeType":"ExpressionStatement","src":"11400:36:117"},{"expression":{"id":77544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77542,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77052,"src":"11447:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77543,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77285,"src":"11473:24:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11447:50:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77545,"nodeType":"ExpressionStatement","src":"11447:50:117"},{"eventCall":{"arguments":[{"id":77547,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77080,"src":"11533:9:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":77548,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77114,"src":"11544:13:117","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":77549,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77283,"src":"11559:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":77550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11566:9:117","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":77029,"src":"11559:16:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":77546,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"11513:19:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":77551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11513:63:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77552,"nodeType":"EmitStatement","src":"11508:68:117"}]},"functionSelector":"fa50f53d","implemented":true,"kind":"function","modifiers":[{"id":77288,"kind":"modifierInvocation","modifierName":{"id":77287,"name":"initializer","nameLocations":["9225:11:117"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"9225:11:117"},"nodeType":"ModifierInvocation","src":"9225:11:117"}],"name":"initialize","nameLocation":"9103:10:117","parameters":{"id":77286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77283,"mutability":"mutable","name":"params","nameLocation":"9160:6:117","nodeType":"VariableDeclaration","scope":77554,"src":"9114:52:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":77282,"nodeType":"UserDefinedTypeName","pathNode":{"id":77281,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["9114:21:117","9136:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":77040,"src":"9114:38:117"},"referencedDeclaration":77040,"src":"9114:38:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":77285,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"9176:24:117","nodeType":"VariableDeclaration","scope":77554,"src":"9168:32:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77284,"name":"address","nodeType":"ElementaryTypeName","src":"9168:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9113:88:117"},"returnParameters":{"id":77289,"nodeType":"ParameterList","parameters":[],"src":"9241:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77602,"nodeType":"FunctionDefinition","src":"11589:507:117","nodes":[],"body":{"id":77601,"nodeType":"Block","src":"11770:326:117","nodes":[],"statements":[{"assignments":[77570],"declarations":[{"constant":false,"id":77570,"mutability":"mutable","name":"strategyProxy","nameLocation":"11788:13:117","nodeType":"VariableDeclaration","scope":77601,"src":"11780:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77569,"name":"address","nodeType":"ElementaryTypeName","src":"11780:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77593,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":77578,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"11867:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11859:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77576,"name":"address","nodeType":"ElementaryTypeName","src":"11859:7:117","typeDescriptions":{}}},"id":77579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11859:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":77582,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75969,"src":"11925:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$75969_$","typeString":"type(contract CVStrategyV0_0)"}},"id":77583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11940:4:117","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":72876,"src":"11925:19:117","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address,address)"}},"id":77584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11945:8:117","memberName":"selector","nodeType":"MemberAccess","src":"11925:28:117","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":77587,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77111,"src":"11963:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}],"id":77586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11955:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77585,"name":"address","nodeType":"ElementaryTypeName","src":"11955:7:117","typeDescriptions":{}}},"id":77588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11955:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77589,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77052,"src":"11970:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77580,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11902:3:117","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":77581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11906:18:117","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11902:22:117","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":77590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11902:92:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":77575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"11825:16:117","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55102_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":77574,"nodeType":"UserDefinedTypeName","pathNode":{"id":77573,"name":"ERC1967Proxy","nameLocations":["11829:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"11829:12:117"},"referencedDeclaration":55102,"src":"11829:12:117","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}},"id":77591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11825:183:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}],"id":77572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11804:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77571,"name":"address","nodeType":"ElementaryTypeName","src":"11804:7:117","typeDescriptions":{}}},"id":77592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11804:214:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11780:238:117"},{"expression":{"arguments":[{"id":77595,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77570,"src":"12047:13:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77596,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77556,"src":"12062:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77597,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77559,"src":"12070:7:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":77598,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77562,"src":"12079:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":77594,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[77602,77674],"referencedDeclaration":77674,"src":"12036:10:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$72562_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":77599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12036:53:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":77568,"id":77600,"nodeType":"Return","src":"12029:60:117"}]},"functionSelector":"524e59e8","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"11598:10:117","parameters":{"id":77563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77556,"mutability":"mutable","name":"_token","nameLocation":"11617:6:117","nodeType":"VariableDeclaration","scope":77602,"src":"11609:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77555,"name":"address","nodeType":"ElementaryTypeName","src":"11609:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77559,"mutability":"mutable","name":"_params","nameLocation":"11664:7:117","nodeType":"VariableDeclaration","scope":77602,"src":"11625:46:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77558,"nodeType":"UserDefinedTypeName","pathNode":{"id":77557,"name":"StrategyStruct.InitializeParams","nameLocations":["11625:14:117","11640:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"11625:31:117"},"referencedDeclaration":72562,"src":"11625:31:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":77562,"mutability":"mutable","name":"_metadata","nameLocation":"11689:9:117","nodeType":"VariableDeclaration","scope":77602,"src":"11673:25:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":77561,"nodeType":"UserDefinedTypeName","pathNode":{"id":77560,"name":"Metadata","nameLocations":["11673:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"11673:8:117"},"referencedDeclaration":3098,"src":"11673:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"11608:91:117"},"returnParameters":{"id":77568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77565,"mutability":"mutable","name":"poolId","nameLocation":"11740:6:117","nodeType":"VariableDeclaration","scope":77602,"src":"11732:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77564,"name":"uint256","nodeType":"ElementaryTypeName","src":"11732:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77567,"mutability":"mutable","name":"strategy","nameLocation":"11756:8:117","nodeType":"VariableDeclaration","scope":77602,"src":"11748:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77566,"name":"address","nodeType":"ElementaryTypeName","src":"11748:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11731:34:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77674,"nodeType":"FunctionDefinition","src":"12102:653:117","nodes":[],"body":{"id":77673,"nodeType":"Block","src":"12320:435:117","nodes":[],"statements":[{"assignments":[77620],"declarations":[{"constant":false,"id":77620,"mutability":"mutable","name":"token","nameLocation":"12338:5:117","nodeType":"VariableDeclaration","scope":77673,"src":"12330:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77619,"name":"address","nodeType":"ElementaryTypeName","src":"12330:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77622,"initialValue":{"id":77621,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77056,"src":"12346:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12330:22:117"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77623,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77606,"src":"12366:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":77626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12384:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12376:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77624,"name":"address","nodeType":"ElementaryTypeName","src":"12376:7:117","typeDescriptions":{}}},"id":77627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12376:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12366:20:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77634,"nodeType":"IfStatement","src":"12362:65:117","trueBody":{"id":77633,"nodeType":"Block","src":"12388:39:117","statements":[{"expression":{"id":77631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77629,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77620,"src":"12402:5:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77630,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77606,"src":"12410:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12402:14:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77632,"nodeType":"ExpressionStatement","src":"12402:14:117"}]}},{"expression":{"id":77637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77635,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77617,"src":"12436:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77636,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77604,"src":"12447:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12436:20:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77638,"nodeType":"ExpressionStatement","src":"12436:20:117"},{"assignments":[77643],"declarations":[{"constant":false,"id":77643,"mutability":"mutable","name":"_pool_managers","nameLocation":"12484:14:117","nodeType":"VariableDeclaration","scope":77673,"src":"12467:31:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77641,"name":"address","nodeType":"ElementaryTypeName","src":"12467:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77642,"nodeType":"ArrayTypeName","src":"12467:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77645,"initialValue":{"id":77644,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77152,"src":"12501:14:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12467:48:117"},{"expression":{"id":77660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77646,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77615,"src":"12526:6:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77649,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77080,"src":"12582:9:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":77650,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77617,"src":"12593:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77653,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77609,"src":"12614:7:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":77651,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12603:3:117","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":77652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12607:6:117","memberName":"encode","nodeType":"MemberAccess","src":"12603:10:117","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":77654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12603:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":77655,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77620,"src":"12624:5:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":77656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12631:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":77657,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77612,"src":"12634:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":77658,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77643,"src":"12645:14:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":77647,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77111,"src":"12535:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}},"id":77648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12540:28:117","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":79511,"src":"12535:33:117","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":77659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12535:134:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12526:143:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77661,"nodeType":"ExpressionStatement","src":"12526:143:117"},{"eventCall":{"arguments":[{"id":77663,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77615,"src":"12697:6:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77664,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77617,"src":"12705:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77667,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12723:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":77666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12715:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77665,"name":"address","nodeType":"ElementaryTypeName","src":"12715:7:117","typeDescriptions":{}}},"id":77668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12715:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77669,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77606,"src":"12730:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77670,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77612,"src":"12738:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":77662,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76969,"src":"12685:11:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":77671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12685:63:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77672,"nodeType":"EmitStatement","src":"12680:68:117"}]},"functionSelector":"e16d0e32","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"12111:10:117","parameters":{"id":77613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77604,"mutability":"mutable","name":"_strategy","nameLocation":"12139:9:117","nodeType":"VariableDeclaration","scope":77674,"src":"12131:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77603,"name":"address","nodeType":"ElementaryTypeName","src":"12131:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77606,"mutability":"mutable","name":"_token","nameLocation":"12166:6:117","nodeType":"VariableDeclaration","scope":77674,"src":"12158:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77605,"name":"address","nodeType":"ElementaryTypeName","src":"12158:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77609,"mutability":"mutable","name":"_params","nameLocation":"12221:7:117","nodeType":"VariableDeclaration","scope":77674,"src":"12182:46:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77608,"nodeType":"UserDefinedTypeName","pathNode":{"id":77607,"name":"StrategyStruct.InitializeParams","nameLocations":["12182:14:117","12197:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":72562,"src":"12182:31:117"},"referencedDeclaration":72562,"src":"12182:31:117","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$72562_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":77612,"mutability":"mutable","name":"_metadata","nameLocation":"12254:9:117","nodeType":"VariableDeclaration","scope":77674,"src":"12238:25:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":77611,"nodeType":"UserDefinedTypeName","pathNode":{"id":77610,"name":"Metadata","nameLocations":["12238:8:117"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12238:8:117"},"referencedDeclaration":3098,"src":"12238:8:117","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12121:148:117"},"returnParameters":{"id":77618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77615,"mutability":"mutable","name":"poolId","nameLocation":"12294:6:117","nodeType":"VariableDeclaration","scope":77674,"src":"12286:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77614,"name":"uint256","nodeType":"ElementaryTypeName","src":"12286:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77617,"mutability":"mutable","name":"strategy","nameLocation":"12310:8:117","nodeType":"VariableDeclaration","scope":77674,"src":"12302:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77616,"name":"address","nodeType":"ElementaryTypeName","src":"12302:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12285:34:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77791,"nodeType":"FunctionDefinition","src":"12761:1179:117","nodes":[],"body":{"id":77790,"nodeType":"Block","src":"12838:1102:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":77682,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77676,"src":"12874:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77681,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77204,"src":"12848:25:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":77683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12848:34:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77684,"nodeType":"ExpressionStatement","src":"12848:34:117"},{"expression":{"arguments":[{"id":77686,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"12912:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77685,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77219,"src":"12892:19:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":77687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12892:30:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77688,"nodeType":"ExpressionStatement","src":"12892:30:117"},{"expression":{"arguments":[{"id":77690,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"12951:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77689,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"12932:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12932:29:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77692,"nodeType":"ExpressionStatement","src":"12932:29:117"},{"condition":{"baseExpression":{"baseExpression":{"id":77693,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77148,"src":"12976:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77695,"indexExpression":{"id":77694,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77676,"src":"13004:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12976:36:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77697,"indexExpression":{"id":77696,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"13013:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12976:47:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77702,"nodeType":"IfStatement","src":"12972:107:117","trueBody":{"id":77701,"nodeType":"Block","src":"13025:54:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77698,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76985,"src":"13046:20:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13046:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77700,"nodeType":"RevertStatement","src":"13039:29:117"}]}},{"assignments":[77705],"declarations":[{"constant":false,"id":77705,"mutability":"mutable","name":"member","nameLocation":"13103:6:117","nodeType":"VariableDeclaration","scope":77790,"src":"13089:20:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":77704,"nodeType":"UserDefinedTypeName","pathNode":{"id":77703,"name":"Member","nameLocations":["13089:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77276,"src":"13089:6:117"},"referencedDeclaration":77276,"src":"13089:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":77709,"initialValue":{"baseExpression":{"id":77706,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"13112:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":77708,"indexExpression":{"id":77707,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77676,"src":"13132:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13112:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13089:51:117"},{"assignments":[77711],"declarations":[{"constant":false,"id":77711,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"13159:17:117","nodeType":"VariableDeclaration","scope":77790,"src":"13151:25:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77710,"name":"uint256","nodeType":"ElementaryTypeName","src":"13151:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77714,"initialValue":{"expression":{"id":77712,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77705,"src":"13179:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":77713,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13186:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"13179:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13151:47:117"},{"assignments":[77716],"declarations":[{"constant":false,"id":77716,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13216:16:117","nodeType":"VariableDeclaration","scope":77790,"src":"13208:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77715,"name":"uint256","nodeType":"ElementaryTypeName","src":"13208:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77718,"initialValue":{"id":77717,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"13235:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13208:46:117"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":77727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":77720,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"13284:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77719,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"13269:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}},"id":77721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13269:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72441","typeString":"contract IPointStrategy"}},"id":77722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13295:14:117","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":72440,"src":"13269:40:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$72450_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":77723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13269:42:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":77724,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"13315:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":77725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13330:11:117","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"13315:26:117","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":77726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13342:9:117","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":72449,"src":"13315:36:117","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"13269:82:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"},"id":77747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":77740,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"13473:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77739,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"13458:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}},"id":77741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13458:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72441","typeString":"contract IPointStrategy"}},"id":77742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13484:14:117","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":72440,"src":"13458:40:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$72450_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":77743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13458:42:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":77744,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72563,"src":"13504:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$72563_$","typeString":"type(library StrategyStruct)"}},"id":77745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13519:11:117","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":72450,"src":"13504:26:117","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$72450_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":77746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13531:5:117","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":72446,"src":"13504:32:117","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$72450","typeString":"enum StrategyStruct.PointSystem"}},"src":"13458:78:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77759,"nodeType":"IfStatement","src":"13454:195:117","trueBody":{"id":77758,"nodeType":"Block","src":"13538:111:117","statements":[{"expression":{"id":77756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77748,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77716,"src":"13552:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77753,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77676,"src":"13611:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77754,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77711,"src":"13620:17:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":77750,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"13586:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77749,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"13571:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}},"id":77751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13571:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72441","typeString":"contract IPointStrategy"}},"id":77752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13597:13:117","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"13571:39:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":77755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13571:67:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13552:86:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77757,"nodeType":"ExpressionStatement","src":"13552:86:117"}]}},"id":77760,"nodeType":"IfStatement","src":"13265:384:117","trueBody":{"id":77738,"nodeType":"Block","src":"13353:95:117","statements":[{"expression":{"id":77736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77728,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77716,"src":"13367:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77733,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77676,"src":"13426:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":77734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13435:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":77730,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"13401:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77729,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"13386:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}},"id":77731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13386:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72441","typeString":"contract IPointStrategy"}},"id":77732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13412:13:117","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"13386:39:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":77735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13386:51:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13367:70:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77737,"nodeType":"ExpressionStatement","src":"13367:70:117"}]}},{"expression":{"id":77767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77761,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77129,"src":"13659:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":77764,"indexExpression":{"id":77762,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77676,"src":"13681:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13659:30:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":77765,"indexExpression":{"id":77763,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"13690:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13659:41:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77766,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77716,"src":"13703:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13659:60:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77768,"nodeType":"ExpressionStatement","src":"13659:60:117"},{"expression":{"id":77775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77769,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77148,"src":"13748:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77772,"indexExpression":{"id":77770,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77676,"src":"13776:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13748:36:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77773,"indexExpression":{"id":77771,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"13785:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13748:47:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":77774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13798:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13748:54:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77776,"nodeType":"ExpressionStatement","src":"13748:54:117"},{"expression":{"arguments":[{"id":77781,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"13846:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":77777,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77141,"src":"13813:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":77779,"indexExpression":{"id":77778,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77676,"src":"13832:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13813:27:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":77780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13841:4:117","memberName":"push","nodeType":"MemberAccess","src":"13813:32:117","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":77782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13813:43:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77783,"nodeType":"ExpressionStatement","src":"13813:43:117"},{"eventCall":{"arguments":[{"id":77785,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77676,"src":"13896:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77786,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77678,"src":"13905:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77787,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77716,"src":"13916:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77784,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76934,"src":"13872:23:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":77788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13872:61:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77789,"nodeType":"EmitStatement","src":"13867:66:117"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[],"name":"activateMemberInStrategy","nameLocation":"12770:24:117","parameters":{"id":77679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77676,"mutability":"mutable","name":"_member","nameLocation":"12803:7:117","nodeType":"VariableDeclaration","scope":77791,"src":"12795:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77675,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77678,"mutability":"mutable","name":"_strategy","nameLocation":"12820:9:117","nodeType":"VariableDeclaration","scope":77791,"src":"12812:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77677,"name":"address","nodeType":"ElementaryTypeName","src":"12812:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12794:36:117"},"returnParameters":{"id":77680,"nodeType":"ParameterList","parameters":[],"src":"12838:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77850,"nodeType":"FunctionDefinition","src":"13946:691:117","nodes":[],"body":{"id":77849,"nodeType":"Block","src":"14025:612:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":77799,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"14061:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77798,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77204,"src":"14035:25:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":77800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14035:34:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77801,"nodeType":"ExpressionStatement","src":"14035:34:117"},{"expression":{"arguments":[{"id":77803,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77795,"src":"14098:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77802,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"14079:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14079:29:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77805,"nodeType":"ExpressionStatement","src":"14079:29:117"},{"expression":{"arguments":[{"expression":{"id":77807,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14138:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14142:6:117","memberName":"sender","nodeType":"MemberAccess","src":"14138:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77795,"src":"14150:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77806,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77235,"src":"14118:19:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":77810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14118:42:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77811,"nodeType":"ExpressionStatement","src":"14118:42:117"},{"condition":{"id":77817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14175:48:117","subExpression":{"baseExpression":{"baseExpression":{"id":77812,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77148,"src":"14176:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77814,"indexExpression":{"id":77813,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"14204:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14176:36:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77816,"indexExpression":{"id":77815,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77795,"src":"14213:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14176:47:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77822,"nodeType":"IfStatement","src":"14171:110:117","trueBody":{"id":77821,"nodeType":"Block","src":"14225:56:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77818,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76987,"src":"14246:22:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14246:24:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77820,"nodeType":"RevertStatement","src":"14239:31:117"}]}},{"expression":{"id":77829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77823,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77148,"src":"14291:27:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":77826,"indexExpression":{"id":77824,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"14319:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14291:36:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77827,"indexExpression":{"id":77825,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77795,"src":"14328:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14291:47:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":77828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14341:5:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"14291:55:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77830,"nodeType":"ExpressionStatement","src":"14291:55:117"},{"expression":{"id":77837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77831,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77129,"src":"14356:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":77834,"indexExpression":{"id":77832,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"14378:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14356:30:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":77835,"indexExpression":{"id":77833,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77795,"src":"14387:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14356:41:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":77836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14400:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14356:45:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77838,"nodeType":"ExpressionStatement","src":"14356:45:117"},{"expression":{"arguments":[{"id":77840,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"14436:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77841,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77795,"src":"14445:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77839,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77903,"src":"14411:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":77842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14411:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77843,"nodeType":"ExpressionStatement","src":"14411:44:117"},{"eventCall":{"arguments":[{"id":77845,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"14611:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77846,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77795,"src":"14620:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77844,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76940,"src":"14585:25:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":77847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14585:45:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77848,"nodeType":"EmitStatement","src":"14580:50:117"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"13955:26:117","parameters":{"id":77796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77793,"mutability":"mutable","name":"_member","nameLocation":"13990:7:117","nodeType":"VariableDeclaration","scope":77850,"src":"13982:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77792,"name":"address","nodeType":"ElementaryTypeName","src":"13982:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77795,"mutability":"mutable","name":"_strategy","nameLocation":"14007:9:117","nodeType":"VariableDeclaration","scope":77850,"src":"13999:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77794,"name":"address","nodeType":"ElementaryTypeName","src":"13999:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13981:36:117"},"returnParameters":{"id":77797,"nodeType":"ParameterList","parameters":[],"src":"14025:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77903,"nodeType":"FunctionDefinition","src":"14643:425:117","nodes":[],"body":{"id":77902,"nodeType":"Block","src":"14722:346:117","nodes":[],"statements":[{"assignments":[77861],"declarations":[{"constant":false,"id":77861,"mutability":"mutable","name":"memberStrategies","nameLocation":"14750:16:117","nodeType":"VariableDeclaration","scope":77902,"src":"14732:34:117","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77859,"name":"address","nodeType":"ElementaryTypeName","src":"14732:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77860,"nodeType":"ArrayTypeName","src":"14732:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77865,"initialValue":{"baseExpression":{"id":77862,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77141,"src":"14769:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":77864,"indexExpression":{"id":77863,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77852,"src":"14788:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14769:27:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14732:64:117"},{"body":{"id":77900,"nodeType":"Block","src":"14860:202:117","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":77877,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77861,"src":"14878:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77879,"indexExpression":{"id":77878,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77867,"src":"14895:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14878:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":77880,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77854,"src":"14901:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14878:32:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77899,"nodeType":"IfStatement","src":"14874:178:117","trueBody":{"id":77898,"nodeType":"Block","src":"14912:140:117","statements":[{"expression":{"id":77891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77882,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77861,"src":"14930:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77884,"indexExpression":{"id":77883,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77867,"src":"14947:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14930:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":77885,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77861,"src":"14952:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77890,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77886,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77861,"src":"14969:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14986:6:117","memberName":"length","nodeType":"MemberAccess","src":"14969:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":77888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14995:1:117","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14969:27:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14952:45:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14930:67:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77892,"nodeType":"ExpressionStatement","src":"14930:67:117"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77893,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77861,"src":"15015:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15032:3:117","memberName":"pop","nodeType":"MemberAccess","src":"15015:20:117","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":77896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15015:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77897,"nodeType":"ExpressionStatement","src":"15015:22:117"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77870,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77867,"src":"14826:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":77871,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77861,"src":"14830:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":77872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14847:6:117","memberName":"length","nodeType":"MemberAccess","src":"14830:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14826:27:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77901,"initializationExpression":{"assignments":[77867],"declarations":[{"constant":false,"id":77867,"mutability":"mutable","name":"i","nameLocation":"14819:1:117","nodeType":"VariableDeclaration","scope":77901,"src":"14811:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77866,"name":"uint256","nodeType":"ElementaryTypeName","src":"14811:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77869,"initialValue":{"hexValue":"30","id":77868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14823:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14811:13:117"},"loopExpression":{"expression":{"id":77875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14855:3:117","subExpression":{"id":77874,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77867,"src":"14855:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77876,"nodeType":"ExpressionStatement","src":"14855:3:117"},"nodeType":"ForStatement","src":"14806:256:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"14652:24:117","parameters":{"id":77855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77852,"mutability":"mutable","name":"_member","nameLocation":"14685:7:117","nodeType":"VariableDeclaration","scope":77903,"src":"14677:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77851,"name":"address","nodeType":"ElementaryTypeName","src":"14677:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77854,"mutability":"mutable","name":"_strategy","nameLocation":"14702:9:117","nodeType":"VariableDeclaration","scope":77903,"src":"14694:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77853,"name":"address","nodeType":"ElementaryTypeName","src":"14694:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14676:36:117"},"returnParameters":{"id":77856,"nodeType":"ParameterList","parameters":[],"src":"14722:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77994,"nodeType":"FunctionDefinition","src":"15074:1001:117","nodes":[],"body":{"id":77993,"nodeType":"Block","src":"15140:935:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":77910,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77189,"src":"15150:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":77911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15150:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77912,"nodeType":"ExpressionStatement","src":"15150:26:117"},{"assignments":[77914],"declarations":[{"constant":false,"id":77914,"mutability":"mutable","name":"member","nameLocation":"15194:6:117","nodeType":"VariableDeclaration","scope":77993,"src":"15186:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77913,"name":"address","nodeType":"ElementaryTypeName","src":"15186:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77917,"initialValue":{"expression":{"id":77915,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15203:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15207:6:117","memberName":"sender","nodeType":"MemberAccess","src":"15203:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15186:27:117"},{"assignments":[77922],"declarations":[{"constant":false,"id":77922,"mutability":"mutable","name":"memberStrategies","nameLocation":"15240:16:117","nodeType":"VariableDeclaration","scope":77993,"src":"15223:33:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77920,"name":"address","nodeType":"ElementaryTypeName","src":"15223:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77921,"nodeType":"ArrayTypeName","src":"15223:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77926,"initialValue":{"baseExpression":{"id":77923,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77141,"src":"15259:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":77925,"indexExpression":{"id":77924,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77914,"src":"15278:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15259:26:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15223:62:117"},{"assignments":[77928],"declarations":[{"constant":false,"id":77928,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"15304:16:117","nodeType":"VariableDeclaration","scope":77993,"src":"15296:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77927,"name":"uint256","nodeType":"ElementaryTypeName","src":"15296:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77929,"nodeType":"VariableDeclarationStatement","src":"15296:24:117"},{"body":{"id":77968,"nodeType":"Block","src":"15385:482:117","statements":[{"expression":{"id":77951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77941,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77928,"src":"15504:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77948,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77914,"src":"15573:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77949,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77905,"src":"15581:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":77943,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"15538:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77945,"indexExpression":{"id":77944,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77931,"src":"15555:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15538:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77942,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"15523:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}},"id":77946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15523:35:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72441","typeString":"contract IPointStrategy"}},"id":77947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15559:13:117","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":72425,"src":"15523:49:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":77950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15523:72:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15504:91:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77952,"nodeType":"ExpressionStatement","src":"15504:91:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77953,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77928,"src":"15613:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":77954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15633:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15613:21:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77967,"nodeType":"IfStatement","src":"15609:232:117","trueBody":{"id":77966,"nodeType":"Block","src":"15636:205:117","statements":[{"expression":{"id":77964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77956,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77129,"src":"15654:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":77961,"indexExpression":{"id":77957,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77914,"src":"15676:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15654:29:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":77962,"indexExpression":{"baseExpression":{"id":77958,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"15684:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77960,"indexExpression":{"id":77959,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77931,"src":"15701:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15684:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15654:50:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":77963,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77928,"src":"15708:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15654:70:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77965,"nodeType":"ExpressionStatement","src":"15654:70:117"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77934,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77931,"src":"15351:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":77935,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"15355:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15372:6:117","memberName":"length","nodeType":"MemberAccess","src":"15355:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15351:27:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77969,"initializationExpression":{"assignments":[77931],"declarations":[{"constant":false,"id":77931,"mutability":"mutable","name":"i","nameLocation":"15344:1:117","nodeType":"VariableDeclaration","scope":77969,"src":"15336:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77930,"name":"uint256","nodeType":"ElementaryTypeName","src":"15336:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77933,"initialValue":{"hexValue":"30","id":77932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15348:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15336:13:117"},"loopExpression":{"expression":{"id":77939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15380:3:117","subExpression":{"id":77938,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77931,"src":"15380:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77940,"nodeType":"ExpressionStatement","src":"15380:3:117"},"nodeType":"ForStatement","src":"15331:536:117"},{"expression":{"arguments":[{"id":77973,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77914,"src":"15906:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77976,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15922:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":77975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15914:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77974,"name":"address","nodeType":"ElementaryTypeName","src":"15914:7:117","typeDescriptions":{}}},"id":77977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15914:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77978,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77905,"src":"15929:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77970,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77103,"src":"15877:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":77972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15889:16:117","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":56730,"src":"15877:28:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":77979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15877:66:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77980,"nodeType":"ExpressionStatement","src":"15877:66:117"},{"expression":{"id":77986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":77981,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"15953:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":77983,"indexExpression":{"id":77982,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77914,"src":"15973:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15953:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":77984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15981:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"15953:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":77985,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77905,"src":"15997:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15953:57:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77987,"nodeType":"ExpressionStatement","src":"15953:57:117"},{"eventCall":{"arguments":[{"id":77989,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77914,"src":"16046:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77990,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77905,"src":"16054:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77988,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"16025:20:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":77991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16025:43:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77992,"nodeType":"EmitStatement","src":"16020:48:117"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":77908,"kind":"modifierInvocation","modifierName":{"id":77907,"name":"nonReentrant","nameLocations":["15127:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"15127:12:117"},"nodeType":"ModifierInvocation","src":"15127:12:117"}],"name":"increasePower","nameLocation":"15083:13:117","parameters":{"id":77906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77905,"mutability":"mutable","name":"_amountStaked","nameLocation":"15105:13:117","nodeType":"VariableDeclaration","scope":77994,"src":"15097:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77904,"name":"uint256","nodeType":"ElementaryTypeName","src":"15097:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15096:23:117"},"returnParameters":{"id":77909,"nodeType":"ParameterList","parameters":[],"src":"15140:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78144,"nodeType":"FunctionDefinition","src":"16218:1554:117","nodes":[],"body":{"id":78143,"nodeType":"Block","src":"16286:1486:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78001,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77189,"src":"16296:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16296:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78003,"nodeType":"ExpressionStatement","src":"16296:26:117"},{"assignments":[78005],"declarations":[{"constant":false,"id":78005,"mutability":"mutable","name":"member","nameLocation":"16340:6:117","nodeType":"VariableDeclaration","scope":78143,"src":"16332:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78004,"name":"address","nodeType":"ElementaryTypeName","src":"16332:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78008,"initialValue":{"expression":{"id":78006,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16349:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16353:6:117","memberName":"sender","nodeType":"MemberAccess","src":"16349:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16332:27:117"},{"assignments":[78013],"declarations":[{"constant":false,"id":78013,"mutability":"mutable","name":"memberStrategies","nameLocation":"16387:16:117","nodeType":"VariableDeclaration","scope":78143,"src":"16369:34:117","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":78011,"name":"address","nodeType":"ElementaryTypeName","src":"16369:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78012,"nodeType":"ArrayTypeName","src":"16369:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":78017,"initialValue":{"baseExpression":{"id":78014,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77141,"src":"16406:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":78016,"indexExpression":{"id":78015,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78005,"src":"16425:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16406:26:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16369:63:117"},{"assignments":[78019],"declarations":[{"constant":false,"id":78019,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"16451:16:117","nodeType":"VariableDeclaration","scope":78143,"src":"16443:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78018,"name":"uint256","nodeType":"ElementaryTypeName","src":"16443:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78020,"nodeType":"VariableDeclarationStatement","src":"16443:24:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":78021,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"16482:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78023,"indexExpression":{"id":78022,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78005,"src":"16502:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16482:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":78024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16510:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"16482:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78025,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77996,"src":"16525:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16482:58:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":78027,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"16543:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16482:80:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78033,"nodeType":"IfStatement","src":"16478:140:117","trueBody":{"id":78032,"nodeType":"Block","src":"16564:54:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78029,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77005,"src":"16585:20:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16585:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78031,"nodeType":"RevertStatement","src":"16578:29:117"}]}},{"expression":{"arguments":[{"id":78037,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78005,"src":"16652:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78038,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77996,"src":"16660:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78034,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77103,"src":"16627:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16639:12:117","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56703,"src":"16627:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,uint256)"}},"id":78039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16627:49:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78040,"nodeType":"ExpressionStatement","src":"16627:49:117"},{"body":{"id":78129,"nodeType":"Block","src":"16740:897:117","statements":[{"assignments":[78053],"declarations":[{"constant":false,"id":78053,"mutability":"mutable","name":"strategy","nameLocation":"16762:8:117","nodeType":"VariableDeclaration","scope":78129,"src":"16754:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78052,"name":"address","nodeType":"ElementaryTypeName","src":"16754:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78057,"initialValue":{"baseExpression":{"id":78054,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78013,"src":"16773:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78056,"indexExpression":{"id":78055,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78042,"src":"16790:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16773:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16754:38:117"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":78061,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"16842:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}],"id":78060,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16837:4:117","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16837:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72441","typeString":"type(contract IPointStrategy)"}},"id":78063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16858:11:117","memberName":"interfaceId","nodeType":"MemberAccess","src":"16837:32:117","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":78058,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78053,"src":"16810:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16819:17:117","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57856,"src":"16810:26:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":78064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16810:60:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78127,"nodeType":"Block","src":"17360:250:117","statements":[{"expression":{"id":78116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":78107,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78013,"src":"17445:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78109,"indexExpression":{"id":78108,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78042,"src":"17462:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17445:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":78110,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78013,"src":"17467:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78115,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78111,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78013,"src":"17484:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17501:6:117","memberName":"length","nodeType":"MemberAccess","src":"17484:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":78113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17510:1:117","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17484:27:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17467:45:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17445:67:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78117,"nodeType":"ExpressionStatement","src":"17445:67:117"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78118,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78013,"src":"17530:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17547:3:117","memberName":"pop","nodeType":"MemberAccess","src":"17530:20:117","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":78121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17530:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78122,"nodeType":"ExpressionStatement","src":"17530:22:117"},{"expression":{"arguments":[{"id":78124,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78053,"src":"17586:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78123,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78295,"src":"17570:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17570:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78126,"nodeType":"ExpressionStatement","src":"17570:25:117"}]},"id":78128,"nodeType":"IfStatement","src":"16806:804:117","trueBody":{"id":78106,"nodeType":"Block","src":"16872:482:117","statements":[{"expression":{"id":78073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78065,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"16890:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78070,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78005,"src":"16948:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78071,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77996,"src":"16956:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":78067,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78053,"src":"16924:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78066,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"16909:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}},"id":78068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16909:24:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72441","typeString":"contract IPointStrategy"}},"id":78069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16934:13:117","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":72434,"src":"16909:38:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":78072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16909:63:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16890:82:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78074,"nodeType":"ExpressionStatement","src":"16890:82:117"},{"assignments":[78076],"declarations":[{"constant":false,"id":78076,"mutability":"mutable","name":"currentPower","nameLocation":"16998:12:117","nodeType":"VariableDeclaration","scope":78106,"src":"16990:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78075,"name":"uint256","nodeType":"ElementaryTypeName","src":"16990:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78084,"initialValue":{"baseExpression":{"baseExpression":{"id":78077,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77129,"src":"17013:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":78079,"indexExpression":{"id":78078,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78005,"src":"17035:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17013:29:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":78083,"indexExpression":{"baseExpression":{"id":78080,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78013,"src":"17043:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78082,"indexExpression":{"id":78081,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78042,"src":"17060:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17043:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17013:50:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16990:73:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78085,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"17085:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":78086,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78076,"src":"17104:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17085:31:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78104,"nodeType":"Block","src":"17229:111:117","statements":[{"expression":{"id":78102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":78094,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77129,"src":"17251:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":78099,"indexExpression":{"id":78095,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78005,"src":"17273:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17251:29:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":78100,"indexExpression":{"baseExpression":{"id":78096,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78013,"src":"17281:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78098,"indexExpression":{"id":78097,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78042,"src":"17298:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17281:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17251:50:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78101,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"17305:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17251:70:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78103,"nodeType":"ExpressionStatement","src":"17251:70:117"}]},"id":78105,"nodeType":"IfStatement","src":"17081:259:117","trueBody":{"id":78093,"nodeType":"Block","src":"17118:105:117","statements":[{"errorCall":{"arguments":[{"id":78089,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"17173:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78090,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78076,"src":"17191:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78088,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77011,"src":"17147:25:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":78091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17147:57:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78092,"nodeType":"RevertStatement","src":"17140:64:117"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78045,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78042,"src":"16706:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":78046,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78013,"src":"16710:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":78047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16727:6:117","memberName":"length","nodeType":"MemberAccess","src":"16710:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16706:27:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78130,"initializationExpression":{"assignments":[78042],"declarations":[{"constant":false,"id":78042,"mutability":"mutable","name":"i","nameLocation":"16699:1:117","nodeType":"VariableDeclaration","scope":78130,"src":"16691:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78041,"name":"uint256","nodeType":"ElementaryTypeName","src":"16691:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78044,"initialValue":{"hexValue":"30","id":78043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16703:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16691:13:117"},"loopExpression":{"expression":{"id":78050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16735:3:117","subExpression":{"id":78049,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78042,"src":"16735:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78051,"nodeType":"ExpressionStatement","src":"16735:3:117"},"nodeType":"ForStatement","src":"16686:951:117"},{"expression":{"id":78136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":78131,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"17646:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78133,"indexExpression":{"id":78132,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78005,"src":"17666:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17646:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":78134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17674:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"17646:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78135,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77996,"src":"17690:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17646:59:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78137,"nodeType":"ExpressionStatement","src":"17646:59:117"},{"eventCall":{"arguments":[{"id":78139,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78005,"src":"17741:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78140,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77996,"src":"17749:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78138,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76956,"src":"17720:20:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":78141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17720:45:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78142,"nodeType":"EmitStatement","src":"17715:50:117"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":77999,"kind":"modifierInvocation","modifierName":{"id":77998,"name":"nonReentrant","nameLocations":["16273:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"16273:12:117"},"nodeType":"ModifierInvocation","src":"16273:12:117"}],"name":"decreasePower","nameLocation":"16227:13:117","parameters":{"id":77997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77996,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"16249:15:117","nodeType":"VariableDeclaration","scope":78144,"src":"16241:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77995,"name":"uint256","nodeType":"ElementaryTypeName","src":"16241:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16240:25:117"},"returnParameters":{"id":78000,"nodeType":"ParameterList","parameters":[],"src":"16286:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78160,"nodeType":"FunctionDefinition","src":"17778:165:117","nodes":[],"body":{"id":78159,"nodeType":"Block","src":"17878:65:117","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":78153,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77129,"src":"17895:21:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":78155,"indexExpression":{"id":78154,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78146,"src":"17917:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17895:30:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":78157,"indexExpression":{"id":78156,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78148,"src":"17926:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17895:41:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78152,"id":78158,"nodeType":"Return","src":"17888:48:117"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"17787:24:117","parameters":{"id":78149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78146,"mutability":"mutable","name":"_member","nameLocation":"17820:7:117","nodeType":"VariableDeclaration","scope":78160,"src":"17812:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78145,"name":"address","nodeType":"ElementaryTypeName","src":"17812:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78148,"mutability":"mutable","name":"_strategy","nameLocation":"17837:9:117","nodeType":"VariableDeclaration","scope":78160,"src":"17829:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78147,"name":"address","nodeType":"ElementaryTypeName","src":"17829:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17811:36:117"},"returnParameters":{"id":78152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78151,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78160,"src":"17869:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78150,"name":"uint256","nodeType":"ElementaryTypeName","src":"17869:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17868:9:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78173,"nodeType":"FunctionDefinition","src":"17949:143:117","nodes":[],"body":{"id":78172,"nodeType":"Block","src":"18027:65:117","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":78167,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"18044:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78169,"indexExpression":{"id":78168,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78162,"src":"18064:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18044:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":78170,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18073:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"18044:41:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78166,"id":78171,"nodeType":"Return","src":"18037:48:117"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"17958:21:117","parameters":{"id":78163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78162,"mutability":"mutable","name":"_member","nameLocation":"17988:7:117","nodeType":"VariableDeclaration","scope":78173,"src":"17980:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78161,"name":"address","nodeType":"ElementaryTypeName","src":"17980:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17979:17:117"},"returnParameters":{"id":78166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78173,"src":"18018:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78164,"name":"uint256","nodeType":"ElementaryTypeName","src":"18018:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18017:9:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78210,"nodeType":"FunctionDefinition","src":"18098:313:117","nodes":[],"body":{"id":78209,"nodeType":"Block","src":"18150:261:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78178,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"18160:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18160:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78180,"nodeType":"ExpressionStatement","src":"18160:17:117"},{"assignments":[78182],"declarations":[{"constant":false,"id":78182,"mutability":"mutable","name":"strategy","nameLocation":"18195:8:117","nodeType":"VariableDeclaration","scope":78209,"src":"18187:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78181,"name":"address","nodeType":"ElementaryTypeName","src":"18187:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78191,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":78187,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78175,"src":"18227:6:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78185,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77111,"src":"18214:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}},"id":78186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18219:7:117","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":79524,"src":"18214:12:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18214:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78189,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18235:8:117","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18214:29:117","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":78184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18206:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78183,"name":"address","nodeType":"ElementaryTypeName","src":"18206:7:117","typeDescriptions":{}}},"id":78190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18206:38:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18187:57:117"},{"expression":{"arguments":[{"id":78193,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78182,"src":"18273:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78192,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"18254:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18254:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78195,"nodeType":"ExpressionStatement","src":"18254:28:117"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":78199,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"18328:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}],"id":78198,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18323:4:117","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18323:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$72441","typeString":"type(contract IPointStrategy)"}},"id":78201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18344:11:117","memberName":"interfaceId","nodeType":"MemberAccess","src":"18323:32:117","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":78196,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78182,"src":"18296:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18305:17:117","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57856,"src":"18296:26:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":78202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18296:60:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78208,"nodeType":"IfStatement","src":"18292:113:117","trueBody":{"id":78207,"nodeType":"Block","src":"18358:47:117","statements":[{"expression":{"arguments":[{"id":78204,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78182,"src":"18385:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78203,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78247,"src":"18372:12:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18372:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78206,"nodeType":"ExpressionStatement","src":"18372:22:117"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"18107:19:117","parameters":{"id":78176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78175,"mutability":"mutable","name":"poolId","nameLocation":"18135:6:117","nodeType":"VariableDeclaration","scope":78210,"src":"18127:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78174,"name":"uint256","nodeType":"ElementaryTypeName","src":"18127:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18126:16:117"},"returnParameters":{"id":78177,"nodeType":"ParameterList","parameters":[],"src":"18150:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78223,"nodeType":"FunctionDefinition","src":"18417:120:117","nodes":[],"body":{"id":78222,"nodeType":"Block","src":"18467:70:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78215,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"18477:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18477:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78217,"nodeType":"ExpressionStatement","src":"18477:17:117"},{"expression":{"arguments":[{"id":78219,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78212,"src":"18517:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78218,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78247,"src":"18504:12:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18504:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78221,"nodeType":"ExpressionStatement","src":"18504:26:117"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"18426:11:117","parameters":{"id":78213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78212,"mutability":"mutable","name":"_newStrategy","nameLocation":"18446:12:117","nodeType":"VariableDeclaration","scope":78223,"src":"18438:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78211,"name":"address","nodeType":"ElementaryTypeName","src":"18438:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18437:22:117"},"returnParameters":{"id":78214,"nodeType":"ParameterList","parameters":[],"src":"18467:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78247,"nodeType":"FunctionDefinition","src":"18543:244:117","nodes":[],"body":{"id":78246,"nodeType":"Block","src":"18596:191:117","nodes":[],"statements":[{"condition":{"baseExpression":{"id":78228,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77122,"src":"18610:17:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":78230,"indexExpression":{"id":78229,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78225,"src":"18628:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18610:31:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78235,"nodeType":"IfStatement","src":"18606:85:117","trueBody":{"id":78234,"nodeType":"Block","src":"18643:48:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78231,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76989,"src":"18664:14:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18664:16:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78233,"nodeType":"RevertStatement","src":"18657:23:117"}]}},{"expression":{"id":78240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":78236,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77122,"src":"18700:17:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":78238,"indexExpression":{"id":78237,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78225,"src":"18718:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18700:31:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":78239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18734:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"18700:38:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78241,"nodeType":"ExpressionStatement","src":"18700:38:117"},{"eventCall":{"arguments":[{"id":78243,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78225,"src":"18767:12:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78242,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76922,"src":"18753:13:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18753:27:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78245,"nodeType":"EmitStatement","src":"18748:32:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"18552:12:117","parameters":{"id":78226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78225,"mutability":"mutable","name":"_newStrategy","nameLocation":"18573:12:117","nodeType":"VariableDeclaration","scope":78247,"src":"18565:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78224,"name":"address","nodeType":"ElementaryTypeName","src":"18565:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18564:22:117"},"returnParameters":{"id":78227,"nodeType":"ParameterList","parameters":[],"src":"18596:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78275,"nodeType":"FunctionDefinition","src":"18793:229:117","nodes":[],"body":{"id":78274,"nodeType":"Block","src":"18848:174:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78252,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"18858:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18858:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78254,"nodeType":"ExpressionStatement","src":"18858:17:117"},{"assignments":[78256],"declarations":[{"constant":false,"id":78256,"mutability":"mutable","name":"strategy","nameLocation":"18893:8:117","nodeType":"VariableDeclaration","scope":78274,"src":"18885:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78255,"name":"address","nodeType":"ElementaryTypeName","src":"18885:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78265,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":78261,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78249,"src":"18925:6:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78259,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77111,"src":"18912:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$79525","typeString":"contract FAllo"}},"id":78260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18917:7:117","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":79524,"src":"18912:12:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18912:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18933:8:117","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18912:29:117","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":78258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18904:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78257,"name":"address","nodeType":"ElementaryTypeName","src":"18904:7:117","typeDescriptions":{}}},"id":78264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18904:38:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18885:57:117"},{"expression":{"arguments":[{"id":78267,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78256,"src":"18971:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78266,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"18952:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18952:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78269,"nodeType":"ExpressionStatement","src":"18952:28:117"},{"expression":{"arguments":[{"id":78271,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78256,"src":"19006:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78270,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78295,"src":"18990:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18990:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78273,"nodeType":"ExpressionStatement","src":"18990:25:117"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"18802:22:117","parameters":{"id":78250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78249,"mutability":"mutable","name":"poolId","nameLocation":"18833:6:117","nodeType":"VariableDeclaration","scope":78275,"src":"18825:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78248,"name":"uint256","nodeType":"ElementaryTypeName","src":"18825:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18824:16:117"},"returnParameters":{"id":78251,"nodeType":"ParameterList","parameters":[],"src":"18848:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78295,"nodeType":"FunctionDefinition","src":"19028:186:117","nodes":[],"body":{"id":78294,"nodeType":"Block","src":"19081:133:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":78281,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78277,"src":"19110:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78280,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"19091:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19091:29:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78283,"nodeType":"ExpressionStatement","src":"19091:29:117"},{"expression":{"id":78288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":78284,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77122,"src":"19130:17:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":78286,"indexExpression":{"id":78285,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78277,"src":"19148:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19130:28:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":78287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19161:5:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"19130:36:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78289,"nodeType":"ExpressionStatement","src":"19130:36:117"},{"eventCall":{"arguments":[{"id":78291,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78277,"src":"19197:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78290,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76926,"src":"19181:15:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19181:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78293,"nodeType":"EmitStatement","src":"19176:31:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"19037:15:117","parameters":{"id":78278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78277,"mutability":"mutable","name":"_strategy","nameLocation":"19061:9:117","nodeType":"VariableDeclaration","scope":78295,"src":"19053:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78276,"name":"address","nodeType":"ElementaryTypeName","src":"19053:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19052:19:117"},"returnParameters":{"id":78279,"nodeType":"ParameterList","parameters":[],"src":"19081:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78308,"nodeType":"FunctionDefinition","src":"19220:120:117","nodes":[],"body":{"id":78307,"nodeType":"Block","src":"19270:70:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78300,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"19280:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19280:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78302,"nodeType":"ExpressionStatement","src":"19280:17:117"},{"expression":{"arguments":[{"id":78304,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78297,"src":"19323:9:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78303,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78295,"src":"19307:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19307:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78306,"nodeType":"ExpressionStatement","src":"19307:26:117"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"19229:14:117","parameters":{"id":78298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78297,"mutability":"mutable","name":"_strategy","nameLocation":"19252:9:117","nodeType":"VariableDeclaration","scope":78308,"src":"19244:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78296,"name":"address","nodeType":"ElementaryTypeName","src":"19244:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19243:19:117"},"returnParameters":{"id":78299,"nodeType":"ParameterList","parameters":[],"src":"19270:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78333,"nodeType":"FunctionDefinition","src":"19346:240:117","nodes":[],"body":{"id":78332,"nodeType":"Block","src":"19400:186:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78313,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"19410:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19410:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78315,"nodeType":"ExpressionStatement","src":"19410:17:117"},{"expression":{"arguments":[{"id":78317,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78310,"src":"19456:5:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78316,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77269,"src":"19437:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19437:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78319,"nodeType":"ExpressionStatement","src":"19437:25:117"},{"expression":{"id":78322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78320,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77095,"src":"19472:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78321,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78310,"src":"19493:5:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"19472:26:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":78323,"nodeType":"ExpressionStatement","src":"19472:26:117"},{"eventCall":{"arguments":[{"arguments":[{"id":78327,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77107,"src":"19546:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}],"id":78326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19538:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78325,"name":"address","nodeType":"ElementaryTypeName","src":"19538:7:117","typeDescriptions":{}}},"id":78328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19538:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78329,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77095,"src":"19560:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78324,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76885,"src":"19513:24:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":78330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19513:66:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78331,"nodeType":"EmitStatement","src":"19508:71:117"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"19355:14:117","parameters":{"id":78311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78310,"mutability":"mutable","name":"_safe","nameLocation":"19386:5:117","nodeType":"VariableDeclaration","scope":78333,"src":"19370:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":78309,"name":"address","nodeType":"ElementaryTypeName","src":"19370:15:117","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"19369:23:117"},"returnParameters":{"id":78312,"nodeType":"ParameterList","parameters":[],"src":"19400:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78350,"nodeType":"FunctionDefinition","src":"19592:179:117","nodes":[],"body":{"id":78349,"nodeType":"Block","src":"19631:140:117","nodes":[],"statements":[{"expression":{"id":78340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78336,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77107,"src":"19641:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78338,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77095,"src":"19661:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78337,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79792,"src":"19655:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$79792_$","typeString":"type(contract ISafe)"}},"id":78339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19655:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}},"src":"19641:39:117","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79792","typeString":"contract ISafe"}},"id":78341,"nodeType":"ExpressionStatement","src":"19641:39:117"},{"expression":{"id":78343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"19690:25:117","subExpression":{"id":78342,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77095,"src":"19697:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78344,"nodeType":"ExpressionStatement","src":"19690:25:117"},{"eventCall":{"arguments":[{"id":78346,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77095,"src":"19745:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78345,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76879,"src":"19730:14:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19730:34:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78348,"nodeType":"EmitStatement","src":"19725:39:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"19601:18:117","parameters":{"id":78334,"nodeType":"ParameterList","parameters":[],"src":"19619:2:117"},"returnParameters":{"id":78335,"nodeType":"ParameterList","parameters":[],"src":"19631:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78366,"nodeType":"FunctionDefinition","src":"19777:171:117","nodes":[],"body":{"id":78365,"nodeType":"Block","src":"19813:135:117","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78353,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19827:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19831:6:117","memberName":"sender","nodeType":"MemberAccess","src":"19827:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":78355,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77095,"src":"19841:18:117","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"19827:32:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78361,"nodeType":"IfStatement","src":"19823:89:117","trueBody":{"id":78360,"nodeType":"Block","src":"19861:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78357,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76993,"src":"19882:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19882:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78359,"nodeType":"RevertStatement","src":"19875:26:117"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78362,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78350,"src":"19921:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19921:20:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78364,"nodeType":"ExpressionStatement","src":"19921:20:117"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"19786:17:117","parameters":{"id":78351,"nodeType":"ParameterList","parameters":[],"src":"19803:2:117"},"returnParameters":{"id":78352,"nodeType":"ParameterList","parameters":[],"src":"19813:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78384,"nodeType":"FunctionDefinition","src":"19954:182:117","nodes":[],"body":{"id":78383,"nodeType":"Block","src":"20026:110:117","nodes":[],"statements":[{"assignments":[78375],"declarations":[{"constant":false,"id":78375,"mutability":"mutable","name":"newMember","nameLocation":"20050:9:117","nodeType":"VariableDeclaration","scope":78383,"src":"20036:23:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":78374,"nodeType":"UserDefinedTypeName","pathNode":{"id":78373,"name":"Member","nameLocations":["20036:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77276,"src":"20036:6:117"},"referencedDeclaration":77276,"src":"20036:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":78379,"initialValue":{"baseExpression":{"id":78376,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"20062:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78378,"indexExpression":{"id":78377,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78368,"src":"20082:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20062:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20036:54:117"},{"expression":{"expression":{"id":78380,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78375,"src":"20107:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20117:12:117","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":77275,"src":"20107:22:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78372,"id":78382,"nodeType":"Return","src":"20100:29:117"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"19963:8:117","parameters":{"id":78369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78368,"mutability":"mutable","name":"_member","nameLocation":"19980:7:117","nodeType":"VariableDeclaration","scope":78384,"src":"19972:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78367,"name":"address","nodeType":"ElementaryTypeName","src":"19972:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19971:17:117"},"returnParameters":{"id":78372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78371,"mutability":"mutable","name":"_isMember","nameLocation":"20015:9:117","nodeType":"VariableDeclaration","scope":78384,"src":"20010:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78370,"name":"bool","nodeType":"ElementaryTypeName","src":"20010:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20009:16:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78503,"nodeType":"FunctionDefinition","src":"20142:1924:117","nodes":[],"body":{"id":78502,"nodeType":"Block","src":"20196:1870:117","nodes":[],"statements":[{"assignments":[78390],"declarations":[{"constant":false,"id":78390,"mutability":"mutable","name":"_member","nameLocation":"20214:7:117","nodeType":"VariableDeclaration","scope":78502,"src":"20206:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78389,"name":"address","nodeType":"ElementaryTypeName","src":"20206:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78393,"initialValue":{"expression":{"id":78391,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20224:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20228:6:117","memberName":"sender","nodeType":"MemberAccess","src":"20224:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20206:28:117"},{"assignments":[78396],"declarations":[{"constant":false,"id":78396,"mutability":"mutable","name":"newMember","nameLocation":"20259:9:117","nodeType":"VariableDeclaration","scope":78502,"src":"20244:24:117","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":78395,"nodeType":"UserDefinedTypeName","pathNode":{"id":78394,"name":"Member","nameLocations":["20244:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77276,"src":"20244:6:117"},"referencedDeclaration":77276,"src":"20244:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":78400,"initialValue":{"baseExpression":{"id":78397,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"20271:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78399,"indexExpression":{"id":78398,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78390,"src":"20291:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20271:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20244:55:117"},{"assignments":[78403],"declarations":[{"constant":false,"id":78403,"mutability":"mutable","name":"gardensFactory","nameLocation":"20326:14:117","nodeType":"VariableDeclaration","scope":78502,"src":"20309:31:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76232","typeString":"contract IRegistryFactory"},"typeName":{"id":78402,"nodeType":"UserDefinedTypeName","pathNode":{"id":78401,"name":"IRegistryFactory","nameLocations":["20309:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":76232,"src":"20309:16:117"},"referencedDeclaration":76232,"src":"20309:16:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76232","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":78407,"initialValue":{"arguments":[{"id":78405,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77089,"src":"20360:15:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78404,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76232,"src":"20343:16:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$76232_$","typeString":"type(contract IRegistryFactory)"}},"id":78406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20343:33:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76232","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"20309:67:117"},{"assignments":[78409],"declarations":[{"constant":false,"id":78409,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"20394:18:117","nodeType":"VariableDeclaration","scope":78502,"src":"20386:26:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78408,"name":"uint256","nodeType":"ElementaryTypeName","src":"20386:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78419,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78410,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"20416:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78411,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77074,"src":"20438:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20416:34:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78413,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20415:36:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":78414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20455:3:117","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78415,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77062,"src":"20461:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20455:21:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78417,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20454:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20415:62:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20386:91:117"},{"assignments":[78421],"declarations":[{"constant":false,"id":78421,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"20495:16:117","nodeType":"VariableDeclaration","scope":78502,"src":"20487:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78420,"name":"uint256","nodeType":"ElementaryTypeName","src":"20487:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78437,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78422,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"20527:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":78427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20587:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":78426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20579:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78425,"name":"address","nodeType":"ElementaryTypeName","src":"20579:7:117","typeDescriptions":{}}},"id":78428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20579:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78423,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78403,"src":"20549:14:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76232","typeString":"contract IRegistryFactory"}},"id":78424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20564:14:117","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":76231,"src":"20549:29:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20549:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20527:66:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78431,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20526:68:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":78432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20598:3:117","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78433,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77062,"src":"20604:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20598:21:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78435,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20597:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20526:94:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20487:133:117"},{"condition":{"id":78441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"20634:18:117","subExpression":{"arguments":[{"id":78439,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78390,"src":"20644:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78438,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78384,"src":"20635:8:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20635:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78501,"nodeType":"IfStatement","src":"20630:1430:117","trueBody":{"id":78500,"nodeType":"Block","src":"20654:1406:117","statements":[{"expression":{"id":78446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78442,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78396,"src":"20668:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":78444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20678:12:117","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":77275,"src":"20668:22:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":78445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20693:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"20668:29:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78447,"nodeType":"ExpressionStatement","src":"20668:29:117"},{"expression":{"id":78452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78448,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78396,"src":"20712:9:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":78450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20722:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"20712:22:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78451,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"20737:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20712:44:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78453,"nodeType":"ExpressionStatement","src":"20712:44:117"},{"expression":{"arguments":[{"id":78457,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78390,"src":"20954:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78460,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20971:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":78459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78458,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:117","typeDescriptions":{}}},"id":78461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78462,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"20978:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78463,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78409,"src":"21000:18:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20978:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78465,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78421,"src":"21021:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20978:59:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78454,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77103,"src":"20908:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20920:16:117","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":56730,"src":"20908:28:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":78467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20908:143:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78468,"nodeType":"ExpressionStatement","src":"20908:143:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78469,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78409,"src":"21476:18:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":78470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21497:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21476:22:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78480,"nodeType":"IfStatement","src":"21472:178:117","trueBody":{"id":78479,"nodeType":"Block","src":"21500:150:117","statements":[{"expression":{"arguments":[{"id":78475,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77086,"src":"21603:11:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78476,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78409,"src":"21616:18:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78472,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77103,"src":"21578:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21590:12:117","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56703,"src":"21578:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,uint256)"}},"id":78477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21578:57:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78478,"nodeType":"ExpressionStatement","src":"21578:57:117"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78481,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78421,"src":"21733:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":78482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21752:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21733:20:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78494,"nodeType":"IfStatement","src":"21729:255:117","trueBody":{"id":78493,"nodeType":"Block","src":"21755:229:117","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78487,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78403,"src":"21912:14:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76232","typeString":"contract IRegistryFactory"}},"id":78488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21927:21:117","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":76224,"src":"21912:36:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":78489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21912:38:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78490,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78421,"src":"21952:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78484,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77103,"src":"21887:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21899:12:117","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56703,"src":"21887:24:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56609_$","typeString":"function (contract IERC20,address,uint256)"}},"id":78491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21887:82:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78492,"nodeType":"ExpressionStatement","src":"21887:82:117"}]}},{"eventCall":{"arguments":[{"id":78496,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78390,"src":"22020:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78497,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"22029:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78495,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76891,"src":"22003:16:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":78498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22003:46:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78499,"nodeType":"EmitStatement","src":"21998:51:117"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":78387,"kind":"modifierInvocation","modifierName":{"id":78386,"name":"nonReentrant","nameLocations":["20183:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"20183:12:117"},"nodeType":"ModifierInvocation","src":"20183:12:117"}],"name":"stakeAndRegisterMember","nameLocation":"20151:22:117","parameters":{"id":78385,"nodeType":"ParameterList","parameters":[],"src":"20173:2:117"},"returnParameters":{"id":78388,"nodeType":"ParameterList","parameters":[],"src":"20196:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78552,"nodeType":"FunctionDefinition","src":"22072:469:117","nodes":[],"body":{"id":78551,"nodeType":"Block","src":"22136:405:117","nodes":[],"statements":[{"assignments":[78510],"declarations":[{"constant":false,"id":78510,"mutability":"mutable","name":"gardensFactory","nameLocation":"22163:14:117","nodeType":"VariableDeclaration","scope":78551,"src":"22146:31:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76232","typeString":"contract IRegistryFactory"},"typeName":{"id":78509,"nodeType":"UserDefinedTypeName","pathNode":{"id":78508,"name":"IRegistryFactory","nameLocations":["22146:16:117"],"nodeType":"IdentifierPath","referencedDeclaration":76232,"src":"22146:16:117"},"referencedDeclaration":76232,"src":"22146:16:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76232","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":78514,"initialValue":{"arguments":[{"id":78512,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77089,"src":"22197:15:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78511,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76232,"src":"22180:16:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$76232_$","typeString":"type(contract IRegistryFactory)"}},"id":78513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22180:33:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76232","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"22146:67:117"},{"assignments":[78516],"declarations":[{"constant":false,"id":78516,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"22231:18:117","nodeType":"VariableDeclaration","scope":78551,"src":"22223:26:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78515,"name":"uint256","nodeType":"ElementaryTypeName","src":"22223:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78526,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78517,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"22253:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78518,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77074,"src":"22275:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22253:34:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78520,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22252:36:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":78521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22292:3:117","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78522,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77062,"src":"22298:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22292:21:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78524,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22291:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22252:62:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22223:91:117"},{"assignments":[78528],"declarations":[{"constant":false,"id":78528,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"22332:16:117","nodeType":"VariableDeclaration","scope":78551,"src":"22324:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78527,"name":"uint256","nodeType":"ElementaryTypeName","src":"22324:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78544,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78529,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"22364:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":78534,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22424:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":78533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22416:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78532,"name":"address","nodeType":"ElementaryTypeName","src":"22416:7:117","typeDescriptions":{}}},"id":78535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22416:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78530,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78510,"src":"22386:14:117","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$76232","typeString":"contract IRegistryFactory"}},"id":78531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22401:14:117","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":76231,"src":"22386:29:117","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22386:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22364:66:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78538,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22363:68:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":78539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22435:3:117","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":78540,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77062,"src":"22441:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22435:21:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":78542,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22434:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22363:94:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22324:133:117"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78545,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"22475:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78546,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78516,"src":"22497:18:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22475:40:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78548,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78528,"src":"22518:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22475:59:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78507,"id":78550,"nodeType":"Return","src":"22468:66:117"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"22081:22:117","parameters":{"id":78504,"nodeType":"ParameterList","parameters":[],"src":"22103:2:117"},"returnParameters":{"id":78507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78506,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78552,"src":"22127:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78505,"name":"uint256","nodeType":"ElementaryTypeName","src":"22127:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22126:9:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78560,"nodeType":"FunctionDefinition","src":"22547:107:117","nodes":[],"body":{"id":78559,"nodeType":"Block","src":"22611:43:117","nodes":[],"statements":[{"expression":{"id":78557,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"22628:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78556,"id":78558,"nodeType":"Return","src":"22621:26:117"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"22556:20:117","parameters":{"id":78553,"nodeType":"ParameterList","parameters":[],"src":"22576:2:117"},"returnParameters":{"id":78556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78560,"src":"22602:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78554,"name":"uint256","nodeType":"ElementaryTypeName","src":"22602:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22601:9:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":78577,"nodeType":"FunctionDefinition","src":"22660:182:117","nodes":[],"body":{"id":78576,"nodeType":"Block","src":"22719:123:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78565,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"22729:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22729:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78567,"nodeType":"ExpressionStatement","src":"22729:17:117"},{"expression":{"id":78570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78568,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77071,"src":"22756:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78569,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78562,"src":"22778:10:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22756:32:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78571,"nodeType":"ExpressionStatement","src":"22756:32:117"},{"eventCall":{"arguments":[{"id":78573,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78562,"src":"22824:10:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78572,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76944,"src":"22803:20:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22803:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78575,"nodeType":"EmitStatement","src":"22798:37:117"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"22669:20:117","parameters":{"id":78563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78562,"mutability":"mutable","name":"_newAmount","nameLocation":"22698:10:117","nodeType":"VariableDeclaration","scope":78577,"src":"22690:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78561,"name":"uint256","nodeType":"ElementaryTypeName","src":"22690:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22689:20:117"},"returnParameters":{"id":78564,"nodeType":"ParameterList","parameters":[],"src":"22719:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78602,"nodeType":"FunctionDefinition","src":"22848:280:117","nodes":[],"body":{"id":78601,"nodeType":"Block","src":"22906:222:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78582,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"22916:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22916:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78584,"nodeType":"ExpressionStatement","src":"22916:17:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78585,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78579,"src":"22947:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":78586,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77068,"src":"22966:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22947:26:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78592,"nodeType":"IfStatement","src":"22943:86:117","trueBody":{"id":78591,"nodeType":"Block","src":"22975:54:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78588,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76999,"src":"22996:20:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22996:22:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78590,"nodeType":"RevertStatement","src":"22989:29:117"}]}},{"expression":{"id":78595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78593,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77074,"src":"23038:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78594,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78579,"src":"23053:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23038:31:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78596,"nodeType":"ExpressionStatement","src":"23038:31:117"},{"eventCall":{"arguments":[{"id":78598,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78579,"src":"23104:16:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78597,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76909,"src":"23084:19:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23084:37:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78600,"nodeType":"EmitStatement","src":"23079:42:117"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"22857:15:117","parameters":{"id":78580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78579,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"22881:16:117","nodeType":"VariableDeclaration","scope":78602,"src":"22873:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78578,"name":"uint256","nodeType":"ElementaryTypeName","src":"22873:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22872:26:117"},"returnParameters":{"id":78581,"nodeType":"ParameterList","parameters":[],"src":"22906:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78615,"nodeType":"FunctionDefinition","src":"23171:125:117","nodes":[],"body":{"id":78614,"nodeType":"Block","src":"23240:56:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":78610,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77158,"src":"23265:14:117","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":78611,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78604,"src":"23281:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":78609,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"23257:7:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":78612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23257:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78608,"id":78613,"nodeType":"Return","src":"23250:39:117"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"23180:15:117","parameters":{"id":78605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78604,"mutability":"mutable","name":"_member","nameLocation":"23204:7:117","nodeType":"VariableDeclaration","scope":78615,"src":"23196:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78603,"name":"address","nodeType":"ElementaryTypeName","src":"23196:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23195:17:117"},"returnParameters":{"id":78608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78615,"src":"23234:4:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78606,"name":"bool","nodeType":"ElementaryTypeName","src":"23234:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23233:6:117"},"scope":78776,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78665,"nodeType":"FunctionDefinition","src":"23302:453:117","nodes":[],"body":{"id":78664,"nodeType":"Block","src":"23350:405:117","nodes":[],"statements":[{"assignments":[78621],"declarations":[{"constant":false,"id":78621,"mutability":"mutable","name":"_member","nameLocation":"23368:7:117","nodeType":"VariableDeclaration","scope":78664,"src":"23360:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78620,"name":"address","nodeType":"ElementaryTypeName","src":"23360:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78624,"initialValue":{"expression":{"id":78622,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23378:3:117","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23382:6:117","memberName":"sender","nodeType":"MemberAccess","src":"23378:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"23360:28:117"},{"expression":{"arguments":[{"id":78626,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78621,"src":"23424:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78625,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77204,"src":"23398:25:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":78627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23398:34:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78628,"nodeType":"ExpressionStatement","src":"23398:34:117"},{"expression":{"arguments":[{"id":78630,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78621,"src":"23466:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78629,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78702,"src":"23442:23:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23442:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78632,"nodeType":"ExpressionStatement","src":"23442:32:117"},{"assignments":[78635],"declarations":[{"constant":false,"id":78635,"mutability":"mutable","name":"member","nameLocation":"23498:6:117","nodeType":"VariableDeclaration","scope":78664,"src":"23484:20:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":78634,"nodeType":"UserDefinedTypeName","pathNode":{"id":78633,"name":"Member","nameLocations":["23484:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77276,"src":"23484:6:117"},"referencedDeclaration":77276,"src":"23484:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":78639,"initialValue":{"baseExpression":{"id":78636,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"23507:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78638,"indexExpression":{"id":78637,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78621,"src":"23527:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23507:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23484:51:117"},{"expression":{"id":78643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23545:35:117","subExpression":{"baseExpression":{"id":78640,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"23552:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78642,"indexExpression":{"id":78641,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78621,"src":"23572:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23552:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78644,"nodeType":"ExpressionStatement","src":"23545:35:117"},{"expression":{"id":78648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23590:34:117","subExpression":{"baseExpression":{"id":78645,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77141,"src":"23597:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":78647,"indexExpression":{"id":78646,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78621,"src":"23616:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23597:27:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78649,"nodeType":"ExpressionStatement","src":"23590:34:117"},{"expression":{"arguments":[{"id":78653,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78621,"src":"23656:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":78654,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78635,"src":"23665:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23672:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"23665:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78650,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77103,"src":"23635:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23647:8:117","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":56576,"src":"23635:20:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":78656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23635:50:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78657,"nodeType":"ExpressionStatement","src":"23635:50:117"},{"eventCall":{"arguments":[{"id":78659,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78621,"src":"23719:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":78660,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78635,"src":"23728:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23735:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"23728:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78658,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76897,"src":"23700:18:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":78662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23700:48:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78663,"nodeType":"EmitStatement","src":"23695:53:117"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":78618,"kind":"modifierInvocation","modifierName":{"id":78617,"name":"nonReentrant","nameLocations":["23337:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"23337:12:117"},"nodeType":"ModifierInvocation","src":"23337:12:117"}],"name":"unregisterMember","nameLocation":"23311:16:117","parameters":{"id":78616,"nodeType":"ParameterList","parameters":[],"src":"23327:2:117"},"returnParameters":{"id":78619,"nodeType":"ParameterList","parameters":[],"src":"23350:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78702,"nodeType":"FunctionDefinition","src":"23761:466:117","nodes":[],"body":{"id":78701,"nodeType":"Block","src":"23820:407:117","nodes":[],"statements":[{"assignments":[78674],"declarations":[{"constant":false,"id":78674,"mutability":"mutable","name":"memberStrategies","nameLocation":"23847:16:117","nodeType":"VariableDeclaration","scope":78701,"src":"23830:33:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":78672,"name":"address","nodeType":"ElementaryTypeName","src":"23830:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78673,"nodeType":"ArrayTypeName","src":"23830:9:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":78678,"initialValue":{"baseExpression":{"id":78675,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77141,"src":"23866:18:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":78677,"indexExpression":{"id":78676,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78667,"src":"23885:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23866:27:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23830:63:117"},{"body":{"id":78699,"nodeType":"Block","src":"24023:198:117","statements":[{"expression":{"arguments":[{"id":78696,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78667,"src":"24202:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":78691,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78674,"src":"24164:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":78693,"indexExpression":{"id":78692,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78680,"src":"24181:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24164:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78690,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"24149:14:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$72441_$","typeString":"type(contract IPointStrategy)"}},"id":78694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24149:35:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$72441","typeString":"contract IPointStrategy"}},"id":78695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24185:16:117","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":72416,"src":"24149:52:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":78697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24149:61:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78698,"nodeType":"ExpressionStatement","src":"24149:61:117"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78683,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78680,"src":"23989:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":78684,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78674,"src":"23993:16:117","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":78685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24010:6:117","memberName":"length","nodeType":"MemberAccess","src":"23993:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23989:27:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78700,"initializationExpression":{"assignments":[78680],"declarations":[{"constant":false,"id":78680,"mutability":"mutable","name":"i","nameLocation":"23982:1:117","nodeType":"VariableDeclaration","scope":78700,"src":"23974:9:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78679,"name":"uint256","nodeType":"ElementaryTypeName","src":"23974:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78682,"initialValue":{"hexValue":"30","id":78681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23986:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"23974:13:117"},"loopExpression":{"expression":{"id":78688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24018:3:117","subExpression":{"id":78687,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78680,"src":"24018:1:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78689,"nodeType":"ExpressionStatement","src":"24018:3:117"},"nodeType":"ForStatement","src":"23969:252:117"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"23770:23:117","parameters":{"id":78668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78667,"mutability":"mutable","name":"_member","nameLocation":"23802:7:117","nodeType":"VariableDeclaration","scope":78702,"src":"23794:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78666,"name":"address","nodeType":"ElementaryTypeName","src":"23794:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23793:17:117"},"returnParameters":{"id":78669,"nodeType":"ParameterList","parameters":[],"src":"23820:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78762,"nodeType":"FunctionDefinition","src":"24233:571:117","nodes":[],"body":{"id":78761,"nodeType":"Block","src":"24316:488:117","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78711,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"24326:15:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24326:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78713,"nodeType":"ExpressionStatement","src":"24326:17:117"},{"condition":{"id":78715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24357:14:117","subExpression":{"id":78714,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77083,"src":"24358:13:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78720,"nodeType":"IfStatement","src":"24353:68:117","trueBody":{"id":78719,"nodeType":"Block","src":"24373:48:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78716,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77001,"src":"24394:14:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24394:16:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78718,"nodeType":"RevertStatement","src":"24387:23:117"}]}},{"condition":{"id":78724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24434:18:117","subExpression":{"arguments":[{"id":78722,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78704,"src":"24444:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78721,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78384,"src":"24435:8:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24435:17:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78729,"nodeType":"IfStatement","src":"24430:75:117","trueBody":{"id":78728,"nodeType":"Block","src":"24454:51:117","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78725,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76979,"src":"24475:17:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24475:19:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78727,"nodeType":"RevertStatement","src":"24468:26:117"}]}},{"assignments":[78732],"declarations":[{"constant":false,"id":78732,"mutability":"mutable","name":"member","nameLocation":"24528:6:117","nodeType":"VariableDeclaration","scope":78761,"src":"24514:20:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":78731,"nodeType":"UserDefinedTypeName","pathNode":{"id":78730,"name":"Member","nameLocations":["24514:6:117"],"nodeType":"IdentifierPath","referencedDeclaration":77276,"src":"24514:6:117"},"referencedDeclaration":77276,"src":"24514:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":78736,"initialValue":{"baseExpression":{"id":78733,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"24537:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78735,"indexExpression":{"id":78734,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78704,"src":"24557:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24537:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24514:51:117"},{"expression":{"arguments":[{"id":78738,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78704,"src":"24599:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78737,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78702,"src":"24575:23:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24575:32:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78740,"nodeType":"ExpressionStatement","src":"24575:32:117"},{"expression":{"id":78744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24617:35:117","subExpression":{"baseExpression":{"id":78741,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77135,"src":"24624:19:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$77276_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":78743,"indexExpression":{"id":78742,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78704,"src":"24644:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24624:28:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78745,"nodeType":"ExpressionStatement","src":"24617:35:117"},{"expression":{"arguments":[{"id":78749,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78706,"src":"24684:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":78750,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78732,"src":"24702:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24709:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"24702:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78746,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77103,"src":"24663:11:117","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":78748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24675:8:117","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":56576,"src":"24663:20:117","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":78752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24663:59:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78753,"nodeType":"ExpressionStatement","src":"24663:59:117"},{"eventCall":{"arguments":[{"id":78755,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78704,"src":"24750:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78756,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78706,"src":"24759:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":78757,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78732,"src":"24777:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$77276_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":78758,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24784:12:117","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77273,"src":"24777:19:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78754,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76905,"src":"24737:12:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":78759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24737:60:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78760,"nodeType":"EmitStatement","src":"24732:65:117"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":78709,"kind":"modifierInvocation","modifierName":{"id":78708,"name":"nonReentrant","nameLocations":["24303:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":53278,"src":"24303:12:117"},"nodeType":"ModifierInvocation","src":"24303:12:117"}],"name":"kickMember","nameLocation":"24242:10:117","parameters":{"id":78707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78704,"mutability":"mutable","name":"_member","nameLocation":"24261:7:117","nodeType":"VariableDeclaration","scope":78762,"src":"24253:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78703,"name":"address","nodeType":"ElementaryTypeName","src":"24253:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78706,"mutability":"mutable","name":"_transferAddress","nameLocation":"24278:16:117","nodeType":"VariableDeclaration","scope":78762,"src":"24270:24:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78705,"name":"address","nodeType":"ElementaryTypeName","src":"24270:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24252:43:117"},"returnParameters":{"id":78710,"nodeType":"ParameterList","parameters":[],"src":"24316:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78771,"nodeType":"FunctionDefinition","src":"24810:66:117","nodes":[],"body":{"id":78770,"nodeType":"Block","src":"24874:2:117","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":78768,"kind":"modifierInvocation","modifierName":{"id":78767,"name":"onlyOwner","nameLocations":["24864:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"24864:9:117"},"nodeType":"ModifierInvocation","src":"24864:9:117"}],"name":"_authorizeUpgrade","nameLocation":"24819:17:117","overrides":{"id":78766,"nodeType":"OverrideSpecifier","overrides":[],"src":"24855:8:117"},"parameters":{"id":78765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78764,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78771,"src":"24837:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78763,"name":"address","nodeType":"ElementaryTypeName","src":"24837:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24836:9:117"},"returnParameters":{"id":78769,"nodeType":"ParameterList","parameters":[],"src":"24874:0:117"},"scope":78776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78775,"nodeType":"VariableDeclaration","src":"24882:25:117","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"24902:5:117","scope":78776,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":78772,"name":"uint256","nodeType":"ElementaryTypeName","src":"24882:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78774,"length":{"hexValue":"3530","id":78773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24890:2:117","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"24882:11:117","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":76864,"name":"OwnableUpgradeable","nameLocations":["1422:18:117"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"1422:18:117"},"id":76865,"nodeType":"InheritanceSpecifier","src":"1422:18:117"},{"baseName":{"id":76866,"name":"UUPSUpgradeable","nameLocations":["1446:15:117"],"nodeType":"IdentifierPath","referencedDeclaration":55753,"src":"1446:15:117"},"id":76867,"nodeType":"InheritanceSpecifier","src":"1446:15:117"},{"baseName":{"id":76868,"name":"ReentrancyGuardUpgradeable","nameLocations":["1467:26:117"],"nodeType":"IdentifierPath","referencedDeclaration":53318,"src":"1467:26:117"},"id":76869,"nodeType":"InheritanceSpecifier","src":"1467:26:117"},{"baseName":{"id":76870,"name":"AccessControlUpgradeable","nameLocations":["1499:24:117"],"nodeType":"IdentifierPath","referencedDeclaration":52778,"src":"1499:24:117"},"id":76871,"nodeType":"InheritanceSpecifier","src":"1499:24:117"}],"canonicalName":"RegistryCommunityV0_0","contractDependencies":[55102],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[78776,52778,54051,54063,52851,53318,55753,55406,55055,55065,52984,53777,53233],"name":"RegistryCommunityV0_0","nameLocation":"1393:21:117","scope":78777,"usedErrors":[76971,76973,76977,76979,76981,76983,76985,76987,76989,76991,76993,76995,76997,76999,77001,77003,77005,77011]}],"license":"AGPL-3.0-only"},"id":117}
\ No newline at end of file
diff --git a/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json b/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json
index 6dbf78d8e..e42700b62 100644
--- a/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json
+++ b/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a080604052346100315730608052611a2d90816100378239608051818181610a7d01528181610b800152610de60152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200108e575080630a992e0c146200101d5780633659cfe61462000dbd5780634f1ef2861462000b2b57806352d1902d1462000a685780635a2c8ace14620009da578063715018a6146200098a57806377122d56146200095f5780638279c7db14620008f35780638a16135f146200049e5780638da5cb5b1462000473578063987435be14620003b5578063affed0e01462000453578063b5b3ca2c14620003e0578063b8bed90114620003b5578063c0c53b8b14620001db578063f2fde38b14620001435763f5016b5e14620000f857600080fd5b346200013e5760203660031901126200013e576001600160a01b036200011d620010b4565b166000526066602052602060ff600160406000200154166040519015158152f35b600080fd5b346200013e5760203660031901126200013e5762000160620010b4565b6200016a62001199565b6001600160a01b0381161562000187576200018590620011f2565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200013e5760603660031901126200013e57620001f8620010b4565b602435906001600160a01b03908183168084036200013e5760443592808416908185036200013e576000549360ff8560081c161596878098620003a7575b80156200038e575b1562000332576000805160206200197883398151915296620002ad620002b3926020988b600160ff198316176000556200031f575b506200029260ff60005460081c166200028c8162001443565b62001443565b6200029d33620011f2565b6000606555620002ad85620014a4565b620014a4565b169160018060a01b031990838260675416176067558160685416176068556069541617606955604051908152a1620002e757005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558b62000273565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156200023e5750600160ff8716146200023e565b50600160ff87161062000236565b346200013e5760003660031901126200013e576067546040516001600160a01b039091168152602090f35b346200013e5760403660031901126200013e577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c604062000420620010b4565b602435906200042e62001199565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b346200013e5760003660031901126200013e576020606554604051908152f35b346200013e5760003660031901126200013e576033546040516001600160a01b039091168152602090f35b346200013e576003196020368201126200013e576001600160401b03600435116200013e576101a081600435360301126200013e57604051906101a082016001600160401b03811183821017620008c75760405262000502600435600401620010cb565b8252600435602401356001600160a01b03811681036200013e576020830152600435604481013560408401526064810135606084015260848101356080840152620005509060a401620010cb565b60a08301526200056560c460043501620010cb565b60c083015260043560e40135906001600160401b0382116200013e576040908260043501360301126200013e5760408051919082018083116001600160401b0390911117620008c757604082810190526004803582019081013583526001600160401b03602490910135116200013e57620005f0903690600480359091016024810135010162001178565b602082015260e082015260043561010401356001600160a01b03811681036200013e5761010082015260043561012401356001600160401b0381116200013e576200064390600436918135010162001178565b610120820152600435610144013580151590036200013e576004356101448101356101408301526001600160401b0361016490910135116200013e57620006963660048035610164810135010162001178565b610160820152620006ad61018460043501620010cb565b6101808201526065546000198114620008dd5760018101606555608082019081523060a083019081526068546069546040805163fa50f53d60e01b6020808301919091526024820183905287516001600160a01b03908116606484015281890151811660848401528389015160a4840152606089015160c4840152965160e48301529451861661010482015260c0870151861661012482015260e08701516101a061014483015280516102048301529094015161022485019190915291841694929362000819938593909290911690620007ee90620007929061024486019062001401565b6101008401516001600160a01b031661016486015261012084015185820360631990810161018488015291620007c89162001401565b9061014085015115156101a487015261016085015190868303016101c487015262001401565b61018092909201516001600160a01b03166101e4840152604483015203601f198101835282620010fc565b6040519161041080840192906001600160401b03841185851017620008c75784936200085893604092620014c887398152816020820152019062001401565b03906000f08015620008bb5760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b346200013e5760203660031901126200013e5760008051602062001978833981519152602062000922620010b4565b6200092c62001199565b6200093781620014a4565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346200013e5760003660031901126200013e576069546040516001600160a01b039091168152602090f35b346200013e5760003660031901126200013e57620009a762001199565b603380546001600160a01b031981169091556000906001600160a01b0316600080516020620019388339815191528280a3005b346200013e5760403660031901126200013e57620009f7620010b4565b602435908115158092036200013e577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a3562001199565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b346200013e5760003660031901126200013e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ac5576020604051600080516020620019188339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b60403660031901126200013e5762000b42620010b4565b6024356001600160401b0381116200013e57366023820112156200013e5762000b769036906024816004013591016200113c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bb1308414156200122a565b62000bd1600080516020620019188339815191529382855416146200127b565b62000bdb62001199565b600080516020620018d88339815191525460ff161562000c03575050506200018590620012cc565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000d88575b5062000c795760405162461bcd60e51b815260048101869052602e6024820152600080516020620019d883398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d425762000c8d84620012cc565b60008051602062001958833981519152600080a281511580159062000d39575b62000cb457005b62000185926000806040519462000ccb86620010e0565b60278652600080516020620019b883398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d2f573d62000d0f8162001120565b9062000d1f6040519283620010fc565b8152600081943d92013e6200135e565b606092506200135e565b50600162000cad565b60405162461bcd60e51b81526004810183905260296024820152600080516020620019988339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000db5575b62000da38183620010fc565b810103126200013e5751908762000c28565b503d62000d97565b346200013e576020806003193601126200013e5762000ddb620010b4565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e15308214156200122a565b62000e35600080516020620019188339815191529185835416146200127b565b62000e3f62001199565b604051828101949091906001600160401b03861183871017620008c757856040526000835260ff600080516020620018d8833981519152541660001462000e905750505050620001859150620012cc565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162000fe8575b5062000f065760405162461bcd60e51b815260048101879052602e6024820152600080516020620019d883398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000fa25762000f1a82620012cc565b60008051602062001958833981519152600080a282511580159062000f99575b62000f4157005b60008062000185956040519562000f5887620010e0565b60278752600080516020620019b883398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d2f573d62000d0f8162001120565b50600062000f3a565b60405162461bcd60e51b81526004810184905260296024820152600080516020620019988339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001015575b620010038183620010fc565b810103126200013e5751908862000eb5565b503d62000ff7565b346200013e5760203660031901126200013e576001600160a01b0362001042620010b4565b1680600052606660205260ff6001604060002001541615620010765760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b346200013e5760003660031901126200013e576068546001600160a01b03168152602090f35b600435906001600160a01b03821682036200013e57565b35906001600160a01b03821682036200013e57565b606081019081106001600160401b03821117620008c757604052565b601f909101601f19168101906001600160401b03821190821017620008c757604052565b6001600160401b038111620008c757601f01601f191660200190565b9291926200114a8262001120565b916200115a6040519384620010fc565b8294818452818301116200013e578281602093846000960137010152565b9080601f830112156200013e5781602062001196933591016200113c565b90565b6033546001600160a01b03163303620011ae57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001938833981519152600080a3565b156200123257565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620018f883398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200128357565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620018f883398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562001303576000805160206200191883398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620013c3575081511562001374575090565b3b156200137e5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620013d75750805190602001fd5b60405162461bcd60e51b815260206004820152908190620013fd90602483019062001401565b0390fd5b919082519283825260005b8481106200142e575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200140c565b156200144b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b031615620014b557565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220e275481323c157489bfb7ba0182f07f4f6c5bf9b2cfe6fe93173143d6ac47f6064736f6c63430008130033","sourceMap":"598:4068:118:-:0;;;;;;;1088:4:66;1080:13;;598:4068:118;;;;;;1080:13:66;598:4068:118;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200108e575080630a992e0c146200101d5780633659cfe61462000dbd5780634f1ef2861462000b2b57806352d1902d1462000a685780635a2c8ace14620009da578063715018a6146200098a57806377122d56146200095f5780638279c7db14620008f35780638a16135f146200049e5780638da5cb5b1462000473578063987435be14620003b5578063affed0e01462000453578063b5b3ca2c14620003e0578063b8bed90114620003b5578063c0c53b8b14620001db578063f2fde38b14620001435763f5016b5e14620000f857600080fd5b346200013e5760203660031901126200013e576001600160a01b036200011d620010b4565b166000526066602052602060ff600160406000200154166040519015158152f35b600080fd5b346200013e5760203660031901126200013e5762000160620010b4565b6200016a62001199565b6001600160a01b0381161562000187576200018590620011f2565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200013e5760603660031901126200013e57620001f8620010b4565b602435906001600160a01b03908183168084036200013e5760443592808416908185036200013e576000549360ff8560081c161596878098620003a7575b80156200038e575b1562000332576000805160206200197883398151915296620002ad620002b3926020988b600160ff198316176000556200031f575b506200029260ff60005460081c166200028c8162001443565b62001443565b6200029d33620011f2565b6000606555620002ad85620014a4565b620014a4565b169160018060a01b031990838260675416176067558160685416176068556069541617606955604051908152a1620002e757005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558b62000273565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156200023e5750600160ff8716146200023e565b50600160ff87161062000236565b346200013e5760003660031901126200013e576067546040516001600160a01b039091168152602090f35b346200013e5760403660031901126200013e577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c604062000420620010b4565b602435906200042e62001199565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b346200013e5760003660031901126200013e576020606554604051908152f35b346200013e5760003660031901126200013e576033546040516001600160a01b039091168152602090f35b346200013e576003196020368201126200013e576001600160401b03600435116200013e576101a081600435360301126200013e57604051906101a082016001600160401b03811183821017620008c75760405262000502600435600401620010cb565b8252600435602401356001600160a01b03811681036200013e576020830152600435604481013560408401526064810135606084015260848101356080840152620005509060a401620010cb565b60a08301526200056560c460043501620010cb565b60c083015260043560e40135906001600160401b0382116200013e576040908260043501360301126200013e5760408051919082018083116001600160401b0390911117620008c757604082810190526004803582019081013583526001600160401b03602490910135116200013e57620005f0903690600480359091016024810135010162001178565b602082015260e082015260043561010401356001600160a01b03811681036200013e5761010082015260043561012401356001600160401b0381116200013e576200064390600436918135010162001178565b610120820152600435610144013580151590036200013e576004356101448101356101408301526001600160401b0361016490910135116200013e57620006963660048035610164810135010162001178565b610160820152620006ad61018460043501620010cb565b6101808201526065546000198114620008dd5760018101606555608082019081523060a083019081526068546069546040805163fa50f53d60e01b6020808301919091526024820183905287516001600160a01b03908116606484015281890151811660848401528389015160a4840152606089015160c4840152965160e48301529451861661010482015260c0870151861661012482015260e08701516101a061014483015280516102048301529094015161022485019190915291841694929362000819938593909290911690620007ee90620007929061024486019062001401565b6101008401516001600160a01b031661016486015261012084015185820360631990810161018488015291620007c89162001401565b9061014085015115156101a487015261016085015190868303016101c487015262001401565b61018092909201516001600160a01b03166101e4840152604483015203601f198101835282620010fc565b6040519161041080840192906001600160401b03841185851017620008c75784936200085893604092620014c887398152816020820152019062001401565b03906000f08015620008bb5760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b346200013e5760203660031901126200013e5760008051602062001978833981519152602062000922620010b4565b6200092c62001199565b6200093781620014a4565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346200013e5760003660031901126200013e576069546040516001600160a01b039091168152602090f35b346200013e5760003660031901126200013e57620009a762001199565b603380546001600160a01b031981169091556000906001600160a01b0316600080516020620019388339815191528280a3005b346200013e5760403660031901126200013e57620009f7620010b4565b602435908115158092036200013e577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a3562001199565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b346200013e5760003660031901126200013e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ac5576020604051600080516020620019188339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b60403660031901126200013e5762000b42620010b4565b6024356001600160401b0381116200013e57366023820112156200013e5762000b769036906024816004013591016200113c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bb1308414156200122a565b62000bd1600080516020620019188339815191529382855416146200127b565b62000bdb62001199565b600080516020620018d88339815191525460ff161562000c03575050506200018590620012cc565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000d88575b5062000c795760405162461bcd60e51b815260048101869052602e6024820152600080516020620019d883398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d425762000c8d84620012cc565b60008051602062001958833981519152600080a281511580159062000d39575b62000cb457005b62000185926000806040519462000ccb86620010e0565b60278652600080516020620019b883398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d2f573d62000d0f8162001120565b9062000d1f6040519283620010fc565b8152600081943d92013e6200135e565b606092506200135e565b50600162000cad565b60405162461bcd60e51b81526004810183905260296024820152600080516020620019988339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000db5575b62000da38183620010fc565b810103126200013e5751908762000c28565b503d62000d97565b346200013e576020806003193601126200013e5762000ddb620010b4565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e15308214156200122a565b62000e35600080516020620019188339815191529185835416146200127b565b62000e3f62001199565b604051828101949091906001600160401b03861183871017620008c757856040526000835260ff600080516020620018d8833981519152541660001462000e905750505050620001859150620012cc565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162000fe8575b5062000f065760405162461bcd60e51b815260048101879052602e6024820152600080516020620019d883398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000fa25762000f1a82620012cc565b60008051602062001958833981519152600080a282511580159062000f99575b62000f4157005b60008062000185956040519562000f5887620010e0565b60278752600080516020620019b883398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d2f573d62000d0f8162001120565b50600062000f3a565b60405162461bcd60e51b81526004810184905260296024820152600080516020620019988339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001015575b620010038183620010fc565b810103126200013e5751908862000eb5565b503d62000ff7565b346200013e5760203660031901126200013e576001600160a01b0362001042620010b4565b1680600052606660205260ff6001604060002001541615620010765760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b346200013e5760003660031901126200013e576068546001600160a01b03168152602090f35b600435906001600160a01b03821682036200013e57565b35906001600160a01b03821682036200013e57565b606081019081106001600160401b03821117620008c757604052565b601f909101601f19168101906001600160401b03821190821017620008c757604052565b6001600160401b038111620008c757601f01601f191660200190565b9291926200114a8262001120565b916200115a6040519384620010fc565b8294818452818301116200013e578281602093846000960137010152565b9080601f830112156200013e5781602062001196933591016200113c565b90565b6033546001600160a01b03163303620011ae57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001938833981519152600080a3565b156200123257565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620018f883398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200128357565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620018f883398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562001303576000805160206200191883398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620013c3575081511562001374575090565b3b156200137e5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620013d75750805190602001fd5b60405162461bcd60e51b815260206004820152908190620013fd90602483019062001401565b0390fd5b919082519283825260005b8481106200142e575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200140c565b156200144b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b031615620014b557565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220e275481323c157489bfb7ba0182f07f4f6c5bf9b2cfe6fe93173143d6ac47f6064736f6c63430008130033","sourceMap":"598:4068:118:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;-1:-1:-1;;;;;598:4068:118;;:::i;:::-;;;;4257:15;598:4068;;;689:66:62;598:4068:118;;;;4257:33;689:66:62;;598:4068:118;;;;;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;598:4068:118;;2423:22:47;598:4068:118;;2517:8:47;;;:::i;:::-;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;689:66:62;598:4068:118;;;689:66:62;3301:14:49;3347:34;;;;;;598:4068:118;3346:108:49;;;;598:4068:118;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;2191:26;2247:24;598:4068;;;;;;;;;;;;3562:65:49;;598:4068:118;;5366:69:49;689:66:62;598:4068:118;;;;689:66:62;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;598:4068:118;2104:9;598:4068;2142:19;;;:::i;:::-;2191:26;:::i;2247:24::-;598:4068;;;;;;;;;;;2282:40;598:4068;;;2282:40;598:4068;;2332:54;598:4068;;;2332:54;598:4068;2396:50;598:4068;;;2396:50;598:4068;;;;;;2461:35;3647:99:49;;598:4068:118;3647:99:49;598:4068:118;;;;;;;3721:14:49;598:4068:118;;;;;;3721:14:49;598:4068:118;3562:65:49;-1:-1:-1;;598:4068:118;;;;;3562:65:49;;;598:4068:118;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;3346:108:49;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;689::62;598:4068:118;689:66:62;;;3436:17:49;3346:108;;3347:34;689:66:62;598:4068:118;689:66:62;;;3365:16:49;3347:34;;598:4068:118;;;;;;-1:-1:-1;;598:4068:118;;;;754:33;598:4068;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;3883:43;598:4068;;;:::i;:::-;;;1324:62:47;;;:::i;:::-;598:4068:118;;;;;;;;;;3819:15;598:4068;;;;;;;;;;;;;;;;3883:43;598:4068;;;;;;;-1:-1:-1;;598:4068:118;;;;;672:20;598:4068;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;1534:6:47;598:4068:118;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2762:7;598:4068;-1:-1:-1;;598:4068:118;;;;;;;2762:7;598:4068;;;;;;;2813:4;598:4068;;;;;;2888:25;598:4068;3002:23;598:4068;;;;-1:-1:-1;;;598:4068:118;2928:98;;;;;;;598:4068;2928:98;;598:4068;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2951:41;598:4068;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:98;;598:4068;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;;-1:-1:-1;598:4068:118;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;2928:98;-1:-1:-1;;2928:98:118;;;;;;:::i;:::-;598:4068;;;2850:186;;;;;;-1:-1:-1;;;;;2850:186:118;;;;;;;;;;598:4068;2850:186;598:4068;2850:186;;;;598:4068;;;;;;;;;;:::i;:::-;2850:186;;598:4068;2850:186;;;;;598:4068;;;;;;;;;;;3195:15;598:4068;;;;;;3195:49;598:4068;;;;;;;;;3266:44;598:4068;;;;;;3266:44;598:4068;;;;;;2850:186;598:4068;;689:66:62;598:4068:118;689:66:62;;;;;2850:186:118;598:4068;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;:::i;:::-;1324:62:47;;:::i;:::-;3473:15:118;;;:::i;:::-;3499:36;598:4068;;-1:-1:-1;;;;;;598:4068:118;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;3550:31;598:4068;;;;;;;-1:-1:-1;;598:4068:118;;;;839:38;598:4068;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;1324:62:47;;:::i;:::-;2779:6;598:4068:118;;-1:-1:-1;;;;;;598:4068:118;;;;;;;-1:-1:-1;;;;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;2827:40:47;598:4068:118;;;;;;;-1:-1:-1;;598:4068:118;;;;;;:::i;:::-;;;;;;;;;;;;4098:42;1324:62:47;598:4068:118;1324:62:47;;;:::i;:::-;598:4068:118;;;;;;;;;;4039:15;598:4068;;;;;;4039:33;598:4068;;;;;;;;;;;;;;;;;;;;4098:42;598:4068;;;;;;;-1:-1:-1;;598:4068:118;;;;2089:6:66;-1:-1:-1;;;;;598:4068:118;2080:4:66;2072:23;598:4068:118;;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;:::i;:::-;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;598:4068:118;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:62;;;;;;2993:17;;;;;;:::i;2906:504::-;598:4068:118;;;;689:66:62;;;;3046:52;;;;;;598:4068:118;3046:52:62;;;;598:4068:118;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;598:4068:118;;-1:-1:-1;;;3262:56:62;;598:4068:118;3262:56:62;;689:66;;;;598:4068:118;689:66:62;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;598:4068:118;1889:27:62;;598:4068:118;;2208:15:62;;;:28;;;3042:291;2204:112;;598:4068:118;2204:112:62;7307:69:78;598:4068:118;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;7265:25:78;;;;;;;;;598:4068:118;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:78;:::i;598:4068:118:-;;;-1:-1:-1;7307:69:78;:::i;2208:28:62:-;;598:4068:118;2208:28:62;;689:66;598:4068:118;;-1:-1:-1;;;689:66:62;;598:4068:118;689:66:62;;;;;;598:4068:118;689:66:62;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;598:4068:118;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;598:4068:118;1654:6:66;598:4068:118;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;598:4068:118;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;689:66:62;-1:-1:-1;;;;;;;;;;;689:66:62;;2906:504;689:66;;;2993:17;;;;;;;;:::i;2906:504::-;598:4068:118;;;;;;;;689:66:62;;;3046:52;;;;598:4068:118;3046:52:62;;;;598:4068:118;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;598:4068:118;;-1:-1:-1;;;3262:56:62;;598:4068:118;3262:56:62;;689:66;;;;;;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;598:4068:118;1889:27:62;;598:4068:118;;2208:15:62;;;:28;;;3042:291;2204:112;;598:4068:118;2204:112:62;598:4068:118;;7307:69:78;598:4068:118;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;7265:25:78;;;;;;598:4068:118;;;;;;;;:::i;2208:28:62:-;;598:4068:118;2208:28:62;;689:66;598:4068:118;;-1:-1:-1;;;689:66:62;;598:4068:118;689:66:62;;;;;;;;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;598:4068:118;;;;;;-1:-1:-1;;598:4068:118;;;;-1:-1:-1;;;;;598:4068:118;;:::i;:::-;;;;;4402:15;598:4068;;689:66:62;598:4068:118;;;;4402:33;689:66:62;;4401:34:118;4397:100;;598:4068;;4402:15;598:4068;;;;;;;;;;;;;4397:100;598:4068;;;;4458:28;;;;;;598:4068;4458:28;;598:4068;4458:28;598:4068;;;;;;-1:-1:-1;;598:4068:118;;;;793:40;598:4068;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;:::o;:::-;;;-1:-1:-1;;;;;598:4068:118;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;:::o;:::-;2928:98;598:4068;;;-1:-1:-1;;598:4068:118;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;598:4068:118;;;;2928:98;598:4068;-1:-1:-1;;598:4068:118;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;598:4068:118;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;1620:130:47:-;1534:6;598:4068:118;-1:-1:-1;;;;;598:4068:118;965:10:53;1683:23:47;598:4068:118;;1620:130:47:o;598:4068:118:-;;;;689:66:62;;;598:4068:118;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;598:4068:118;;-1:-1:-1;;;;;598:4068:118;;;-1:-1:-1;;;;;;598:4068:118;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;598:4068:118:-;;;;:::o;:::-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;;;;1406:259:62;1702:19:78;;:23;598:4068:118;;-1:-1:-1;;;;;;;;;;;598:4068:118;;-1:-1:-1;;;;;;598:4068:118;-1:-1:-1;;;;;598:4068:118;;;;;;;;;1406:259:62:o;598:4068:118:-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;7671:628:78;;;;7875:418;;;598:4068:118;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;598:4068:118;;8201:17:78;:::o;598:4068:118:-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;;;;7875:418:78;598:4068:118;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;598:4068:118;;-1:-1:-1;;;9324:20:78;;598:4068:118;9324:20:78;;;598:4068:118;;;;;;;;;;;:::i;:::-;9324:20:78;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:98;;;598:4068;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;1753:133;-1:-1:-1;;;;;598:4068:118;1827:22;1823:56;;1753:133::o;1823:56::-;598:4068;;-1:-1:-1;;;1858:21:118;;;;","linkReferences":{},"immutableReferences":{"55653":[{"start":2685,"length":32},{"start":2944,"length":32},{"start":3558,"length":32}]}},"methodIdentifiers":{"collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"8a16135f","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address,address,address)":"c0c53b8b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"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\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactory\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactoryV0_0.sol\":\"RegistryFactoryV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc\",\"dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x2620b666afbeb57cc5c4dac31078bc6ce69f570dcd75593c616d347c60498431\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a2d20a768e3ad648c1f76a5c2a3c81b6644722087271b4deb44d4906c1679848\",\"dweb:/ipfs/QmVMNgqGLK8JNVWU8H7YB1bAYKAf1NGdRznTG84Da6aoBK\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactoryV0_0.sol":"RegistryFactoryV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304","urls":["bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc","dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_0.sol":{"keccak256":"0x2620b666afbeb57cc5c4dac31078bc6ce69f570dcd75593c616d347c60498431","urls":["bzz-raw://a2d20a768e3ad648c1f76a5c2a3c81b6644722087271b4deb44d4906c1679848","dweb:/ipfs/QmVMNgqGLK8JNVWU8H7YB1bAYKAf1NGdRznTG84Da6aoBK"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":78740,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":78745,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)78733_storage)"},{"astId":78747,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":78749,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":78751,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"collateralVaultTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":79042,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"106","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)78733_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)78733_storage"},"t_struct(CommunityInfo)78733_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":78730,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":78732,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactoryV0_0.sol","id":79044,"exportedSymbols":{"Clone":[3002],"CommunityInfo":[78733],"ERC1967Proxy":[55102],"OwnableUpgradeable":[52984],"RegistryCommunityV0_0":[78716],"RegistryFactoryV0_0":[79043],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"42:4625:118","nodes":[{"id":78718,"nodeType":"PragmaDirective","src":"42:24:118","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":78720,"nodeType":"ImportDirective","src":"68:71:118","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"../src/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":79044,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":78719,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"76:21:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78722,"nodeType":"ImportDirective","src":"141:110:118","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79044,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":78721,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"149:18:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78724,"nodeType":"ImportDirective","src":"252:88:118","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79044,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":78723,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"260:15:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78726,"nodeType":"ImportDirective","src":"342:84:118","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":79044,"sourceUnit":55103,"symbolAliases":[{"foreign":{"id":78725,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"350:12:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78728,"nodeType":"ImportDirective","src":"427:65:118","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":79044,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":78727,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"435:5:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78733,"nodeType":"StructDefinition","src":"494:57:118","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":78730,"mutability":"mutable","name":"fee","nameLocation":"529:3:118","nodeType":"VariableDeclaration","scope":78733,"src":"521:11:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78729,"name":"uint256","nodeType":"ElementaryTypeName","src":"521:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78732,"mutability":"mutable","name":"valid","nameLocation":"543:5:118","nodeType":"VariableDeclaration","scope":78733,"src":"538:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78731,"name":"bool","nodeType":"ElementaryTypeName","src":"538:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"501:13:118","scope":79044,"visibility":"public"},{"id":79043,"nodeType":"ContractDefinition","src":"598:4068:118","nodes":[{"id":78740,"nodeType":"VariableDeclaration","src":"672:20:118","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"687:5:118","scope":79043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78739,"name":"uint256","nodeType":"ElementaryTypeName","src":"672:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":78745,"nodeType":"VariableDeclaration","src":"699:49:118","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"733:15:118","scope":79043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78733_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":78744,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78741,"name":"address","nodeType":"ElementaryTypeName","src":"707:7:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"699:33:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78733_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78743,"nodeType":"UserDefinedTypeName","pathNode":{"id":78742,"name":"CommunityInfo","nameLocations":["718:13:118"],"nodeType":"IdentifierPath","referencedDeclaration":78733,"src":"718:13:118"},"referencedDeclaration":78733,"src":"718:13:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78733_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":78747,"nodeType":"VariableDeclaration","src":"754:33:118","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"769:18:118","scope":79043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78746,"name":"address","nodeType":"ElementaryTypeName","src":"754:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":78749,"nodeType":"VariableDeclaration","src":"793:40:118","nodes":[],"constant":false,"functionSelector":"02c1d0b1","mutability":"mutable","name":"registryCommunityTemplate","nameLocation":"808:25:118","scope":79043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78748,"name":"address","nodeType":"ElementaryTypeName","src":"793:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":78751,"nodeType":"VariableDeclaration","src":"839:38:118","nodes":[],"constant":false,"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"854:23:118","scope":79043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78750,"name":"address","nodeType":"ElementaryTypeName","src":"839:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":78755,"nodeType":"EventDefinition","src":"1094:46:118","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"1100:14:118","parameters":{"id":78754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78753,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"1123:15:118","nodeType":"VariableDeclaration","scope":78755,"src":"1115:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78752,"name":"address","nodeType":"ElementaryTypeName","src":"1115:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1114:25:118"}},{"id":78761,"nodeType":"EventDefinition","src":"1145:66:118","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"1151:14:118","parameters":{"id":78760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78757,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1174:10:118","nodeType":"VariableDeclaration","scope":78761,"src":"1166:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78756,"name":"address","nodeType":"ElementaryTypeName","src":"1166:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78759,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"1194:15:118","nodeType":"VariableDeclaration","scope":78761,"src":"1186:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78758,"name":"uint256","nodeType":"ElementaryTypeName","src":"1186:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1165:45:118"}},{"id":78765,"nodeType":"EventDefinition","src":"1216:51:118","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"1222:16:118","parameters":{"id":78764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78763,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"1247:18:118","nodeType":"VariableDeclaration","scope":78765,"src":"1239:26:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78762,"name":"address","nodeType":"ElementaryTypeName","src":"1239:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1238:28:118"}},{"id":78771,"nodeType":"EventDefinition","src":"1272:62:118","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"1278:20:118","parameters":{"id":78770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78767,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1307:10:118","nodeType":"VariableDeclaration","scope":78771,"src":"1299:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78766,"name":"address","nodeType":"ElementaryTypeName","src":"1299:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78769,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"1324:8:118","nodeType":"VariableDeclaration","scope":78771,"src":"1319:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78768,"name":"bool","nodeType":"ElementaryTypeName","src":"1319:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1298:35:118"}},{"id":78775,"nodeType":"ErrorDefinition","src":"1506:43:118","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1512:16:118","parameters":{"id":78774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78773,"mutability":"mutable","name":"_community","nameLocation":"1537:10:118","nodeType":"VariableDeclaration","scope":78775,"src":"1529:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78772,"name":"address","nodeType":"ElementaryTypeName","src":"1529:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1528:20:118"}},{"id":78777,"nodeType":"ErrorDefinition","src":"1554:28:118","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1560:19:118","parameters":{"id":78776,"nodeType":"ParameterList","parameters":[],"src":"1579:2:118"}},{"id":78793,"nodeType":"FunctionDefinition","src":"1753:133:118","nodes":[],"body":{"id":78792,"nodeType":"Block","src":"1813:73:118","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78782,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78779,"src":"1827:8:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1847:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1839:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78783,"name":"address","nodeType":"ElementaryTypeName","src":"1839:7:118","typeDescriptions":{}}},"id":78786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1839:10:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1827:22:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78791,"nodeType":"IfStatement","src":"1823:56:118","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78788,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78777,"src":"1858:19:118","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1858:21:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78790,"nodeType":"RevertStatement","src":"1851:28:118"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1762:18:118","parameters":{"id":78780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78779,"mutability":"mutable","name":"_address","nameLocation":"1789:8:118","nodeType":"VariableDeclaration","scope":78793,"src":"1781:16:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78778,"name":"address","nodeType":"ElementaryTypeName","src":"1781:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1780:18:118"},"returnParameters":{"id":78781,"nodeType":"ParameterList","parameters":[],"src":"1813:0:118"},"scope":79043,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78840,"nodeType":"FunctionDefinition","src":"1892:675:118","nodes":[],"body":{"id":78839,"nodeType":"Block","src":"2068:499:118","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78804,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"2078:14:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2078:16:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78806,"nodeType":"ExpressionStatement","src":"2078:16:118"},{"expression":{"id":78809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78807,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78740,"src":"2104:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":78808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2112:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2104:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78810,"nodeType":"ExpressionStatement","src":"2104:9:118"},{"expression":{"arguments":[{"id":78812,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78795,"src":"2142:19:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78811,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78793,"src":"2123:18:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2123:39:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78814,"nodeType":"ExpressionStatement","src":"2123:39:118"},{"expression":{"arguments":[{"id":78816,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78797,"src":"2191:26:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78815,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78793,"src":"2172:18:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2172:46:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78818,"nodeType":"ExpressionStatement","src":"2172:46:118"},{"expression":{"arguments":[{"id":78820,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78799,"src":"2247:24:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78819,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78793,"src":"2228:18:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2228:44:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78822,"nodeType":"ExpressionStatement","src":"2228:44:118"},{"expression":{"id":78825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78823,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78747,"src":"2282:18:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78824,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78795,"src":"2303:19:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2282:40:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78826,"nodeType":"ExpressionStatement","src":"2282:40:118"},{"expression":{"id":78829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78827,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78749,"src":"2332:25:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78828,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78797,"src":"2360:26:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2332:54:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78830,"nodeType":"ExpressionStatement","src":"2332:54:118"},{"expression":{"id":78833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78831,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78751,"src":"2396:23:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78832,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78799,"src":"2422:24:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2396:50:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78834,"nodeType":"ExpressionStatement","src":"2396:50:118"},{"eventCall":{"arguments":[{"id":78836,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78795,"src":"2476:19:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78835,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78755,"src":"2461:14:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2461:35:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78838,"nodeType":"EmitStatement","src":"2456:40:118"}]},"functionSelector":"c0c53b8b","implemented":true,"kind":"function","modifiers":[{"id":78802,"kind":"modifierInvocation","modifierName":{"id":78801,"name":"initializer","nameLocations":["2056:11:118"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"2056:11:118"},"nodeType":"ModifierInvocation","src":"2056:11:118"}],"name":"initialize","nameLocation":"1901:10:118","parameters":{"id":78800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78795,"mutability":"mutable","name":"_gardensFeeReceiver","nameLocation":"1929:19:118","nodeType":"VariableDeclaration","scope":78840,"src":"1921:27:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78794,"name":"address","nodeType":"ElementaryTypeName","src":"1921:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78797,"mutability":"mutable","name":"_registryCommunityTemplate","nameLocation":"1966:26:118","nodeType":"VariableDeclaration","scope":78840,"src":"1958:34:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78796,"name":"address","nodeType":"ElementaryTypeName","src":"1958:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78799,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"2010:24:118","nodeType":"VariableDeclaration","scope":78840,"src":"2002:32:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78798,"name":"address","nodeType":"ElementaryTypeName","src":"2002:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1911:129:118"},"returnParameters":{"id":78803,"nodeType":"ParameterList","parameters":[],"src":"2068:0:118"},"scope":79043,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":78920,"nodeType":"FunctionDefinition","src":"2573:787:118","nodes":[],"body":{"id":78919,"nodeType":"Block","src":"2736:624:118","nodes":[],"statements":[{"expression":{"id":78853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78848,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78843,"src":"2746:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":78850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2753:6:118","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":76962,"src":"2746:13:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2762:7:118","subExpression":{"id":78851,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78740,"src":"2762:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2746:23:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78854,"nodeType":"ExpressionStatement","src":"2746:23:118"},{"expression":{"id":78862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78855,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78843,"src":"2779:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":78857,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2786:16:118","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":76964,"src":"2779:23:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78860,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2813:4:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79043","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79043","typeString":"contract RegistryFactoryV0_0"}],"id":78859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2805:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78858,"name":"address","nodeType":"ElementaryTypeName","src":"2805:7:118","typeDescriptions":{}}},"id":78861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2805:13:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2779:39:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78863,"nodeType":"ExpressionStatement","src":"2779:39:118"},{"assignments":[78866],"declarations":[{"constant":false,"id":78866,"mutability":"mutable","name":"proxy","nameLocation":"2842:5:118","nodeType":"VariableDeclaration","scope":78919,"src":"2829:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"},"typeName":{"id":78865,"nodeType":"UserDefinedTypeName","pathNode":{"id":78864,"name":"ERC1967Proxy","nameLocations":["2829:12:118"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"2829:12:118"},"referencedDeclaration":55102,"src":"2829:12:118","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":78883,"initialValue":{"arguments":[{"arguments":[{"id":78872,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78749,"src":"2888:25:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2880:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78870,"name":"address","nodeType":"ElementaryTypeName","src":"2880:7:118","typeDescriptions":{}}},"id":78873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2880:34:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":78876,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"2951:21:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78716_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2973:10:118","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":77494,"src":"2951:32:118","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_InitializeParams_$76980_memory_ptr_$_t_address_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityV0_0.InitializeParams memory,address)"}},"id":78878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2984:8:118","memberName":"selector","nodeType":"MemberAccess","src":"2951:41:118","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":78879,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78843,"src":"2994:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},{"id":78880,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78751,"src":"3002:23:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2928:3:118","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2932:18:118","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2928:22:118","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":78881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2928:98:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":78869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2850:16:118","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55102_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":78868,"nodeType":"UserDefinedTypeName","pathNode":{"id":78867,"name":"ERC1967Proxy","nameLocations":["2854:12:118"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"2854:12:118"},"referencedDeclaration":55102,"src":"2854:12:118","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}},"id":78882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2850:186:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"2829:207:118"},{"assignments":[78886],"declarations":[{"constant":false,"id":78886,"mutability":"mutable","name":"registryCommunity","nameLocation":"3069:17:118","nodeType":"VariableDeclaration","scope":78919,"src":"3047:39:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":78885,"nodeType":"UserDefinedTypeName","pathNode":{"id":78884,"name":"RegistryCommunityV0_0","nameLocations":["3047:21:118"],"nodeType":"IdentifierPath","referencedDeclaration":78716,"src":"3047:21:118"},"referencedDeclaration":78716,"src":"3047:21:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":78896,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":78892,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78866,"src":"3127:5:118","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}],"id":78891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3119:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78890,"name":"address","nodeType":"ElementaryTypeName","src":"3119:7:118","typeDescriptions":{}}},"id":78893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3119:14:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3111:8:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":78888,"name":"address","nodeType":"ElementaryTypeName","src":"3111:8:118","stateMutability":"payable","typeDescriptions":{}}},"id":78894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3111:23:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78887,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"3089:21:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78716_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3089:46:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"3047:88:118"},{"expression":{"id":78905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":78897,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78745,"src":"3195:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78733_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":78902,"indexExpression":{"arguments":[{"id":78900,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78886,"src":"3219:17:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":78899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3211:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78898,"name":"address","nodeType":"ElementaryTypeName","src":"3211:7:118","typeDescriptions":{}}},"id":78901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3211:26:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3195:43:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78733_storage","typeString":"struct CommunityInfo storage ref"}},"id":78903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3239:5:118","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":78732,"src":"3195:49:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":78904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3247:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3195:56:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78906,"nodeType":"ExpressionStatement","src":"3195:56:118"},{"eventCall":{"arguments":[{"arguments":[{"id":78910,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78886,"src":"3291:17:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":78909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3283:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78908,"name":"address","nodeType":"ElementaryTypeName","src":"3283:7:118","typeDescriptions":{}}},"id":78911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3283:26:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78907,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78765,"src":"3266:16:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3266:44:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78913,"nodeType":"EmitStatement","src":"3261:49:118"},{"expression":{"arguments":[{"id":78916,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78886,"src":"3335:17:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78716","typeString":"contract RegistryCommunityV0_0"}],"id":78915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3327:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78914,"name":"address","nodeType":"ElementaryTypeName","src":"3327:7:118","typeDescriptions":{}}},"id":78917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3327:26:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":78847,"id":78918,"nodeType":"Return","src":"3320:33:118"}]},"functionSelector":"8a16135f","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"2582:14:118","parameters":{"id":78844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78843,"mutability":"mutable","name":"params","nameLocation":"2643:6:118","nodeType":"VariableDeclaration","scope":78920,"src":"2597:52:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":78842,"nodeType":"UserDefinedTypeName","pathNode":{"id":78841,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["2597:21:118","2619:16:118"],"nodeType":"IdentifierPath","referencedDeclaration":76980,"src":"2597:38:118"},"referencedDeclaration":76980,"src":"2597:38:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76980_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"2596:54:118"},"returnParameters":{"id":78847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78846,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"2707:23:118","nodeType":"VariableDeclaration","scope":78920,"src":"2699:31:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78845,"name":"address","nodeType":"ElementaryTypeName","src":"2699:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2698:33:118"},"scope":79043,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":78940,"nodeType":"FunctionDefinition","src":"3366:222:118","nodes":[],"body":{"id":78939,"nodeType":"Block","src":"3444:144:118","nodes":[],"statements":[{"expression":{"arguments":[{"id":78928,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78922,"src":"3473:15:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78927,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78793,"src":"3454:18:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3454:35:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78930,"nodeType":"ExpressionStatement","src":"3454:35:118"},{"expression":{"id":78933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78931,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78747,"src":"3499:18:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78932,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78922,"src":"3520:15:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3499:36:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78934,"nodeType":"ExpressionStatement","src":"3499:36:118"},{"eventCall":{"arguments":[{"id":78936,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78922,"src":"3565:15:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78935,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78755,"src":"3550:14:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3550:31:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78938,"nodeType":"EmitStatement","src":"3545:36:118"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":78925,"kind":"modifierInvocation","modifierName":{"id":78924,"name":"onlyOwner","nameLocations":["3434:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"3434:9:118"},"nodeType":"ModifierInvocation","src":"3434:9:118"}],"name":"setReceiverAddress","nameLocation":"3375:18:118","parameters":{"id":78923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78922,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"3402:15:118","nodeType":"VariableDeclaration","scope":78940,"src":"3394:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78921,"name":"address","nodeType":"ElementaryTypeName","src":"3394:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3393:25:118"},"returnParameters":{"id":78926,"nodeType":"ParameterList","parameters":[],"src":"3444:0:118"},"scope":79043,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":78948,"nodeType":"FunctionDefinition","src":"3594:115:118","nodes":[],"body":{"id":78947,"nodeType":"Block","src":"3667:42:118","nodes":[],"statements":[{"expression":{"id":78945,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78747,"src":"3684:18:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":78944,"id":78946,"nodeType":"Return","src":"3677:25:118"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"3603:21:118","parameters":{"id":78941,"nodeType":"ParameterList","parameters":[],"src":"3624:2:118"},"returnParameters":{"id":78944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78948,"src":"3658:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78942,"name":"address","nodeType":"ElementaryTypeName","src":"3658:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3657:9:118"},"scope":79043,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":78970,"nodeType":"FunctionDefinition","src":"3715:218:118","nodes":[],"body":{"id":78969,"nodeType":"Block","src":"3809:124:118","nodes":[],"statements":[{"expression":{"id":78962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":78957,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78745,"src":"3819:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78733_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":78959,"indexExpression":{"id":78958,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78950,"src":"3835:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3819:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78733_storage","typeString":"struct CommunityInfo storage ref"}},"id":78960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3847:3:118","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":78730,"src":"3819:31:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78961,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78952,"src":"3853:15:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3819:49:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78963,"nodeType":"ExpressionStatement","src":"3819:49:118"},{"eventCall":{"arguments":[{"id":78965,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78950,"src":"3898:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78966,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78952,"src":"3910:15:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78964,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"3883:14:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":78967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3883:43:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78968,"nodeType":"EmitStatement","src":"3878:48:118"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":78955,"kind":"modifierInvocation","modifierName":{"id":78954,"name":"onlyOwner","nameLocations":["3799:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"3799:9:118"},"nodeType":"ModifierInvocation","src":"3799:9:118"}],"name":"setProtocolFee","nameLocation":"3724:14:118","parameters":{"id":78953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78950,"mutability":"mutable","name":"_community","nameLocation":"3747:10:118","nodeType":"VariableDeclaration","scope":78970,"src":"3739:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78949,"name":"address","nodeType":"ElementaryTypeName","src":"3739:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78952,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"3767:15:118","nodeType":"VariableDeclaration","scope":78970,"src":"3759:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78951,"name":"uint256","nodeType":"ElementaryTypeName","src":"3759:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3738:45:118"},"returnParameters":{"id":78956,"nodeType":"ParameterList","parameters":[],"src":"3809:0:118"},"scope":79043,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":78992,"nodeType":"FunctionDefinition","src":"3939:208:118","nodes":[],"body":{"id":78991,"nodeType":"Block","src":"4029:118:118","nodes":[],"statements":[{"expression":{"id":78984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":78979,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78745,"src":"4039:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78733_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":78981,"indexExpression":{"id":78980,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78972,"src":"4055:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4039:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78733_storage","typeString":"struct CommunityInfo storage ref"}},"id":78982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4067:5:118","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":78732,"src":"4039:33:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78983,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78974,"src":"4075:8:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4039:44:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78985,"nodeType":"ExpressionStatement","src":"4039:44:118"},{"eventCall":{"arguments":[{"id":78987,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78972,"src":"4119:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78988,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78974,"src":"4131:8:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":78986,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78771,"src":"4098:20:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":78989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4098:42:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78990,"nodeType":"EmitStatement","src":"4093:47:118"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":78977,"kind":"modifierInvocation","modifierName":{"id":78976,"name":"onlyOwner","nameLocations":["4019:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"4019:9:118"},"nodeType":"ModifierInvocation","src":"4019:9:118"}],"name":"setCommunityValidity","nameLocation":"3948:20:118","parameters":{"id":78975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78972,"mutability":"mutable","name":"_community","nameLocation":"3977:10:118","nodeType":"VariableDeclaration","scope":78992,"src":"3969:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78971,"name":"address","nodeType":"ElementaryTypeName","src":"3969:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78974,"mutability":"mutable","name":"_isValid","nameLocation":"3994:8:118","nodeType":"VariableDeclaration","scope":78992,"src":"3989:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78973,"name":"bool","nodeType":"ElementaryTypeName","src":"3989:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3968:35:118"},"returnParameters":{"id":78978,"nodeType":"ParameterList","parameters":[],"src":"4029:0:118"},"scope":79043,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":79005,"nodeType":"FunctionDefinition","src":"4153:144:118","nodes":[],"body":{"id":79004,"nodeType":"Block","src":"4240:57:118","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":78999,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78745,"src":"4257:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78733_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":79001,"indexExpression":{"id":79000,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78994,"src":"4273:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4257:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78733_storage","typeString":"struct CommunityInfo storage ref"}},"id":79002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4285:5:118","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":78732,"src":"4257:33:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78998,"id":79003,"nodeType":"Return","src":"4250:40:118"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"4162:20:118","parameters":{"id":78995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78994,"mutability":"mutable","name":"_community","nameLocation":"4191:10:118","nodeType":"VariableDeclaration","scope":79005,"src":"4183:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78993,"name":"address","nodeType":"ElementaryTypeName","src":"4183:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4182:20:118"},"returnParameters":{"id":78998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79005,"src":"4234:4:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78996,"name":"bool","nodeType":"ElementaryTypeName","src":"4234:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4233:6:118"},"scope":79043,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":79029,"nodeType":"FunctionDefinition","src":"4303:249:118","nodes":[],"body":{"id":79028,"nodeType":"Block","src":"4387:165:118","nodes":[],"statements":[{"condition":{"id":79016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4401:34:118","subExpression":{"expression":{"baseExpression":{"id":79012,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78745,"src":"4402:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78733_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":79014,"indexExpression":{"id":79013,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79007,"src":"4418:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4402:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78733_storage","typeString":"struct CommunityInfo storage ref"}},"id":79015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4430:5:118","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":78732,"src":"4402:33:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79022,"nodeType":"IfStatement","src":"4397:100:118","trueBody":{"id":79021,"nodeType":"Block","src":"4437:60:118","statements":[{"errorCall":{"arguments":[{"id":79018,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79007,"src":"4475:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79017,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78775,"src":"4458:16:118","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":79019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4458:28:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79020,"nodeType":"RevertStatement","src":"4451:35:118"}]}},{"expression":{"expression":{"baseExpression":{"id":79023,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78745,"src":"4514:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78733_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":79025,"indexExpression":{"id":79024,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79007,"src":"4530:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4514:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78733_storage","typeString":"struct CommunityInfo storage ref"}},"id":79026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4542:3:118","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":78730,"src":"4514:31:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79011,"id":79027,"nodeType":"Return","src":"4507:38:118"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"4312:14:118","parameters":{"id":79008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79007,"mutability":"mutable","name":"_community","nameLocation":"4335:10:118","nodeType":"VariableDeclaration","scope":79029,"src":"4327:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79006,"name":"address","nodeType":"ElementaryTypeName","src":"4327:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4326:20:118"},"returnParameters":{"id":79011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79010,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79029,"src":"4378:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79009,"name":"uint256","nodeType":"ElementaryTypeName","src":"4378:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4377:9:118"},"scope":79043,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":79038,"nodeType":"FunctionDefinition","src":"4558:74:118","nodes":[],"body":{"id":79037,"nodeType":"Block","src":"4630:2:118","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":79035,"kind":"modifierInvocation","modifierName":{"id":79034,"name":"onlyOwner","nameLocations":["4620:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"4620:9:118"},"nodeType":"ModifierInvocation","src":"4620:9:118"}],"name":"_authorizeUpgrade","nameLocation":"4567:17:118","overrides":{"id":79033,"nodeType":"OverrideSpecifier","overrides":[],"src":"4611:8:118"},"parameters":{"id":79032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79038,"src":"4585:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79030,"name":"address","nodeType":"ElementaryTypeName","src":"4585:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4584:9:118"},"returnParameters":{"id":79036,"nodeType":"ParameterList","parameters":[],"src":"4630:0:118"},"scope":79043,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":79042,"nodeType":"VariableDeclaration","src":"4638:25:118","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"4658:5:118","scope":79043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":79039,"name":"uint256","nodeType":"ElementaryTypeName","src":"4638:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79041,"length":{"hexValue":"3530","id":79040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4646:2:118","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"4638:11:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":78735,"name":"OwnableUpgradeable","nameLocations":["630:18:118"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"630:18:118"},"id":78736,"nodeType":"InheritanceSpecifier","src":"630:18:118"},{"baseName":{"id":78737,"name":"UUPSUpgradeable","nameLocations":["650:15:118"],"nodeType":"IdentifierPath","referencedDeclaration":55753,"src":"650:15:118"},"id":78738,"nodeType":"InheritanceSpecifier","src":"650:15:118"}],"canonicalName":"RegistryFactoryV0_0","contractDependencies":[55102],"contractKind":"contract","documentation":{"id":78734,"nodeType":"StructuredDocumentation","src":"552:45:118","text":"@custom:oz-upgrades-from RegistryFactory"},"fullyImplemented":true,"linearizedBaseContracts":[79043,55753,55406,55055,55065,52984,53777,53233],"name":"RegistryFactoryV0_0","nameLocation":"607:19:118","scope":79044,"usedErrors":[78775,78777]}],"license":"AGPL-3.0-only"},"id":118}
\ No newline at end of file
+{"abi":[{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a080604052346100315730608052611a2d90816100378239608051818181610a7d01528181610b800152610de60152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200108e575080630a992e0c146200101d5780633659cfe61462000dbd5780634f1ef2861462000b2b57806352d1902d1462000a685780635a2c8ace14620009da578063715018a6146200098a57806377122d56146200095f5780638279c7db14620008f35780638a16135f146200049e5780638da5cb5b1462000473578063987435be14620003b5578063affed0e01462000453578063b5b3ca2c14620003e0578063b8bed90114620003b5578063c0c53b8b14620001db578063f2fde38b14620001435763f5016b5e14620000f857600080fd5b346200013e5760203660031901126200013e576001600160a01b036200011d620010b4565b166000526066602052602060ff600160406000200154166040519015158152f35b600080fd5b346200013e5760203660031901126200013e5762000160620010b4565b6200016a62001199565b6001600160a01b0381161562000187576200018590620011f2565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200013e5760603660031901126200013e57620001f8620010b4565b602435906001600160a01b03908183168084036200013e5760443592808416908185036200013e576000549360ff8560081c161596878098620003a7575b80156200038e575b1562000332576000805160206200197883398151915296620002ad620002b3926020988b600160ff198316176000556200031f575b506200029260ff60005460081c166200028c8162001443565b62001443565b6200029d33620011f2565b6000606555620002ad85620014a4565b620014a4565b169160018060a01b031990838260675416176067558160685416176068556069541617606955604051908152a1620002e757005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558b62000273565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156200023e5750600160ff8716146200023e565b50600160ff87161062000236565b346200013e5760003660031901126200013e576067546040516001600160a01b039091168152602090f35b346200013e5760403660031901126200013e577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c604062000420620010b4565b602435906200042e62001199565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b346200013e5760003660031901126200013e576020606554604051908152f35b346200013e5760003660031901126200013e576033546040516001600160a01b039091168152602090f35b346200013e576003196020368201126200013e576001600160401b03600435116200013e576101a081600435360301126200013e57604051906101a082016001600160401b03811183821017620008c75760405262000502600435600401620010cb565b8252600435602401356001600160a01b03811681036200013e576020830152600435604481013560408401526064810135606084015260848101356080840152620005509060a401620010cb565b60a08301526200056560c460043501620010cb565b60c083015260043560e40135906001600160401b0382116200013e576040908260043501360301126200013e5760408051919082018083116001600160401b0390911117620008c757604082810190526004803582019081013583526001600160401b03602490910135116200013e57620005f0903690600480359091016024810135010162001178565b602082015260e082015260043561010401356001600160a01b03811681036200013e5761010082015260043561012401356001600160401b0381116200013e576200064390600436918135010162001178565b610120820152600435610144013580151590036200013e576004356101448101356101408301526001600160401b0361016490910135116200013e57620006963660048035610164810135010162001178565b610160820152620006ad61018460043501620010cb565b6101808201526065546000198114620008dd5760018101606555608082019081523060a083019081526068546069546040805163fa50f53d60e01b6020808301919091526024820183905287516001600160a01b03908116606484015281890151811660848401528389015160a4840152606089015160c4840152965160e48301529451861661010482015260c0870151861661012482015260e08701516101a061014483015280516102048301529094015161022485019190915291841694929362000819938593909290911690620007ee90620007929061024486019062001401565b6101008401516001600160a01b031661016486015261012084015185820360631990810161018488015291620007c89162001401565b9061014085015115156101a487015261016085015190868303016101c487015262001401565b61018092909201516001600160a01b03166101e4840152604483015203601f198101835282620010fc565b6040519161041080840192906001600160401b03841185851017620008c75784936200085893604092620014c887398152816020820152019062001401565b03906000f08015620008bb5760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b346200013e5760203660031901126200013e5760008051602062001978833981519152602062000922620010b4565b6200092c62001199565b6200093781620014a4565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346200013e5760003660031901126200013e576069546040516001600160a01b039091168152602090f35b346200013e5760003660031901126200013e57620009a762001199565b603380546001600160a01b031981169091556000906001600160a01b0316600080516020620019388339815191528280a3005b346200013e5760403660031901126200013e57620009f7620010b4565b602435908115158092036200013e577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a3562001199565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b346200013e5760003660031901126200013e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ac5576020604051600080516020620019188339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b60403660031901126200013e5762000b42620010b4565b6024356001600160401b0381116200013e57366023820112156200013e5762000b769036906024816004013591016200113c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bb1308414156200122a565b62000bd1600080516020620019188339815191529382855416146200127b565b62000bdb62001199565b600080516020620018d88339815191525460ff161562000c03575050506200018590620012cc565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000d88575b5062000c795760405162461bcd60e51b815260048101869052602e6024820152600080516020620019d883398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d425762000c8d84620012cc565b60008051602062001958833981519152600080a281511580159062000d39575b62000cb457005b62000185926000806040519462000ccb86620010e0565b60278652600080516020620019b883398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d2f573d62000d0f8162001120565b9062000d1f6040519283620010fc565b8152600081943d92013e6200135e565b606092506200135e565b50600162000cad565b60405162461bcd60e51b81526004810183905260296024820152600080516020620019988339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000db5575b62000da38183620010fc565b810103126200013e5751908762000c28565b503d62000d97565b346200013e576020806003193601126200013e5762000ddb620010b4565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e15308214156200122a565b62000e35600080516020620019188339815191529185835416146200127b565b62000e3f62001199565b604051828101949091906001600160401b03861183871017620008c757856040526000835260ff600080516020620018d8833981519152541660001462000e905750505050620001859150620012cc565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162000fe8575b5062000f065760405162461bcd60e51b815260048101879052602e6024820152600080516020620019d883398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000fa25762000f1a82620012cc565b60008051602062001958833981519152600080a282511580159062000f99575b62000f4157005b60008062000185956040519562000f5887620010e0565b60278752600080516020620019b883398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d2f573d62000d0f8162001120565b50600062000f3a565b60405162461bcd60e51b81526004810184905260296024820152600080516020620019988339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001015575b620010038183620010fc565b810103126200013e5751908862000eb5565b503d62000ff7565b346200013e5760203660031901126200013e576001600160a01b0362001042620010b4565b1680600052606660205260ff6001604060002001541615620010765760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b346200013e5760003660031901126200013e576068546001600160a01b03168152602090f35b600435906001600160a01b03821682036200013e57565b35906001600160a01b03821682036200013e57565b606081019081106001600160401b03821117620008c757604052565b601f909101601f19168101906001600160401b03821190821017620008c757604052565b6001600160401b038111620008c757601f01601f191660200190565b9291926200114a8262001120565b916200115a6040519384620010fc565b8294818452818301116200013e578281602093846000960137010152565b9080601f830112156200013e5781602062001196933591016200113c565b90565b6033546001600160a01b03163303620011ae57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001938833981519152600080a3565b156200123257565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620018f883398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200128357565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620018f883398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562001303576000805160206200191883398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620013c3575081511562001374575090565b3b156200137e5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620013d75750805190602001fd5b60405162461bcd60e51b815260206004820152908190620013fd90602483019062001401565b0390fd5b919082519283825260005b8481106200142e575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200140c565b156200144b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b031615620014b557565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220bd02083f1eefe03574f312a3ba1c3ed2140a06407378fe5c4ae3a9f36933687464736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220514709132b2a66510b5bac30621e9bfb5e7445f6aeae1750da52410dae9319aa64736f6c63430008130033","sourceMap":"598:4068:118:-:0;;;;;;;1088:4:66;1080:13;;598:4068:118;;;;;;1080:13:66;598:4068:118;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200108e575080630a992e0c146200101d5780633659cfe61462000dbd5780634f1ef2861462000b2b57806352d1902d1462000a685780635a2c8ace14620009da578063715018a6146200098a57806377122d56146200095f5780638279c7db14620008f35780638a16135f146200049e5780638da5cb5b1462000473578063987435be14620003b5578063affed0e01462000453578063b5b3ca2c14620003e0578063b8bed90114620003b5578063c0c53b8b14620001db578063f2fde38b14620001435763f5016b5e14620000f857600080fd5b346200013e5760203660031901126200013e576001600160a01b036200011d620010b4565b166000526066602052602060ff600160406000200154166040519015158152f35b600080fd5b346200013e5760203660031901126200013e5762000160620010b4565b6200016a62001199565b6001600160a01b0381161562000187576200018590620011f2565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200013e5760603660031901126200013e57620001f8620010b4565b602435906001600160a01b03908183168084036200013e5760443592808416908185036200013e576000549360ff8560081c161596878098620003a7575b80156200038e575b1562000332576000805160206200197883398151915296620002ad620002b3926020988b600160ff198316176000556200031f575b506200029260ff60005460081c166200028c8162001443565b62001443565b6200029d33620011f2565b6000606555620002ad85620014a4565b620014a4565b169160018060a01b031990838260675416176067558160685416176068556069541617606955604051908152a1620002e757005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558b62000273565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156200023e5750600160ff8716146200023e565b50600160ff87161062000236565b346200013e5760003660031901126200013e576067546040516001600160a01b039091168152602090f35b346200013e5760403660031901126200013e577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c604062000420620010b4565b602435906200042e62001199565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b346200013e5760003660031901126200013e576020606554604051908152f35b346200013e5760003660031901126200013e576033546040516001600160a01b039091168152602090f35b346200013e576003196020368201126200013e576001600160401b03600435116200013e576101a081600435360301126200013e57604051906101a082016001600160401b03811183821017620008c75760405262000502600435600401620010cb565b8252600435602401356001600160a01b03811681036200013e576020830152600435604481013560408401526064810135606084015260848101356080840152620005509060a401620010cb565b60a08301526200056560c460043501620010cb565b60c083015260043560e40135906001600160401b0382116200013e576040908260043501360301126200013e5760408051919082018083116001600160401b0390911117620008c757604082810190526004803582019081013583526001600160401b03602490910135116200013e57620005f0903690600480359091016024810135010162001178565b602082015260e082015260043561010401356001600160a01b03811681036200013e5761010082015260043561012401356001600160401b0381116200013e576200064390600436918135010162001178565b610120820152600435610144013580151590036200013e576004356101448101356101408301526001600160401b0361016490910135116200013e57620006963660048035610164810135010162001178565b610160820152620006ad61018460043501620010cb565b6101808201526065546000198114620008dd5760018101606555608082019081523060a083019081526068546069546040805163fa50f53d60e01b6020808301919091526024820183905287516001600160a01b03908116606484015281890151811660848401528389015160a4840152606089015160c4840152965160e48301529451861661010482015260c0870151861661012482015260e08701516101a061014483015280516102048301529094015161022485019190915291841694929362000819938593909290911690620007ee90620007929061024486019062001401565b6101008401516001600160a01b031661016486015261012084015185820360631990810161018488015291620007c89162001401565b9061014085015115156101a487015261016085015190868303016101c487015262001401565b61018092909201516001600160a01b03166101e4840152604483015203601f198101835282620010fc565b6040519161041080840192906001600160401b03841185851017620008c75784936200085893604092620014c887398152816020820152019062001401565b03906000f08015620008bb5760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b346200013e5760203660031901126200013e5760008051602062001978833981519152602062000922620010b4565b6200092c62001199565b6200093781620014a4565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346200013e5760003660031901126200013e576069546040516001600160a01b039091168152602090f35b346200013e5760003660031901126200013e57620009a762001199565b603380546001600160a01b031981169091556000906001600160a01b0316600080516020620019388339815191528280a3005b346200013e5760403660031901126200013e57620009f7620010b4565b602435908115158092036200013e577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a3562001199565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b346200013e5760003660031901126200013e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ac5576020604051600080516020620019188339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b60403660031901126200013e5762000b42620010b4565b6024356001600160401b0381116200013e57366023820112156200013e5762000b769036906024816004013591016200113c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bb1308414156200122a565b62000bd1600080516020620019188339815191529382855416146200127b565b62000bdb62001199565b600080516020620018d88339815191525460ff161562000c03575050506200018590620012cc565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000d88575b5062000c795760405162461bcd60e51b815260048101869052602e6024820152600080516020620019d883398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d425762000c8d84620012cc565b60008051602062001958833981519152600080a281511580159062000d39575b62000cb457005b62000185926000806040519462000ccb86620010e0565b60278652600080516020620019b883398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d2f573d62000d0f8162001120565b9062000d1f6040519283620010fc565b8152600081943d92013e6200135e565b606092506200135e565b50600162000cad565b60405162461bcd60e51b81526004810183905260296024820152600080516020620019988339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000db5575b62000da38183620010fc565b810103126200013e5751908762000c28565b503d62000d97565b346200013e576020806003193601126200013e5762000ddb620010b4565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e15308214156200122a565b62000e35600080516020620019188339815191529185835416146200127b565b62000e3f62001199565b604051828101949091906001600160401b03861183871017620008c757856040526000835260ff600080516020620018d8833981519152541660001462000e905750505050620001859150620012cc565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162000fe8575b5062000f065760405162461bcd60e51b815260048101879052602e6024820152600080516020620019d883398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000fa25762000f1a82620012cc565b60008051602062001958833981519152600080a282511580159062000f99575b62000f4157005b60008062000185956040519562000f5887620010e0565b60278752600080516020620019b883398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d2f573d62000d0f8162001120565b50600062000f3a565b60405162461bcd60e51b81526004810184905260296024820152600080516020620019988339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001015575b620010038183620010fc565b810103126200013e5751908862000eb5565b503d62000ff7565b346200013e5760203660031901126200013e576001600160a01b0362001042620010b4565b1680600052606660205260ff6001604060002001541615620010765760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b346200013e5760003660031901126200013e576068546001600160a01b03168152602090f35b600435906001600160a01b03821682036200013e57565b35906001600160a01b03821682036200013e57565b606081019081106001600160401b03821117620008c757604052565b601f909101601f19168101906001600160401b03821190821017620008c757604052565b6001600160401b038111620008c757601f01601f191660200190565b9291926200114a8262001120565b916200115a6040519384620010fc565b8294818452818301116200013e578281602093846000960137010152565b9080601f830112156200013e5781602062001196933591016200113c565b90565b6033546001600160a01b03163303620011ae57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001938833981519152600080a3565b156200123257565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620018f883398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200128357565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620018f883398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562001303576000805160206200191883398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620013c3575081511562001374575090565b3b156200137e5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620013d75750805190602001fd5b60405162461bcd60e51b815260206004820152908190620013fd90602483019062001401565b0390fd5b919082519283825260005b8481106200142e575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200140c565b156200144b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b031615620014b557565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220bd02083f1eefe03574f312a3ba1c3ed2140a06407378fe5c4ae3a9f36933687464736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220514709132b2a66510b5bac30621e9bfb5e7445f6aeae1750da52410dae9319aa64736f6c63430008130033","sourceMap":"598:4068:118:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;-1:-1:-1;;;;;598:4068:118;;:::i;:::-;;;;4257:15;598:4068;;;689:66:62;598:4068:118;;;;4257:33;689:66:62;;598:4068:118;;;;;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;598:4068:118;;2423:22:47;598:4068:118;;2517:8:47;;;:::i;:::-;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;689:66:62;598:4068:118;;;689:66:62;3301:14:49;3347:34;;;;;;598:4068:118;3346:108:49;;;;598:4068:118;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;2191:26;2247:24;598:4068;;;;;;;;;;;;3562:65:49;;598:4068:118;;5366:69:49;689:66:62;598:4068:118;;;;689:66:62;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;598:4068:118;2104:9;598:4068;2142:19;;;:::i;:::-;2191:26;:::i;2247:24::-;598:4068;;;;;;;;;;;2282:40;598:4068;;;2282:40;598:4068;;2332:54;598:4068;;;2332:54;598:4068;2396:50;598:4068;;;2396:50;598:4068;;;;;;2461:35;3647:99:49;;598:4068:118;3647:99:49;598:4068:118;;;;;;;3721:14:49;598:4068:118;;;;;;3721:14:49;598:4068:118;3562:65:49;-1:-1:-1;;598:4068:118;;;;;3562:65:49;;;598:4068:118;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;3346:108:49;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;689::62;598:4068:118;689:66:62;;;3436:17:49;3346:108;;3347:34;689:66:62;598:4068:118;689:66:62;;;3365:16:49;3347:34;;598:4068:118;;;;;;-1:-1:-1;;598:4068:118;;;;754:33;598:4068;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;3883:43;598:4068;;;:::i;:::-;;;1324:62:47;;;:::i;:::-;598:4068:118;;;;;;;;;;3819:15;598:4068;;;;;;;;;;;;;;;;3883:43;598:4068;;;;;;;-1:-1:-1;;598:4068:118;;;;;672:20;598:4068;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;1534:6:47;598:4068:118;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2762:7;598:4068;-1:-1:-1;;598:4068:118;;;;;;;2762:7;598:4068;;;;;;;2813:4;598:4068;;;;;;2888:25;598:4068;3002:23;598:4068;;;;-1:-1:-1;;;598:4068:118;2928:98;;;;;;;598:4068;2928:98;;598:4068;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2951:41;598:4068;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:98;;598:4068;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;;-1:-1:-1;598:4068:118;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;2928:98;-1:-1:-1;;2928:98:118;;;;;;:::i;:::-;598:4068;;;2850:186;;;;;;-1:-1:-1;;;;;2850:186:118;;;;;;;;;;598:4068;2850:186;598:4068;2850:186;;;;598:4068;;;;;;;;;;:::i;:::-;2850:186;;598:4068;2850:186;;;;;598:4068;;;;;;;;;;;3195:15;598:4068;;;;;;3195:49;598:4068;;;;;;;;;3266:44;598:4068;;;;;;3266:44;598:4068;;;;;;2850:186;598:4068;;689:66:62;598:4068:118;689:66:62;;;;;2850:186:118;598:4068;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;:::i;:::-;1324:62:47;;:::i;:::-;3473:15:118;;;:::i;:::-;3499:36;598:4068;;-1:-1:-1;;;;;;598:4068:118;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;3550:31;598:4068;;;;;;;-1:-1:-1;;598:4068:118;;;;839:38;598:4068;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;1324:62:47;;:::i;:::-;2779:6;598:4068:118;;-1:-1:-1;;;;;;598:4068:118;;;;;;;-1:-1:-1;;;;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;2827:40:47;598:4068:118;;;;;;;-1:-1:-1;;598:4068:118;;;;;;:::i;:::-;;;;;;;;;;;;4098:42;1324:62:47;598:4068:118;1324:62:47;;;:::i;:::-;598:4068:118;;;;;;;;;;4039:15;598:4068;;;;;;4039:33;598:4068;;;;;;;;;;;;;;;;;;;;4098:42;598:4068;;;;;;;-1:-1:-1;;598:4068:118;;;;2089:6:66;-1:-1:-1;;;;;598:4068:118;2080:4:66;2072:23;598:4068:118;;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;-1:-1:-1;;598:4068:118;;;;;;:::i;:::-;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;598:4068:118;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:62;;;;;;2993:17;;;;;;:::i;2906:504::-;598:4068:118;;;;689:66:62;;;;3046:52;;;;;;598:4068:118;3046:52:62;;;;598:4068:118;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;598:4068:118;;-1:-1:-1;;;3262:56:62;;598:4068:118;3262:56:62;;689:66;;;;598:4068:118;689:66:62;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;598:4068:118;1889:27:62;;598:4068:118;;2208:15:62;;;:28;;;3042:291;2204:112;;598:4068:118;2204:112:62;7307:69:78;598:4068:118;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;7265:25:78;;;;;;;;;598:4068:118;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:78;:::i;598:4068:118:-;;;-1:-1:-1;7307:69:78;:::i;2208:28:62:-;;598:4068:118;2208:28:62;;689:66;598:4068:118;;-1:-1:-1;;;689:66:62;;598:4068:118;689:66:62;;;;;;598:4068:118;689:66:62;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;598:4068:118;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;598:4068:118;1654:6:66;598:4068:118;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;598:4068:118;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;;;;;689:66:62;-1:-1:-1;;;;;;;;;;;689:66:62;;2906:504;689:66;;;2993:17;;;;;;;;:::i;2906:504::-;598:4068:118;;;;;;;;689:66:62;;;3046:52;;;;598:4068:118;3046:52:62;;;;598:4068:118;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;598:4068:118;;-1:-1:-1;;;3262:56:62;;598:4068:118;3262:56:62;;689:66;;;;;;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;598:4068:118;1889:27:62;;598:4068:118;;2208:15:62;;;:28;;;3042:291;2204:112;;598:4068:118;2204:112:62;598:4068:118;;7307:69:78;598:4068:118;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;7265:25:78;;;;;;598:4068:118;;;;;;;;:::i;2208:28:62:-;;598:4068:118;2208:28:62;;689:66;598:4068:118;;-1:-1:-1;;;689:66:62;;598:4068:118;689:66:62;;;;;;;;;598:4068:118;-1:-1:-1;;;;;;;;;;;598:4068:118;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;598:4068:118;;;;;;-1:-1:-1;;598:4068:118;;;;-1:-1:-1;;;;;598:4068:118;;:::i;:::-;;;;;4402:15;598:4068;;689:66:62;598:4068:118;;;;4402:33;689:66:62;;4401:34:118;4397:100;;598:4068;;4402:15;598:4068;;;;;;;;;;;;;4397:100;598:4068;;;;4458:28;;;;;;598:4068;4458:28;;598:4068;4458:28;598:4068;;;;;;-1:-1:-1;;598:4068:118;;;;793:40;598:4068;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;:::o;:::-;;;-1:-1:-1;;;;;598:4068:118;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;:::o;:::-;2928:98;598:4068;;;-1:-1:-1;;598:4068:118;;;;-1:-1:-1;;;;;598:4068:118;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;598:4068:118;;;;2928:98;598:4068;-1:-1:-1;;598:4068:118;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;598:4068:118;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;1620:130:47:-;1534:6;598:4068:118;-1:-1:-1;;;;;598:4068:118;965:10:53;1683:23:47;598:4068:118;;1620:130:47:o;598:4068:118:-;;;;689:66:62;;;598:4068:118;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;598:4068:118;;-1:-1:-1;;;;;598:4068:118;;;-1:-1:-1;;;;;;598:4068:118;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;598:4068:118:-;;;;:::o;:::-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;598:4068:118;;;;-1:-1:-1;;;598:4068:118;;;;;;;1406:259:62;1702:19:78;;:23;598:4068:118;;-1:-1:-1;;;;;;;;;;;598:4068:118;;-1:-1:-1;;;;;;598:4068:118;-1:-1:-1;;;;;598:4068:118;;;;;;;;;1406:259:62:o;598:4068:118:-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;7671:628:78;;;;7875:418;;;598:4068:118;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;598:4068:118;;8201:17:78;:::o;598:4068:118:-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;;;;7875:418:78;598:4068:118;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;598:4068:118;;-1:-1:-1;;;9324:20:78;;598:4068:118;9324:20:78;;;598:4068:118;;;;;;;;;;;:::i;:::-;9324:20:78;;;598:4068:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:98;;;598:4068;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;598:4068:118;;;;;;;;;;;;;;;;;-1:-1:-1;;;598:4068:118;;;;;;;1753:133;-1:-1:-1;;;;;598:4068:118;1827:22;1823:56;;1753:133::o;1823:56::-;598:4068;;-1:-1:-1;;;1858:21:118;;;;","linkReferences":{},"immutableReferences":{"55653":[{"start":2685,"length":32},{"start":2944,"length":32},{"start":3558,"length":32}]}},"methodIdentifiers":{"collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"8a16135f","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address,address,address)":"c0c53b8b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"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\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactory\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactoryV0_0.sol\":\"RegistryFactoryV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e\",\"dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x2620b666afbeb57cc5c4dac31078bc6ce69f570dcd75593c616d347c60498431\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a2d20a768e3ad648c1f76a5c2a3c81b6644722087271b4deb44d4906c1679848\",\"dweb:/ipfs/QmVMNgqGLK8JNVWU8H7YB1bAYKAf1NGdRznTG84Da6aoBK\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactoryV0_0.sol":"RegistryFactoryV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0","urls":["bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e","dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_0.sol":{"keccak256":"0x2620b666afbeb57cc5c4dac31078bc6ce69f570dcd75593c616d347c60498431","urls":["bzz-raw://a2d20a768e3ad648c1f76a5c2a3c81b6644722087271b4deb44d4906c1679848","dweb:/ipfs/QmVMNgqGLK8JNVWU8H7YB1bAYKAf1NGdRznTG84Da6aoBK"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":78800,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":78805,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)78793_storage)"},{"astId":78807,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":78809,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":78811,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"collateralVaultTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":79102,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"106","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)78793_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)78793_storage"},"t_struct(CommunityInfo)78793_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":78790,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":78792,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactoryV0_0.sol","id":79104,"exportedSymbols":{"Clone":[3002],"CommunityInfo":[78793],"ERC1967Proxy":[55102],"OwnableUpgradeable":[52984],"RegistryCommunityV0_0":[78776],"RegistryFactoryV0_0":[79103],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"42:4625:118","nodes":[{"id":78778,"nodeType":"PragmaDirective","src":"42:24:118","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":78780,"nodeType":"ImportDirective","src":"68:71:118","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"../src/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":79104,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":78779,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"76:21:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78782,"nodeType":"ImportDirective","src":"141:110:118","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79104,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":78781,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"149:18:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78784,"nodeType":"ImportDirective","src":"252:88:118","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79104,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":78783,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"260:15:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78786,"nodeType":"ImportDirective","src":"342:84:118","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":79104,"sourceUnit":55103,"symbolAliases":[{"foreign":{"id":78785,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"350:12:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78788,"nodeType":"ImportDirective","src":"427:65:118","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":79104,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":78787,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"435:5:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78793,"nodeType":"StructDefinition","src":"494:57:118","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":78790,"mutability":"mutable","name":"fee","nameLocation":"529:3:118","nodeType":"VariableDeclaration","scope":78793,"src":"521:11:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78789,"name":"uint256","nodeType":"ElementaryTypeName","src":"521:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78792,"mutability":"mutable","name":"valid","nameLocation":"543:5:118","nodeType":"VariableDeclaration","scope":78793,"src":"538:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78791,"name":"bool","nodeType":"ElementaryTypeName","src":"538:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"501:13:118","scope":79104,"visibility":"public"},{"id":79103,"nodeType":"ContractDefinition","src":"598:4068:118","nodes":[{"id":78800,"nodeType":"VariableDeclaration","src":"672:20:118","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"687:5:118","scope":79103,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78799,"name":"uint256","nodeType":"ElementaryTypeName","src":"672:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":78805,"nodeType":"VariableDeclaration","src":"699:49:118","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"733:15:118","scope":79103,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78793_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":78804,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78801,"name":"address","nodeType":"ElementaryTypeName","src":"707:7:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"699:33:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78793_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78803,"nodeType":"UserDefinedTypeName","pathNode":{"id":78802,"name":"CommunityInfo","nameLocations":["718:13:118"],"nodeType":"IdentifierPath","referencedDeclaration":78793,"src":"718:13:118"},"referencedDeclaration":78793,"src":"718:13:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78793_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":78807,"nodeType":"VariableDeclaration","src":"754:33:118","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"769:18:118","scope":79103,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78806,"name":"address","nodeType":"ElementaryTypeName","src":"754:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":78809,"nodeType":"VariableDeclaration","src":"793:40:118","nodes":[],"constant":false,"functionSelector":"02c1d0b1","mutability":"mutable","name":"registryCommunityTemplate","nameLocation":"808:25:118","scope":79103,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78808,"name":"address","nodeType":"ElementaryTypeName","src":"793:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":78811,"nodeType":"VariableDeclaration","src":"839:38:118","nodes":[],"constant":false,"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"854:23:118","scope":79103,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78810,"name":"address","nodeType":"ElementaryTypeName","src":"839:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":78815,"nodeType":"EventDefinition","src":"1094:46:118","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"1100:14:118","parameters":{"id":78814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78813,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"1123:15:118","nodeType":"VariableDeclaration","scope":78815,"src":"1115:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78812,"name":"address","nodeType":"ElementaryTypeName","src":"1115:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1114:25:118"}},{"id":78821,"nodeType":"EventDefinition","src":"1145:66:118","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"1151:14:118","parameters":{"id":78820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78817,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1174:10:118","nodeType":"VariableDeclaration","scope":78821,"src":"1166:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78816,"name":"address","nodeType":"ElementaryTypeName","src":"1166:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78819,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"1194:15:118","nodeType":"VariableDeclaration","scope":78821,"src":"1186:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78818,"name":"uint256","nodeType":"ElementaryTypeName","src":"1186:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1165:45:118"}},{"id":78825,"nodeType":"EventDefinition","src":"1216:51:118","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"1222:16:118","parameters":{"id":78824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78823,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"1247:18:118","nodeType":"VariableDeclaration","scope":78825,"src":"1239:26:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78822,"name":"address","nodeType":"ElementaryTypeName","src":"1239:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1238:28:118"}},{"id":78831,"nodeType":"EventDefinition","src":"1272:62:118","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"1278:20:118","parameters":{"id":78830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78827,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1307:10:118","nodeType":"VariableDeclaration","scope":78831,"src":"1299:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78826,"name":"address","nodeType":"ElementaryTypeName","src":"1299:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78829,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"1324:8:118","nodeType":"VariableDeclaration","scope":78831,"src":"1319:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78828,"name":"bool","nodeType":"ElementaryTypeName","src":"1319:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1298:35:118"}},{"id":78835,"nodeType":"ErrorDefinition","src":"1506:43:118","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1512:16:118","parameters":{"id":78834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78833,"mutability":"mutable","name":"_community","nameLocation":"1537:10:118","nodeType":"VariableDeclaration","scope":78835,"src":"1529:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78832,"name":"address","nodeType":"ElementaryTypeName","src":"1529:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1528:20:118"}},{"id":78837,"nodeType":"ErrorDefinition","src":"1554:28:118","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1560:19:118","parameters":{"id":78836,"nodeType":"ParameterList","parameters":[],"src":"1579:2:118"}},{"id":78853,"nodeType":"FunctionDefinition","src":"1753:133:118","nodes":[],"body":{"id":78852,"nodeType":"Block","src":"1813:73:118","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78842,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78839,"src":"1827:8:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1847:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1839:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78843,"name":"address","nodeType":"ElementaryTypeName","src":"1839:7:118","typeDescriptions":{}}},"id":78846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1839:10:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1827:22:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78851,"nodeType":"IfStatement","src":"1823:56:118","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78848,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78837,"src":"1858:19:118","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1858:21:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78850,"nodeType":"RevertStatement","src":"1851:28:118"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1762:18:118","parameters":{"id":78840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78839,"mutability":"mutable","name":"_address","nameLocation":"1789:8:118","nodeType":"VariableDeclaration","scope":78853,"src":"1781:16:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78838,"name":"address","nodeType":"ElementaryTypeName","src":"1781:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1780:18:118"},"returnParameters":{"id":78841,"nodeType":"ParameterList","parameters":[],"src":"1813:0:118"},"scope":79103,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78900,"nodeType":"FunctionDefinition","src":"1892:675:118","nodes":[],"body":{"id":78899,"nodeType":"Block","src":"2068:499:118","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78864,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"2078:14:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2078:16:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78866,"nodeType":"ExpressionStatement","src":"2078:16:118"},{"expression":{"id":78869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78867,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78800,"src":"2104:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":78868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2112:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2104:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78870,"nodeType":"ExpressionStatement","src":"2104:9:118"},{"expression":{"arguments":[{"id":78872,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78855,"src":"2142:19:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78871,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78853,"src":"2123:18:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2123:39:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78874,"nodeType":"ExpressionStatement","src":"2123:39:118"},{"expression":{"arguments":[{"id":78876,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78857,"src":"2191:26:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78875,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78853,"src":"2172:18:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2172:46:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78878,"nodeType":"ExpressionStatement","src":"2172:46:118"},{"expression":{"arguments":[{"id":78880,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78859,"src":"2247:24:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78879,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78853,"src":"2228:18:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2228:44:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78882,"nodeType":"ExpressionStatement","src":"2228:44:118"},{"expression":{"id":78885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78883,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78807,"src":"2282:18:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78884,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78855,"src":"2303:19:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2282:40:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78886,"nodeType":"ExpressionStatement","src":"2282:40:118"},{"expression":{"id":78889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78887,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78809,"src":"2332:25:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78888,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78857,"src":"2360:26:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2332:54:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78890,"nodeType":"ExpressionStatement","src":"2332:54:118"},{"expression":{"id":78893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78891,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78811,"src":"2396:23:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78892,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78859,"src":"2422:24:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2396:50:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78894,"nodeType":"ExpressionStatement","src":"2396:50:118"},{"eventCall":{"arguments":[{"id":78896,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78855,"src":"2476:19:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78895,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78815,"src":"2461:14:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2461:35:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78898,"nodeType":"EmitStatement","src":"2456:40:118"}]},"functionSelector":"c0c53b8b","implemented":true,"kind":"function","modifiers":[{"id":78862,"kind":"modifierInvocation","modifierName":{"id":78861,"name":"initializer","nameLocations":["2056:11:118"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"2056:11:118"},"nodeType":"ModifierInvocation","src":"2056:11:118"}],"name":"initialize","nameLocation":"1901:10:118","parameters":{"id":78860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78855,"mutability":"mutable","name":"_gardensFeeReceiver","nameLocation":"1929:19:118","nodeType":"VariableDeclaration","scope":78900,"src":"1921:27:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78854,"name":"address","nodeType":"ElementaryTypeName","src":"1921:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78857,"mutability":"mutable","name":"_registryCommunityTemplate","nameLocation":"1966:26:118","nodeType":"VariableDeclaration","scope":78900,"src":"1958:34:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78856,"name":"address","nodeType":"ElementaryTypeName","src":"1958:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78859,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"2010:24:118","nodeType":"VariableDeclaration","scope":78900,"src":"2002:32:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78858,"name":"address","nodeType":"ElementaryTypeName","src":"2002:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1911:129:118"},"returnParameters":{"id":78863,"nodeType":"ParameterList","parameters":[],"src":"2068:0:118"},"scope":79103,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":78980,"nodeType":"FunctionDefinition","src":"2573:787:118","nodes":[],"body":{"id":78979,"nodeType":"Block","src":"2736:624:118","nodes":[],"statements":[{"expression":{"id":78913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78908,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78903,"src":"2746:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":78910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2753:6:118","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":77022,"src":"2746:13:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2762:7:118","subExpression":{"id":78911,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78800,"src":"2762:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2746:23:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78914,"nodeType":"ExpressionStatement","src":"2746:23:118"},{"expression":{"id":78922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78915,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78903,"src":"2779:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":78917,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2786:16:118","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":77024,"src":"2779:23:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78920,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2813:4:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79103","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79103","typeString":"contract RegistryFactoryV0_0"}],"id":78919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2805:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78918,"name":"address","nodeType":"ElementaryTypeName","src":"2805:7:118","typeDescriptions":{}}},"id":78921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2805:13:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2779:39:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78923,"nodeType":"ExpressionStatement","src":"2779:39:118"},{"assignments":[78926],"declarations":[{"constant":false,"id":78926,"mutability":"mutable","name":"proxy","nameLocation":"2842:5:118","nodeType":"VariableDeclaration","scope":78979,"src":"2829:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"},"typeName":{"id":78925,"nodeType":"UserDefinedTypeName","pathNode":{"id":78924,"name":"ERC1967Proxy","nameLocations":["2829:12:118"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"2829:12:118"},"referencedDeclaration":55102,"src":"2829:12:118","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":78943,"initialValue":{"arguments":[{"arguments":[{"id":78932,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78809,"src":"2888:25:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2880:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78930,"name":"address","nodeType":"ElementaryTypeName","src":"2880:7:118","typeDescriptions":{}}},"id":78933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2880:34:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":78936,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"2951:21:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78776_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2973:10:118","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":77554,"src":"2951:32:118","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_InitializeParams_$77040_memory_ptr_$_t_address_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityV0_0.InitializeParams memory,address)"}},"id":78938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2984:8:118","memberName":"selector","nodeType":"MemberAccess","src":"2951:41:118","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":78939,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78903,"src":"2994:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},{"id":78940,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78811,"src":"3002:23:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2928:3:118","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2932:18:118","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2928:22:118","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":78941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2928:98:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":78929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2850:16:118","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55102_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":78928,"nodeType":"UserDefinedTypeName","pathNode":{"id":78927,"name":"ERC1967Proxy","nameLocations":["2854:12:118"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"2854:12:118"},"referencedDeclaration":55102,"src":"2854:12:118","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}},"id":78942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2850:186:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"2829:207:118"},{"assignments":[78946],"declarations":[{"constant":false,"id":78946,"mutability":"mutable","name":"registryCommunity","nameLocation":"3069:17:118","nodeType":"VariableDeclaration","scope":78979,"src":"3047:39:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":78945,"nodeType":"UserDefinedTypeName","pathNode":{"id":78944,"name":"RegistryCommunityV0_0","nameLocations":["3047:21:118"],"nodeType":"IdentifierPath","referencedDeclaration":78776,"src":"3047:21:118"},"referencedDeclaration":78776,"src":"3047:21:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":78956,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":78952,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78926,"src":"3127:5:118","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}],"id":78951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3119:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78950,"name":"address","nodeType":"ElementaryTypeName","src":"3119:7:118","typeDescriptions":{}}},"id":78953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3119:14:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3111:8:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":78948,"name":"address","nodeType":"ElementaryTypeName","src":"3111:8:118","stateMutability":"payable","typeDescriptions":{}}},"id":78954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3111:23:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":78947,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"3089:21:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78776_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3089:46:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"3047:88:118"},{"expression":{"id":78965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":78957,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78805,"src":"3195:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78793_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":78962,"indexExpression":{"arguments":[{"id":78960,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78946,"src":"3219:17:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":78959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3211:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78958,"name":"address","nodeType":"ElementaryTypeName","src":"3211:7:118","typeDescriptions":{}}},"id":78961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3211:26:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3195:43:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78793_storage","typeString":"struct CommunityInfo storage ref"}},"id":78963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3239:5:118","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":78792,"src":"3195:49:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":78964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3247:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3195:56:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78966,"nodeType":"ExpressionStatement","src":"3195:56:118"},{"eventCall":{"arguments":[{"arguments":[{"id":78970,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78946,"src":"3291:17:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":78969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3283:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78968,"name":"address","nodeType":"ElementaryTypeName","src":"3283:7:118","typeDescriptions":{}}},"id":78971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3283:26:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78967,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78825,"src":"3266:16:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3266:44:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78973,"nodeType":"EmitStatement","src":"3261:49:118"},{"expression":{"arguments":[{"id":78976,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78946,"src":"3335:17:118","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78776","typeString":"contract RegistryCommunityV0_0"}],"id":78975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3327:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78974,"name":"address","nodeType":"ElementaryTypeName","src":"3327:7:118","typeDescriptions":{}}},"id":78977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3327:26:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":78907,"id":78978,"nodeType":"Return","src":"3320:33:118"}]},"functionSelector":"8a16135f","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"2582:14:118","parameters":{"id":78904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78903,"mutability":"mutable","name":"params","nameLocation":"2643:6:118","nodeType":"VariableDeclaration","scope":78980,"src":"2597:52:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":78902,"nodeType":"UserDefinedTypeName","pathNode":{"id":78901,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["2597:21:118","2619:16:118"],"nodeType":"IdentifierPath","referencedDeclaration":77040,"src":"2597:38:118"},"referencedDeclaration":77040,"src":"2597:38:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77040_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"2596:54:118"},"returnParameters":{"id":78907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78906,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"2707:23:118","nodeType":"VariableDeclaration","scope":78980,"src":"2699:31:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78905,"name":"address","nodeType":"ElementaryTypeName","src":"2699:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2698:33:118"},"scope":79103,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":79000,"nodeType":"FunctionDefinition","src":"3366:222:118","nodes":[],"body":{"id":78999,"nodeType":"Block","src":"3444:144:118","nodes":[],"statements":[{"expression":{"arguments":[{"id":78988,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78982,"src":"3473:15:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78987,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78853,"src":"3454:18:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3454:35:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78990,"nodeType":"ExpressionStatement","src":"3454:35:118"},{"expression":{"id":78993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78991,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78807,"src":"3499:18:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78992,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78982,"src":"3520:15:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3499:36:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78994,"nodeType":"ExpressionStatement","src":"3499:36:118"},{"eventCall":{"arguments":[{"id":78996,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78982,"src":"3565:15:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78995,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78815,"src":"3550:14:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3550:31:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78998,"nodeType":"EmitStatement","src":"3545:36:118"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":78985,"kind":"modifierInvocation","modifierName":{"id":78984,"name":"onlyOwner","nameLocations":["3434:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"3434:9:118"},"nodeType":"ModifierInvocation","src":"3434:9:118"}],"name":"setReceiverAddress","nameLocation":"3375:18:118","parameters":{"id":78983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78982,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"3402:15:118","nodeType":"VariableDeclaration","scope":79000,"src":"3394:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78981,"name":"address","nodeType":"ElementaryTypeName","src":"3394:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3393:25:118"},"returnParameters":{"id":78986,"nodeType":"ParameterList","parameters":[],"src":"3444:0:118"},"scope":79103,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":79008,"nodeType":"FunctionDefinition","src":"3594:115:118","nodes":[],"body":{"id":79007,"nodeType":"Block","src":"3667:42:118","nodes":[],"statements":[{"expression":{"id":79005,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78807,"src":"3684:18:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":79004,"id":79006,"nodeType":"Return","src":"3677:25:118"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"3603:21:118","parameters":{"id":79001,"nodeType":"ParameterList","parameters":[],"src":"3624:2:118"},"returnParameters":{"id":79004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79003,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79008,"src":"3658:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79002,"name":"address","nodeType":"ElementaryTypeName","src":"3658:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3657:9:118"},"scope":79103,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":79030,"nodeType":"FunctionDefinition","src":"3715:218:118","nodes":[],"body":{"id":79029,"nodeType":"Block","src":"3809:124:118","nodes":[],"statements":[{"expression":{"id":79022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":79017,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78805,"src":"3819:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78793_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":79019,"indexExpression":{"id":79018,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79010,"src":"3835:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3819:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78793_storage","typeString":"struct CommunityInfo storage ref"}},"id":79020,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3847:3:118","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":78790,"src":"3819:31:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79021,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79012,"src":"3853:15:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3819:49:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79023,"nodeType":"ExpressionStatement","src":"3819:49:118"},{"eventCall":{"arguments":[{"id":79025,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79010,"src":"3898:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79026,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79012,"src":"3910:15:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79024,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78821,"src":"3883:14:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":79027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3883:43:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79028,"nodeType":"EmitStatement","src":"3878:48:118"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":79015,"kind":"modifierInvocation","modifierName":{"id":79014,"name":"onlyOwner","nameLocations":["3799:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"3799:9:118"},"nodeType":"ModifierInvocation","src":"3799:9:118"}],"name":"setProtocolFee","nameLocation":"3724:14:118","parameters":{"id":79013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79010,"mutability":"mutable","name":"_community","nameLocation":"3747:10:118","nodeType":"VariableDeclaration","scope":79030,"src":"3739:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79009,"name":"address","nodeType":"ElementaryTypeName","src":"3739:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79012,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"3767:15:118","nodeType":"VariableDeclaration","scope":79030,"src":"3759:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79011,"name":"uint256","nodeType":"ElementaryTypeName","src":"3759:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3738:45:118"},"returnParameters":{"id":79016,"nodeType":"ParameterList","parameters":[],"src":"3809:0:118"},"scope":79103,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":79052,"nodeType":"FunctionDefinition","src":"3939:208:118","nodes":[],"body":{"id":79051,"nodeType":"Block","src":"4029:118:118","nodes":[],"statements":[{"expression":{"id":79044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":79039,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78805,"src":"4039:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78793_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":79041,"indexExpression":{"id":79040,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79032,"src":"4055:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4039:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78793_storage","typeString":"struct CommunityInfo storage ref"}},"id":79042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4067:5:118","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":78792,"src":"4039:33:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79043,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79034,"src":"4075:8:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4039:44:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79045,"nodeType":"ExpressionStatement","src":"4039:44:118"},{"eventCall":{"arguments":[{"id":79047,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79032,"src":"4119:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79048,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79034,"src":"4131:8:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":79046,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78831,"src":"4098:20:118","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":79049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4098:42:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79050,"nodeType":"EmitStatement","src":"4093:47:118"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":79037,"kind":"modifierInvocation","modifierName":{"id":79036,"name":"onlyOwner","nameLocations":["4019:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"4019:9:118"},"nodeType":"ModifierInvocation","src":"4019:9:118"}],"name":"setCommunityValidity","nameLocation":"3948:20:118","parameters":{"id":79035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79032,"mutability":"mutable","name":"_community","nameLocation":"3977:10:118","nodeType":"VariableDeclaration","scope":79052,"src":"3969:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79031,"name":"address","nodeType":"ElementaryTypeName","src":"3969:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79034,"mutability":"mutable","name":"_isValid","nameLocation":"3994:8:118","nodeType":"VariableDeclaration","scope":79052,"src":"3989:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79033,"name":"bool","nodeType":"ElementaryTypeName","src":"3989:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3968:35:118"},"returnParameters":{"id":79038,"nodeType":"ParameterList","parameters":[],"src":"4029:0:118"},"scope":79103,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":79065,"nodeType":"FunctionDefinition","src":"4153:144:118","nodes":[],"body":{"id":79064,"nodeType":"Block","src":"4240:57:118","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":79059,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78805,"src":"4257:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78793_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":79061,"indexExpression":{"id":79060,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79054,"src":"4273:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4257:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78793_storage","typeString":"struct CommunityInfo storage ref"}},"id":79062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4285:5:118","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":78792,"src":"4257:33:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79058,"id":79063,"nodeType":"Return","src":"4250:40:118"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"4162:20:118","parameters":{"id":79055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79054,"mutability":"mutable","name":"_community","nameLocation":"4191:10:118","nodeType":"VariableDeclaration","scope":79065,"src":"4183:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79053,"name":"address","nodeType":"ElementaryTypeName","src":"4183:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4182:20:118"},"returnParameters":{"id":79058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79057,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79065,"src":"4234:4:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79056,"name":"bool","nodeType":"ElementaryTypeName","src":"4234:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4233:6:118"},"scope":79103,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":79089,"nodeType":"FunctionDefinition","src":"4303:249:118","nodes":[],"body":{"id":79088,"nodeType":"Block","src":"4387:165:118","nodes":[],"statements":[{"condition":{"id":79076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4401:34:118","subExpression":{"expression":{"baseExpression":{"id":79072,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78805,"src":"4402:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78793_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":79074,"indexExpression":{"id":79073,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79067,"src":"4418:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4402:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78793_storage","typeString":"struct CommunityInfo storage ref"}},"id":79075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4430:5:118","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":78792,"src":"4402:33:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79082,"nodeType":"IfStatement","src":"4397:100:118","trueBody":{"id":79081,"nodeType":"Block","src":"4437:60:118","statements":[{"errorCall":{"arguments":[{"id":79078,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79067,"src":"4475:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79077,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78835,"src":"4458:16:118","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":79079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4458:28:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79080,"nodeType":"RevertStatement","src":"4451:35:118"}]}},{"expression":{"expression":{"baseExpression":{"id":79083,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78805,"src":"4514:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$78793_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":79085,"indexExpression":{"id":79084,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79067,"src":"4530:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4514:27:118","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$78793_storage","typeString":"struct CommunityInfo storage ref"}},"id":79086,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4542:3:118","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":78790,"src":"4514:31:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79071,"id":79087,"nodeType":"Return","src":"4507:38:118"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"4312:14:118","parameters":{"id":79068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79067,"mutability":"mutable","name":"_community","nameLocation":"4335:10:118","nodeType":"VariableDeclaration","scope":79089,"src":"4327:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79066,"name":"address","nodeType":"ElementaryTypeName","src":"4327:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4326:20:118"},"returnParameters":{"id":79071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79089,"src":"4378:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79069,"name":"uint256","nodeType":"ElementaryTypeName","src":"4378:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4377:9:118"},"scope":79103,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":79098,"nodeType":"FunctionDefinition","src":"4558:74:118","nodes":[],"body":{"id":79097,"nodeType":"Block","src":"4630:2:118","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":79095,"kind":"modifierInvocation","modifierName":{"id":79094,"name":"onlyOwner","nameLocations":["4620:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"4620:9:118"},"nodeType":"ModifierInvocation","src":"4620:9:118"}],"name":"_authorizeUpgrade","nameLocation":"4567:17:118","overrides":{"id":79093,"nodeType":"OverrideSpecifier","overrides":[],"src":"4611:8:118"},"parameters":{"id":79092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79098,"src":"4585:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79090,"name":"address","nodeType":"ElementaryTypeName","src":"4585:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4584:9:118"},"returnParameters":{"id":79096,"nodeType":"ParameterList","parameters":[],"src":"4630:0:118"},"scope":79103,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":79102,"nodeType":"VariableDeclaration","src":"4638:25:118","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"4658:5:118","scope":79103,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":79099,"name":"uint256","nodeType":"ElementaryTypeName","src":"4638:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79101,"length":{"hexValue":"3530","id":79100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4646:2:118","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"4638:11:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":78795,"name":"OwnableUpgradeable","nameLocations":["630:18:118"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"630:18:118"},"id":78796,"nodeType":"InheritanceSpecifier","src":"630:18:118"},{"baseName":{"id":78797,"name":"UUPSUpgradeable","nameLocations":["650:15:118"],"nodeType":"IdentifierPath","referencedDeclaration":55753,"src":"650:15:118"},"id":78798,"nodeType":"InheritanceSpecifier","src":"650:15:118"}],"canonicalName":"RegistryFactoryV0_0","contractDependencies":[55102],"contractKind":"contract","documentation":{"id":78794,"nodeType":"StructuredDocumentation","src":"552:45:118","text":"@custom:oz-upgrades-from RegistryFactory"},"fullyImplemented":true,"linearizedBaseContracts":[79103,55753,55406,55055,55065,52984,53777,53233],"name":"RegistryFactoryV0_0","nameLocation":"607:19:118","scope":79104,"usedErrors":[78835,78837]}],"license":"AGPL-3.0-only"},"id":118}
\ No newline at end of file
diff --git a/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json b/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json
index 94bea8b3c..aa1bbcd60 100644
--- a/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json
+++ b/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a080604052346100315730608052611ae390816100378239608051818181610aaf01528181610bb20152610e180152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b114620010c0575080630a992e0c146200104f5780633659cfe61462000def5780634f1ef2861462000b5d57806352d1902d1462000a9a5780635a2c8ace1462000a0c5780635cd8a76b146200097c578063715018a6146200092c57806377122d5614620009015780638279c7db14620008955780638a16135f14620004405780638da5cb5b1462000415578063987435be1462000357578063affed0e014620003f5578063b5b3ca2c1462000382578063b8bed9011462000357578063c0c53b8b14620001e7578063f2fde38b146200014f5763f5016b5e146200010457600080fd5b346200014a5760203660031901126200014a576001600160a01b0362000129620010e6565b166000526066602052602060ff600160406000200154166040519015158152f35b600080fd5b346200014a5760203660031901126200014a576200016c620010e6565b62000176620011cb565b6001600160a01b038116156200019357620001919062001224565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200014a5760603660031901126200014a5762000204620010e6565b602435906001600160a01b038083168084036200014a5760443591808316908184036200014a5760008051602062001a2e83398151915294620002c2602095620002bc6000549960ff8b60081c16159a8b809c62000349575b801562000330575b620002709062001475565b60ff1981166001176000558b6200031d575b50620002a160ff60005460081c166200029b81620014d9565b620014d9565b620002ac3362001224565b6000606555620002bc856200153a565b6200153a565b169160018060a01b031990838260675416176067558160685416176068556069541617606955604051908152a1620002f657005b61ff001960005416600055600080516020620019ce833981519152602060405160018152a1005b61ffff1916610101176000558b62000282565b50303b15801562000265575060ff811660011462000265565b50600160ff8216106200025d565b346200014a5760003660031901126200014a576067546040516001600160a01b039091168152602090f35b346200014a5760403660031901126200014a577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620003c2620010e6565b60243590620003d0620011cb565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b346200014a5760003660031901126200014a576020606554604051908152f35b346200014a5760003660031901126200014a576033546040516001600160a01b039091168152602090f35b346200014a576003196020368201126200014a576001600160401b03600435116200014a576101a081600435360301126200014a57604051906101a082016001600160401b038111838210176200086957604052620004a4600435600401620010fd565b8252600435602401356001600160a01b03811681036200014a576020830152600435604481013560408401526064810135606084015260848101356080840152620004f29060a401620010fd565b60a08301526200050760c460043501620010fd565b60c083015260043560e40135906001600160401b0382116200014a576040908260043501360301126200014a5760408051919082018083116001600160401b03909111176200086957604082810190526004803582019081013583526001600160401b03602490910135116200014a57620005929036906004803590910160248101350101620011aa565b602082015260e082015260043561010401356001600160a01b03811681036200014a5761010082015260043561012401356001600160401b0381116200014a57620005e5906004369181350101620011aa565b610120820152600435610144013580151590036200014a576004356101448101356101408301526001600160401b0361016490910135116200014a576200063836600480356101648101350101620011aa565b6101608201526200064f61018460043501620010fd565b61018082015260655460001981146200087f5760018101606555608082019081523060a083019081526068546069546040805163fa50f53d60e01b6020808301919091526024820183905287516001600160a01b03908116606484015281890151811660848401528389015160a4840152606089015160c4840152965160e48301529451861661010482015260c0870151861661012482015260e08701516101a0610144830152805161020483015290940151610224850191909152918416949293620007bb9385939092909116906200079090620007349061024486019062001433565b6101008401516001600160a01b0316610164860152610120840151858203606319908101610184880152916200076a9162001433565b9061014085015115156101a487015261016085015190868303016101c487015262001433565b61018092909201516001600160a01b03166101e4840152604483015203601f1981018352826200112e565b6040519161041080840192906001600160401b0384118585101762000869578493620007fa936040926200155e87398152816020820152019062001433565b03906000f080156200085d5760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b346200014a5760203660031901126200014a5760008051602062001a2e8339815191526020620008c4620010e6565b620008ce620011cb565b620008d9816200153a565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346200014a5760003660031901126200014a576069546040516001600160a01b039091168152602090f35b346200014a5760003660031901126200014a5762000949620011cb565b603380546001600160a01b031981169091556000906001600160a01b0316600080516020620019ee8339815191528280a3005b346200014a5760003660031901126200014a57620009cd60ff610102600054828160081c161580620009ff575b620009b49062001475565b61ffff1916178060005560081c166200029b81620014d9565b620009d83362001224565b61ff001960005416600055600080516020620019ce833981519152602060405160028152a1005b50600281841610620009a9565b346200014a5760403660031901126200014a5762000a29620010e6565b602435908115158092036200014a577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a67620011cb565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b346200014a5760003660031901126200014a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000af7576020604051600080516020620019ae8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b60403660031901126200014a5762000b74620010e6565b6024356001600160401b0381116200014a57366023820112156200014a5762000ba89036906024816004013591016200116e565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000be3308414156200125c565b62000c03600080516020620019ae833981519152938285541614620012ad565b62000c0d620011cb565b6000805160206200196e8339815191525460ff161562000c35575050506200019190620012fe565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000dba575b5062000cab5760405162461bcd60e51b815260048101869052602e602482015260008051602062001a8e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d745762000cbf84620012fe565b60008051602062001a0e833981519152600080a281511580159062000d6b575b62000ce657005b62000191926000806040519462000cfd8662001112565b6027865260008051602062001a6e83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d61573d62000d418162001152565b9062000d5160405192836200112e565b8152600081943d92013e62001390565b6060925062001390565b50600162000cdf565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001a4e8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000de7575b62000dd581836200112e565b810103126200014a5751908762000c5a565b503d62000dc9565b346200014a576020806003193601126200014a5762000e0d620010e6565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e47308214156200125c565b62000e67600080516020620019ae833981519152918583541614620012ad565b62000e71620011cb565b604051828101949091906001600160401b038611838710176200086957856040526000835260ff6000805160206200196e833981519152541660001462000ec25750505050620001919150620012fe565b8492939416906040516352d1902d60e01b81528581600481865afa600091816200101a575b5062000f385760405162461bcd60e51b815260048101879052602e602482015260008051602062001a8e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000fd45762000f4c82620012fe565b60008051602062001a0e833981519152600080a282511580159062000fcb575b62000f7357005b60008062000191956040519562000f8a8762001112565b6027875260008051602062001a6e83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d61573d62000d418162001152565b50600062000f6c565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001a4e8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001047575b6200103581836200112e565b810103126200014a5751908862000ee7565b503d62001029565b346200014a5760203660031901126200014a576001600160a01b0362001074620010e6565b1680600052606660205260ff6001604060002001541615620010a85760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b346200014a5760003660031901126200014a576068546001600160a01b03168152602090f35b600435906001600160a01b03821682036200014a57565b35906001600160a01b03821682036200014a57565b606081019081106001600160401b038211176200086957604052565b601f909101601f19168101906001600160401b038211908210176200086957604052565b6001600160401b0381116200086957601f01601f191660200190565b9291926200117c8262001152565b916200118c60405193846200112e565b8294818452818301116200014a578281602093846000960137010152565b9080601f830112156200014a57816020620011c8933591016200116e565b90565b6033546001600160a01b03163303620011e057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620019ee833981519152600080a3565b156200126457565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200198e83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620012b557565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200198e83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156200133557600080516020620019ae83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620013f55750815115620013a6575090565b3b15620013b05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620014095750805190602001fd5b60405162461bcd60e51b8152602060048201529081906200142f90602483019062001433565b0390fd5b919082519283825260005b84811062001460575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200143e565b156200147d57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b15620014e157565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156200154b57565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a26469706673582212209b3d2c76cf20cc2a1cad8ebf20a9346a351a6653fa8c256c34139a8ecda0dfb964736f6c63430008130033","sourceMap":"430:639:119:-:0;;;;;;;1088:4:66;1080:13;;430:639:119;;;;;;1080:13:66;430:639:119;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b114620010c0575080630a992e0c146200104f5780633659cfe61462000def5780634f1ef2861462000b5d57806352d1902d1462000a9a5780635a2c8ace1462000a0c5780635cd8a76b146200097c578063715018a6146200092c57806377122d5614620009015780638279c7db14620008955780638a16135f14620004405780638da5cb5b1462000415578063987435be1462000357578063affed0e014620003f5578063b5b3ca2c1462000382578063b8bed9011462000357578063c0c53b8b14620001e7578063f2fde38b146200014f5763f5016b5e146200010457600080fd5b346200014a5760203660031901126200014a576001600160a01b0362000129620010e6565b166000526066602052602060ff600160406000200154166040519015158152f35b600080fd5b346200014a5760203660031901126200014a576200016c620010e6565b62000176620011cb565b6001600160a01b038116156200019357620001919062001224565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200014a5760603660031901126200014a5762000204620010e6565b602435906001600160a01b038083168084036200014a5760443591808316908184036200014a5760008051602062001a2e83398151915294620002c2602095620002bc6000549960ff8b60081c16159a8b809c62000349575b801562000330575b620002709062001475565b60ff1981166001176000558b6200031d575b50620002a160ff60005460081c166200029b81620014d9565b620014d9565b620002ac3362001224565b6000606555620002bc856200153a565b6200153a565b169160018060a01b031990838260675416176067558160685416176068556069541617606955604051908152a1620002f657005b61ff001960005416600055600080516020620019ce833981519152602060405160018152a1005b61ffff1916610101176000558b62000282565b50303b15801562000265575060ff811660011462000265565b50600160ff8216106200025d565b346200014a5760003660031901126200014a576067546040516001600160a01b039091168152602090f35b346200014a5760403660031901126200014a577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620003c2620010e6565b60243590620003d0620011cb565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b346200014a5760003660031901126200014a576020606554604051908152f35b346200014a5760003660031901126200014a576033546040516001600160a01b039091168152602090f35b346200014a576003196020368201126200014a576001600160401b03600435116200014a576101a081600435360301126200014a57604051906101a082016001600160401b038111838210176200086957604052620004a4600435600401620010fd565b8252600435602401356001600160a01b03811681036200014a576020830152600435604481013560408401526064810135606084015260848101356080840152620004f29060a401620010fd565b60a08301526200050760c460043501620010fd565b60c083015260043560e40135906001600160401b0382116200014a576040908260043501360301126200014a5760408051919082018083116001600160401b03909111176200086957604082810190526004803582019081013583526001600160401b03602490910135116200014a57620005929036906004803590910160248101350101620011aa565b602082015260e082015260043561010401356001600160a01b03811681036200014a5761010082015260043561012401356001600160401b0381116200014a57620005e5906004369181350101620011aa565b610120820152600435610144013580151590036200014a576004356101448101356101408301526001600160401b0361016490910135116200014a576200063836600480356101648101350101620011aa565b6101608201526200064f61018460043501620010fd565b61018082015260655460001981146200087f5760018101606555608082019081523060a083019081526068546069546040805163fa50f53d60e01b6020808301919091526024820183905287516001600160a01b03908116606484015281890151811660848401528389015160a4840152606089015160c4840152965160e48301529451861661010482015260c0870151861661012482015260e08701516101a0610144830152805161020483015290940151610224850191909152918416949293620007bb9385939092909116906200079090620007349061024486019062001433565b6101008401516001600160a01b0316610164860152610120840151858203606319908101610184880152916200076a9162001433565b9061014085015115156101a487015261016085015190868303016101c487015262001433565b61018092909201516001600160a01b03166101e4840152604483015203601f1981018352826200112e565b6040519161041080840192906001600160401b0384118585101762000869578493620007fa936040926200155e87398152816020820152019062001433565b03906000f080156200085d5760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b346200014a5760203660031901126200014a5760008051602062001a2e8339815191526020620008c4620010e6565b620008ce620011cb565b620008d9816200153a565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346200014a5760003660031901126200014a576069546040516001600160a01b039091168152602090f35b346200014a5760003660031901126200014a5762000949620011cb565b603380546001600160a01b031981169091556000906001600160a01b0316600080516020620019ee8339815191528280a3005b346200014a5760003660031901126200014a57620009cd60ff610102600054828160081c161580620009ff575b620009b49062001475565b61ffff1916178060005560081c166200029b81620014d9565b620009d83362001224565b61ff001960005416600055600080516020620019ce833981519152602060405160028152a1005b50600281841610620009a9565b346200014a5760403660031901126200014a5762000a29620010e6565b602435908115158092036200014a577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a67620011cb565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b346200014a5760003660031901126200014a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000af7576020604051600080516020620019ae8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b60403660031901126200014a5762000b74620010e6565b6024356001600160401b0381116200014a57366023820112156200014a5762000ba89036906024816004013591016200116e565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000be3308414156200125c565b62000c03600080516020620019ae833981519152938285541614620012ad565b62000c0d620011cb565b6000805160206200196e8339815191525460ff161562000c35575050506200019190620012fe565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000dba575b5062000cab5760405162461bcd60e51b815260048101869052602e602482015260008051602062001a8e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d745762000cbf84620012fe565b60008051602062001a0e833981519152600080a281511580159062000d6b575b62000ce657005b62000191926000806040519462000cfd8662001112565b6027865260008051602062001a6e83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d61573d62000d418162001152565b9062000d5160405192836200112e565b8152600081943d92013e62001390565b6060925062001390565b50600162000cdf565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001a4e8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000de7575b62000dd581836200112e565b810103126200014a5751908762000c5a565b503d62000dc9565b346200014a576020806003193601126200014a5762000e0d620010e6565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e47308214156200125c565b62000e67600080516020620019ae833981519152918583541614620012ad565b62000e71620011cb565b604051828101949091906001600160401b038611838710176200086957856040526000835260ff6000805160206200196e833981519152541660001462000ec25750505050620001919150620012fe565b8492939416906040516352d1902d60e01b81528581600481865afa600091816200101a575b5062000f385760405162461bcd60e51b815260048101879052602e602482015260008051602062001a8e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000fd45762000f4c82620012fe565b60008051602062001a0e833981519152600080a282511580159062000fcb575b62000f7357005b60008062000191956040519562000f8a8762001112565b6027875260008051602062001a6e83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d61573d62000d418162001152565b50600062000f6c565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001a4e8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001047575b6200103581836200112e565b810103126200014a5751908862000ee7565b503d62001029565b346200014a5760203660031901126200014a576001600160a01b0362001074620010e6565b1680600052606660205260ff6001604060002001541615620010a85760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b346200014a5760003660031901126200014a576068546001600160a01b03168152602090f35b600435906001600160a01b03821682036200014a57565b35906001600160a01b03821682036200014a57565b606081019081106001600160401b038211176200086957604052565b601f909101601f19168101906001600160401b038211908210176200086957604052565b6001600160401b0381116200086957601f01601f191660200190565b9291926200117c8262001152565b916200118c60405193846200112e565b8294818452818301116200014a578281602093846000960137010152565b9080601f830112156200014a57816020620011c8933591016200116e565b90565b6033546001600160a01b03163303620011e057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620019ee833981519152600080a3565b156200126457565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200198e83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620012b557565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200198e83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156200133557600080516020620019ae83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620013f55750815115620013a6575090565b3b15620013b05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620014095750805190602001fd5b60405162461bcd60e51b8152602060048201529081906200142f90602483019062001433565b0390fd5b919082519283825260005b84811062001460575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200143e565b156200147d57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b15620014e157565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156200154b57565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a26469706673582212209b3d2c76cf20cc2a1cad8ebf20a9346a351a6653fa8c256c34139a8ecda0dfb964736f6c63430008130033","sourceMap":"430:639:119:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;-1:-1:-1;;;;;430:639:119;;:::i;:::-;;;;4257:15:118;430:639:119;;;689:66:62;430:639:119;;;;4257:33:118;689:66:62;;430:639:119;;;;;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;430:639:119;;2423:22:47;430:639:119;;2517:8:47;;;:::i;:::-;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;2247:24:118;430:639:119;;2191:26:118;430:639:119;;;689:66:62;430:639:119;;;689:66:62;3301:14:49;3347:34;;;;;;430:639:119;3346:108:49;;;;430:639:119;3325:201:49;;;:::i;:::-;-1:-1:-1;;430:639:119;;;;;;;3562:65:49;;430:639:119;;5366:69:49;689:66:62;430:639:119;;;;689:66:62;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;430:639:119;2104:9:118;430:639:119;2142:19:118;;;:::i;:::-;2191:26;:::i;2247:24::-;430:639:119;;;;;;;;;;;2282:40:118;430:639:119;;;2282:40:118;430:639:119;;2332:54:118;430:639:119;;;2332:54:118;430:639:119;2396:50:118;430:639:119;;;2396:50:118;430:639:119;;;;;;2461:35:118;3647:99:49;;430:639:119;3647:99:49;430:639:119;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;;;3721:14:49;430:639:119;3562:65:49;-1:-1:-1;;430:639:119;;;;;3562:65:49;;;3346:108;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;-1:-1:-1;689:66:62;;;430:639:119;3436:17:49;3346:108;;3347:34;689:66:62;430:639:119;689:66:62;;;3365:16:49;3347:34;;430:639:119;;;;;;-1:-1:-1;;430:639:119;;;;754:33:118;430:639:119;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;3883:43:118;430:639:119;;;:::i;:::-;;;1324:62:47;;;:::i;:::-;430:639:119;;;;;;;;;;3819:15:118;430:639:119;;;;;;;;;;;;;;;;3883:43:118;430:639:119;;;;;;;-1:-1:-1;;430:639:119;;;;;672:20:118;430:639:119;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;1534:6:47;430:639:119;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2762:7:118;430:639:119;-1:-1:-1;;430:639:119;;;;;;;2762:7:118;430:639:119;;;;;;;2813:4:118;430:639:119;;;;;;2888:25:118;430:639:119;3002:23:118;430:639:119;;;;-1:-1:-1;;;430:639:119;2928:98:118;;;;;;;430:639:119;2928:98:118;;430:639:119;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2951:41:118;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:98:118;;430:639:119;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;;-1:-1:-1;430:639:119;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;2928:98:118;-1:-1:-1;;2928:98:118;;;;;;:::i;:::-;430:639:119;;;2850:186:118;;;;;;-1:-1:-1;;;;;2850:186:118;;;;;;;;;;430:639:119;2850:186:118;430:639:119;2850:186:118;;;;430:639:119;;;;;;;;;;:::i;:::-;2850:186:118;;430:639:119;2850:186:118;;;;;430:639:119;;;;;;;;;;;3195:15:118;430:639:119;;;;;;3195:49:118;430:639:119;;;;;;;;;3266:44:118;430:639:119;;;;;;3266:44:118;430:639:119;;;;;;2850:186:118;430:639:119;;689:66:62;430:639:119;689:66:62;;;;;2850:186:118;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;:::i;:::-;1324:62:47;;:::i;:::-;3473:15:118;;;:::i;:::-;3499:36;430:639:119;;-1:-1:-1;;;;;;430:639:119;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;3550:31:118;430:639:119;;;;;;;-1:-1:-1;;430:639:119;;;;839:38:118;430:639:119;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;1324:62:47;;:::i;:::-;2779:6;430:639:119;;-1:-1:-1;;;;;;430:639:119;;;;;;;-1:-1:-1;;;;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;2827:40:47;430:639:119;;;;;;;-1:-1:-1;;430:639:119;;;;5366:69:49;689:66:62;430:639:119;;;;;;;689:66:62;4881:14:49;:40;;;430:639:119;4873:99:49;;;:::i;:::-;430:639:119;;;;;;;;;689:66:62;5366:69:49;;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;430:639:119;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;1031:1;430:639;;5091:20:49;430:639:119;4881:40:49;-1:-1:-1;1031:1:119;689:66:62;;;4899:22:49;4881:40;;430:639:119;;;;;;-1:-1:-1;;430:639:119;;;;;;:::i;:::-;;;;;;;;;;;;4098:42:118;1324:62:47;430:639:119;1324:62:47;;;:::i;:::-;430:639:119;;;;;;;;;;4039:15:118;430:639:119;;;;;;4039:33:118;430:639:119;;;;;;;;;;;;;;;;;;;;4098:42:118;430:639:119;;;;;;;-1:-1:-1;;430:639:119;;;;2089:6:66;-1:-1:-1;;;;;430:639:119;2080:4:66;2072:23;430:639:119;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;:::i;:::-;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;430:639:119;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;430:639:119;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:62;;;;;;2993:17;;;;;;:::i;2906:504::-;430:639:119;;;;689:66:62;;;;3046:52;;;;;;430:639:119;3046:52:62;;;;430:639:119;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;430:639:119;;-1:-1:-1;;;3262:56:62;;430:639:119;3262:56:62;;689:66;;;;430:639:119;689:66:62;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;430:639:119;1889:27:62;;430:639:119;;2208:15:62;;;:28;;;3042:291;2204:112;;430:639:119;2204:112:62;7307:69:78;430:639:119;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;7265:25:78;;;;;;;;;430:639:119;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:78;:::i;430:639:119:-;;;-1:-1:-1;7307:69:78;:::i;2208:28:62:-;;430:639:119;2208:28:62;;689:66;430:639:119;;-1:-1:-1;;;689:66:62;;430:639:119;689:66:62;;;;;;430:639:119;689:66:62;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;430:639:119;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;430:639:119;1654:6:66;430:639:119;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;430:639:119;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;430:639:119;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;689:66:62;-1:-1:-1;;;;;;;;;;;689:66:62;;2906:504;689:66;;;2993:17;;;;;;;;:::i;2906:504::-;430:639:119;;;;;;;;689:66:62;;;3046:52;;;;430:639:119;3046:52:62;;;;430:639:119;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;430:639:119;;-1:-1:-1;;;3262:56:62;;430:639:119;3262:56:62;;689:66;;;;;;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;430:639:119;1889:27:62;;430:639:119;;2208:15:62;;;:28;;;3042:291;2204:112;;430:639:119;2204:112:62;430:639:119;;7307:69:78;430:639:119;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;7265:25:78;;;;;;430:639:119;;;;;;;;:::i;2208:28:62:-;;430:639:119;2208:28:62;;689:66;430:639:119;;-1:-1:-1;;;689:66:62;;430:639:119;689:66:62;;;;;;;;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;430:639:119;;;;;;-1:-1:-1;;430:639:119;;;;-1:-1:-1;;;;;430:639:119;;:::i;:::-;;;;;4402:15:118;430:639:119;;689:66:62;430:639:119;;;;4402:33:118;689:66:62;;4401:34:118;4397:100;;430:639:119;;4402:15:118;430:639:119;;;;;;;;;;;;;4397:100:118;430:639:119;;;;4458:28:118;;;;;;430:639:119;4458:28:118;;430:639:119;4458:28:118;430:639:119;;;;;;-1:-1:-1;;430:639:119;;;;793:40:118;430:639:119;-1:-1:-1;;;;;430:639:119;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;:::o;:::-;;;-1:-1:-1;;;;;430:639:119;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;:::o;:::-;2928:98:118;430:639:119;;;-1:-1:-1;;430:639:119;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;430:639:119;;;;2928:98:118;430:639:119;-1:-1:-1;;430:639:119;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;430:639:119;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;1620:130:47:-;1534:6;430:639:119;-1:-1:-1;;;;;430:639:119;965:10:53;1683:23:47;430:639:119;;1620:130:47:o;430:639:119:-;;;;689:66:62;;;430:639:119;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;430:639:119;;-1:-1:-1;;;;;430:639:119;;;-1:-1:-1;;;;;;430:639:119;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;430:639:119:-;;;;:::o;:::-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;;;;1406:259:62;1702:19:78;;:23;430:639:119;;-1:-1:-1;;;;;;;;;;;430:639:119;;-1:-1:-1;;;;;;430:639:119;-1:-1:-1;;;;;430:639:119;;;;;;;;;1406:259:62:o;430:639:119:-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;7671:628:78;;;;7875:418;;;430:639:119;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;430:639:119;;8201:17:78;:::o;430:639:119:-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;;;;7875:418:78;430:639:119;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;430:639:119;;-1:-1:-1;;;9324:20:78;;430:639:119;9324:20:78;;;430:639:119;;;;;;;;;;;:::i;:::-;9324:20:78;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:98:118;;;430:639:119;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;1753:133:118;-1:-1:-1;;;;;430:639:119;1827:22:118;1823:56;;1753:133::o;1823:56::-;430:639:119;;-1:-1:-1;;;1858:21:118;;;;","linkReferences":{},"immutableReferences":{"55653":[{"start":2735,"length":32},{"start":2994,"length":32},{"start":3608,"length":32}]}},"methodIdentifiers":{"collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"8a16135f","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address,address,address)":"c0c53b8b","initializeV2()":"5cd8a76b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"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\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactoryV0_1.sol\":\"RegistryFactoryV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc\",\"dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x2620b666afbeb57cc5c4dac31078bc6ce69f570dcd75593c616d347c60498431\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a2d20a768e3ad648c1f76a5c2a3c81b6644722087271b4deb44d4906c1679848\",\"dweb:/ipfs/QmVMNgqGLK8JNVWU8H7YB1bAYKAf1NGdRznTG84Da6aoBK\"]},\"pkg/contracts/src/RegistryFactoryV0_1.sol\":{\"keccak256\":\"0x5fc8c15434f94ab95b81c7c949040227e18622b9e85b7310d29a9401de64ade4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2ffd3c987fd713d2dbada1132c49360334c124c7030b1d62907e2ed8e3d72175\",\"dweb:/ipfs/QmNUmsSfHucNJGFTzbLgCpR8qNEQYBup5nyxyuPaUb4XbW\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactoryV0_1.sol":"RegistryFactoryV0_1"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x4f60eb29ab220141fd3284be8cef839c83f7846d183faaaaf93bee1469dc3304","urls":["bzz-raw://033098372b2304405b9de5bcb65ac775baaa9fda8c514d74748a26386d5647bc","dweb:/ipfs/QmZyaBG5skQGjFrVmtqioQjeWBqRPHPM6eDsREg3cVRdUi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_0.sol":{"keccak256":"0x2620b666afbeb57cc5c4dac31078bc6ce69f570dcd75593c616d347c60498431","urls":["bzz-raw://a2d20a768e3ad648c1f76a5c2a3c81b6644722087271b4deb44d4906c1679848","dweb:/ipfs/QmVMNgqGLK8JNVWU8H7YB1bAYKAf1NGdRznTG84Da6aoBK"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_1.sol":{"keccak256":"0x5fc8c15434f94ab95b81c7c949040227e18622b9e85b7310d29a9401de64ade4","urls":["bzz-raw://2ffd3c987fd713d2dbada1132c49360334c124c7030b1d62907e2ed8e3d72175","dweb:/ipfs/QmNUmsSfHucNJGFTzbLgCpR8qNEQYBup5nyxyuPaUb4XbW"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":78740,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":78745,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)78733_storage)"},{"astId":78747,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":78749,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":78751,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"collateralVaultTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":79042,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"106","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)78733_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)78733_storage"},"t_struct(CommunityInfo)78733_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":78730,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":78732,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactoryV0_1.sol","id":79071,"exportedSymbols":{"CommunityInfo":[79056],"OwnableUpgradeable":[52984],"RegistryCommunityV0_0":[78716],"RegistryFactoryV0_0":[79043],"RegistryFactoryV0_1":[79070]},"nodeType":"SourceUnit","src":"42:1028:119","nodes":[{"id":79045,"nodeType":"PragmaDirective","src":"42:24:119","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79047,"nodeType":"ImportDirective","src":"68:71:119","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"../src/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":79071,"sourceUnit":78717,"symbolAliases":[{"foreign":{"id":79046,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78716,"src":"76:21:119","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79049,"nodeType":"ImportDirective","src":"141:67:119","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactoryV0_0.sol","file":"../src/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":79071,"sourceUnit":79044,"symbolAliases":[{"foreign":{"id":79048,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79043,"src":"149:19:119","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79051,"nodeType":"ImportDirective","src":"210:110:119","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79071,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":79050,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"218:18:119","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79056,"nodeType":"StructDefinition","src":"322:57:119","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":79053,"mutability":"mutable","name":"fee","nameLocation":"357:3:119","nodeType":"VariableDeclaration","scope":79056,"src":"349:11:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79052,"name":"uint256","nodeType":"ElementaryTypeName","src":"349:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79055,"mutability":"mutable","name":"valid","nameLocation":"371:5:119","nodeType":"VariableDeclaration","scope":79056,"src":"366:10:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79054,"name":"bool","nodeType":"ElementaryTypeName","src":"366:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"329:13:119","scope":79071,"visibility":"public"},{"id":79070,"nodeType":"ContractDefinition","src":"430:639:119","nodes":[{"id":79069,"nodeType":"FunctionDefinition","src":"986:81:119","nodes":[],"body":{"id":79068,"nodeType":"Block","src":"1034:33:119","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":79065,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"1044:14:119","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":79066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1044:16:119","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79067,"nodeType":"ExpressionStatement","src":"1044:16:119"}]},"functionSelector":"5cd8a76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":79062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1031:1:119","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":79063,"kind":"modifierInvocation","modifierName":{"id":79061,"name":"reinitializer","nameLocations":["1017:13:119"],"nodeType":"IdentifierPath","referencedDeclaration":53168,"src":"1017:13:119"},"nodeType":"ModifierInvocation","src":"1017:16:119"}],"name":"initializeV2","nameLocation":"995:12:119","parameters":{"id":79060,"nodeType":"ParameterList","parameters":[],"src":"1007:2:119"},"returnParameters":{"id":79064,"nodeType":"ParameterList","parameters":[],"src":"1034:0:119"},"scope":79070,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":79058,"name":"RegistryFactoryV0_0","nameLocations":["462:19:119"],"nodeType":"IdentifierPath","referencedDeclaration":79043,"src":"462:19:119"},"id":79059,"nodeType":"InheritanceSpecifier","src":"462:19:119"}],"canonicalName":"RegistryFactoryV0_1","contractDependencies":[55102],"contractKind":"contract","documentation":{"id":79057,"nodeType":"StructuredDocumentation","src":"380:49:119","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[79070,79043,55753,55406,55055,55065,52984,53777,53233],"name":"RegistryFactoryV0_1","nameLocation":"439:19:119","scope":79071,"usedErrors":[78775,78777]}],"license":"AGPL-3.0-only"},"id":119}
\ No newline at end of file
+{"abi":[{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a080604052346100315730608052611ae390816100378239608051818181610aaf01528181610bb20152610e180152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b114620010c0575080630a992e0c146200104f5780633659cfe61462000def5780634f1ef2861462000b5d57806352d1902d1462000a9a5780635a2c8ace1462000a0c5780635cd8a76b146200097c578063715018a6146200092c57806377122d5614620009015780638279c7db14620008955780638a16135f14620004405780638da5cb5b1462000415578063987435be1462000357578063affed0e014620003f5578063b5b3ca2c1462000382578063b8bed9011462000357578063c0c53b8b14620001e7578063f2fde38b146200014f5763f5016b5e146200010457600080fd5b346200014a5760203660031901126200014a576001600160a01b0362000129620010e6565b166000526066602052602060ff600160406000200154166040519015158152f35b600080fd5b346200014a5760203660031901126200014a576200016c620010e6565b62000176620011cb565b6001600160a01b038116156200019357620001919062001224565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200014a5760603660031901126200014a5762000204620010e6565b602435906001600160a01b038083168084036200014a5760443591808316908184036200014a5760008051602062001a2e83398151915294620002c2602095620002bc6000549960ff8b60081c16159a8b809c62000349575b801562000330575b620002709062001475565b60ff1981166001176000558b6200031d575b50620002a160ff60005460081c166200029b81620014d9565b620014d9565b620002ac3362001224565b6000606555620002bc856200153a565b6200153a565b169160018060a01b031990838260675416176067558160685416176068556069541617606955604051908152a1620002f657005b61ff001960005416600055600080516020620019ce833981519152602060405160018152a1005b61ffff1916610101176000558b62000282565b50303b15801562000265575060ff811660011462000265565b50600160ff8216106200025d565b346200014a5760003660031901126200014a576067546040516001600160a01b039091168152602090f35b346200014a5760403660031901126200014a577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620003c2620010e6565b60243590620003d0620011cb565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b346200014a5760003660031901126200014a576020606554604051908152f35b346200014a5760003660031901126200014a576033546040516001600160a01b039091168152602090f35b346200014a576003196020368201126200014a576001600160401b03600435116200014a576101a081600435360301126200014a57604051906101a082016001600160401b038111838210176200086957604052620004a4600435600401620010fd565b8252600435602401356001600160a01b03811681036200014a576020830152600435604481013560408401526064810135606084015260848101356080840152620004f29060a401620010fd565b60a08301526200050760c460043501620010fd565b60c083015260043560e40135906001600160401b0382116200014a576040908260043501360301126200014a5760408051919082018083116001600160401b03909111176200086957604082810190526004803582019081013583526001600160401b03602490910135116200014a57620005929036906004803590910160248101350101620011aa565b602082015260e082015260043561010401356001600160a01b03811681036200014a5761010082015260043561012401356001600160401b0381116200014a57620005e5906004369181350101620011aa565b610120820152600435610144013580151590036200014a576004356101448101356101408301526001600160401b0361016490910135116200014a576200063836600480356101648101350101620011aa565b6101608201526200064f61018460043501620010fd565b61018082015260655460001981146200087f5760018101606555608082019081523060a083019081526068546069546040805163fa50f53d60e01b6020808301919091526024820183905287516001600160a01b03908116606484015281890151811660848401528389015160a4840152606089015160c4840152965160e48301529451861661010482015260c0870151861661012482015260e08701516101a0610144830152805161020483015290940151610224850191909152918416949293620007bb9385939092909116906200079090620007349061024486019062001433565b6101008401516001600160a01b0316610164860152610120840151858203606319908101610184880152916200076a9162001433565b9061014085015115156101a487015261016085015190868303016101c487015262001433565b61018092909201516001600160a01b03166101e4840152604483015203601f1981018352826200112e565b6040519161041080840192906001600160401b0384118585101762000869578493620007fa936040926200155e87398152816020820152019062001433565b03906000f080156200085d5760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b346200014a5760203660031901126200014a5760008051602062001a2e8339815191526020620008c4620010e6565b620008ce620011cb565b620008d9816200153a565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346200014a5760003660031901126200014a576069546040516001600160a01b039091168152602090f35b346200014a5760003660031901126200014a5762000949620011cb565b603380546001600160a01b031981169091556000906001600160a01b0316600080516020620019ee8339815191528280a3005b346200014a5760003660031901126200014a57620009cd60ff610102600054828160081c161580620009ff575b620009b49062001475565b61ffff1916178060005560081c166200029b81620014d9565b620009d83362001224565b61ff001960005416600055600080516020620019ce833981519152602060405160028152a1005b50600281841610620009a9565b346200014a5760403660031901126200014a5762000a29620010e6565b602435908115158092036200014a577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a67620011cb565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b346200014a5760003660031901126200014a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000af7576020604051600080516020620019ae8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b60403660031901126200014a5762000b74620010e6565b6024356001600160401b0381116200014a57366023820112156200014a5762000ba89036906024816004013591016200116e565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000be3308414156200125c565b62000c03600080516020620019ae833981519152938285541614620012ad565b62000c0d620011cb565b6000805160206200196e8339815191525460ff161562000c35575050506200019190620012fe565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000dba575b5062000cab5760405162461bcd60e51b815260048101869052602e602482015260008051602062001a8e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d745762000cbf84620012fe565b60008051602062001a0e833981519152600080a281511580159062000d6b575b62000ce657005b62000191926000806040519462000cfd8662001112565b6027865260008051602062001a6e83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d61573d62000d418162001152565b9062000d5160405192836200112e565b8152600081943d92013e62001390565b6060925062001390565b50600162000cdf565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001a4e8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000de7575b62000dd581836200112e565b810103126200014a5751908762000c5a565b503d62000dc9565b346200014a576020806003193601126200014a5762000e0d620010e6565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e47308214156200125c565b62000e67600080516020620019ae833981519152918583541614620012ad565b62000e71620011cb565b604051828101949091906001600160401b038611838710176200086957856040526000835260ff6000805160206200196e833981519152541660001462000ec25750505050620001919150620012fe565b8492939416906040516352d1902d60e01b81528581600481865afa600091816200101a575b5062000f385760405162461bcd60e51b815260048101879052602e602482015260008051602062001a8e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000fd45762000f4c82620012fe565b60008051602062001a0e833981519152600080a282511580159062000fcb575b62000f7357005b60008062000191956040519562000f8a8762001112565b6027875260008051602062001a6e83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d61573d62000d418162001152565b50600062000f6c565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001a4e8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001047575b6200103581836200112e565b810103126200014a5751908862000ee7565b503d62001029565b346200014a5760203660031901126200014a576001600160a01b0362001074620010e6565b1680600052606660205260ff6001604060002001541615620010a85760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b346200014a5760003660031901126200014a576068546001600160a01b03168152602090f35b600435906001600160a01b03821682036200014a57565b35906001600160a01b03821682036200014a57565b606081019081106001600160401b038211176200086957604052565b601f909101601f19168101906001600160401b038211908210176200086957604052565b6001600160401b0381116200086957601f01601f191660200190565b9291926200117c8262001152565b916200118c60405193846200112e565b8294818452818301116200014a578281602093846000960137010152565b9080601f830112156200014a57816020620011c8933591016200116e565b90565b6033546001600160a01b03163303620011e057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620019ee833981519152600080a3565b156200126457565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200198e83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620012b557565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200198e83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156200133557600080516020620019ae83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620013f55750815115620013a6575090565b3b15620013b05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620014095750805190602001fd5b60405162461bcd60e51b8152602060048201529081906200142f90602483019062001433565b0390fd5b919082519283825260005b84811062001460575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200143e565b156200147d57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b15620014e157565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156200154b57565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220bd02083f1eefe03574f312a3ba1c3ed2140a06407378fe5c4ae3a9f36933687464736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a264697066735822122058353e07675835d034bef787ae4b6899c7105ae44938bc6ee060c95a20e98e6c64736f6c63430008130033","sourceMap":"430:639:119:-:0;;;;;;;1088:4:66;1080:13;;430:639:119;;;;;;1080:13:66;430:639:119;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b114620010c0575080630a992e0c146200104f5780633659cfe61462000def5780634f1ef2861462000b5d57806352d1902d1462000a9a5780635a2c8ace1462000a0c5780635cd8a76b146200097c578063715018a6146200092c57806377122d5614620009015780638279c7db14620008955780638a16135f14620004405780638da5cb5b1462000415578063987435be1462000357578063affed0e014620003f5578063b5b3ca2c1462000382578063b8bed9011462000357578063c0c53b8b14620001e7578063f2fde38b146200014f5763f5016b5e146200010457600080fd5b346200014a5760203660031901126200014a576001600160a01b0362000129620010e6565b166000526066602052602060ff600160406000200154166040519015158152f35b600080fd5b346200014a5760203660031901126200014a576200016c620010e6565b62000176620011cb565b6001600160a01b038116156200019357620001919062001224565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200014a5760603660031901126200014a5762000204620010e6565b602435906001600160a01b038083168084036200014a5760443591808316908184036200014a5760008051602062001a2e83398151915294620002c2602095620002bc6000549960ff8b60081c16159a8b809c62000349575b801562000330575b620002709062001475565b60ff1981166001176000558b6200031d575b50620002a160ff60005460081c166200029b81620014d9565b620014d9565b620002ac3362001224565b6000606555620002bc856200153a565b6200153a565b169160018060a01b031990838260675416176067558160685416176068556069541617606955604051908152a1620002f657005b61ff001960005416600055600080516020620019ce833981519152602060405160018152a1005b61ffff1916610101176000558b62000282565b50303b15801562000265575060ff811660011462000265565b50600160ff8216106200025d565b346200014a5760003660031901126200014a576067546040516001600160a01b039091168152602090f35b346200014a5760403660031901126200014a577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620003c2620010e6565b60243590620003d0620011cb565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b346200014a5760003660031901126200014a576020606554604051908152f35b346200014a5760003660031901126200014a576033546040516001600160a01b039091168152602090f35b346200014a576003196020368201126200014a576001600160401b03600435116200014a576101a081600435360301126200014a57604051906101a082016001600160401b038111838210176200086957604052620004a4600435600401620010fd565b8252600435602401356001600160a01b03811681036200014a576020830152600435604481013560408401526064810135606084015260848101356080840152620004f29060a401620010fd565b60a08301526200050760c460043501620010fd565b60c083015260043560e40135906001600160401b0382116200014a576040908260043501360301126200014a5760408051919082018083116001600160401b03909111176200086957604082810190526004803582019081013583526001600160401b03602490910135116200014a57620005929036906004803590910160248101350101620011aa565b602082015260e082015260043561010401356001600160a01b03811681036200014a5761010082015260043561012401356001600160401b0381116200014a57620005e5906004369181350101620011aa565b610120820152600435610144013580151590036200014a576004356101448101356101408301526001600160401b0361016490910135116200014a576200063836600480356101648101350101620011aa565b6101608201526200064f61018460043501620010fd565b61018082015260655460001981146200087f5760018101606555608082019081523060a083019081526068546069546040805163fa50f53d60e01b6020808301919091526024820183905287516001600160a01b03908116606484015281890151811660848401528389015160a4840152606089015160c4840152965160e48301529451861661010482015260c0870151861661012482015260e08701516101a0610144830152805161020483015290940151610224850191909152918416949293620007bb9385939092909116906200079090620007349061024486019062001433565b6101008401516001600160a01b0316610164860152610120840151858203606319908101610184880152916200076a9162001433565b9061014085015115156101a487015261016085015190868303016101c487015262001433565b61018092909201516001600160a01b03166101e4840152604483015203601f1981018352826200112e565b6040519161041080840192906001600160401b0384118585101762000869578493620007fa936040926200155e87398152816020820152019062001433565b03906000f080156200085d5760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b346200014a5760203660031901126200014a5760008051602062001a2e8339815191526020620008c4620010e6565b620008ce620011cb565b620008d9816200153a565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346200014a5760003660031901126200014a576069546040516001600160a01b039091168152602090f35b346200014a5760003660031901126200014a5762000949620011cb565b603380546001600160a01b031981169091556000906001600160a01b0316600080516020620019ee8339815191528280a3005b346200014a5760003660031901126200014a57620009cd60ff610102600054828160081c161580620009ff575b620009b49062001475565b61ffff1916178060005560081c166200029b81620014d9565b620009d83362001224565b61ff001960005416600055600080516020620019ce833981519152602060405160028152a1005b50600281841610620009a9565b346200014a5760403660031901126200014a5762000a29620010e6565b602435908115158092036200014a577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a67620011cb565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b346200014a5760003660031901126200014a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000af7576020604051600080516020620019ae8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b60403660031901126200014a5762000b74620010e6565b6024356001600160401b0381116200014a57366023820112156200014a5762000ba89036906024816004013591016200116e565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000be3308414156200125c565b62000c03600080516020620019ae833981519152938285541614620012ad565b62000c0d620011cb565b6000805160206200196e8339815191525460ff161562000c35575050506200019190620012fe565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000dba575b5062000cab5760405162461bcd60e51b815260048101869052602e602482015260008051602062001a8e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d745762000cbf84620012fe565b60008051602062001a0e833981519152600080a281511580159062000d6b575b62000ce657005b62000191926000806040519462000cfd8662001112565b6027865260008051602062001a6e83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d61573d62000d418162001152565b9062000d5160405192836200112e565b8152600081943d92013e62001390565b6060925062001390565b50600162000cdf565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001a4e8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000de7575b62000dd581836200112e565b810103126200014a5751908762000c5a565b503d62000dc9565b346200014a576020806003193601126200014a5762000e0d620010e6565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e47308214156200125c565b62000e67600080516020620019ae833981519152918583541614620012ad565b62000e71620011cb565b604051828101949091906001600160401b038611838710176200086957856040526000835260ff6000805160206200196e833981519152541660001462000ec25750505050620001919150620012fe565b8492939416906040516352d1902d60e01b81528581600481865afa600091816200101a575b5062000f385760405162461bcd60e51b815260048101879052602e602482015260008051602062001a8e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000fd45762000f4c82620012fe565b60008051602062001a0e833981519152600080a282511580159062000fcb575b62000f7357005b60008062000191956040519562000f8a8762001112565b6027875260008051602062001a6e83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d61573d62000d418162001152565b50600062000f6c565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001a4e8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001047575b6200103581836200112e565b810103126200014a5751908862000ee7565b503d62001029565b346200014a5760203660031901126200014a576001600160a01b0362001074620010e6565b1680600052606660205260ff6001604060002001541615620010a85760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b346200014a5760003660031901126200014a576068546001600160a01b03168152602090f35b600435906001600160a01b03821682036200014a57565b35906001600160a01b03821682036200014a57565b606081019081106001600160401b038211176200086957604052565b601f909101601f19168101906001600160401b038211908210176200086957604052565b6001600160401b0381116200086957601f01601f191660200190565b9291926200117c8262001152565b916200118c60405193846200112e565b8294818452818301116200014a578281602093846000960137010152565b9080601f830112156200014a57816020620011c8933591016200116e565b90565b6033546001600160a01b03163303620011e057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620019ee833981519152600080a3565b156200126457565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200198e83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620012b557565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200198e83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156200133557600080516020620019ae83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620013f55750815115620013a6575090565b3b15620013b05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620014095750805190602001fd5b60405162461bcd60e51b8152602060048201529081906200142f90602483019062001433565b0390fd5b919082519283825260005b84811062001460575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200143e565b156200147d57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b15620014e157565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156200154b57565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220bd02083f1eefe03574f312a3ba1c3ed2140a06407378fe5c4ae3a9f36933687464736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a264697066735822122058353e07675835d034bef787ae4b6899c7105ae44938bc6ee060c95a20e98e6c64736f6c63430008130033","sourceMap":"430:639:119:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;-1:-1:-1;;;;;430:639:119;;:::i;:::-;;;;4257:15:118;430:639:119;;;689:66:62;430:639:119;;;;4257:33:118;689:66:62;;430:639:119;;;;;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;430:639:119;;2423:22:47;430:639:119;;2517:8:47;;;:::i;:::-;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;2247:24:118;430:639:119;;2191:26:118;430:639:119;;;689:66:62;430:639:119;;;689:66:62;3301:14:49;3347:34;;;;;;430:639:119;3346:108:49;;;;430:639:119;3325:201:49;;;:::i;:::-;-1:-1:-1;;430:639:119;;;;;;;3562:65:49;;430:639:119;;5366:69:49;689:66:62;430:639:119;;;;689:66:62;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;430:639:119;2104:9:118;430:639:119;2142:19:118;;;:::i;:::-;2191:26;:::i;2247:24::-;430:639:119;;;;;;;;;;;2282:40:118;430:639:119;;;2282:40:118;430:639:119;;2332:54:118;430:639:119;;;2332:54:118;430:639:119;2396:50:118;430:639:119;;;2396:50:118;430:639:119;;;;;;2461:35:118;3647:99:49;;430:639:119;3647:99:49;430:639:119;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;;;3721:14:49;430:639:119;3562:65:49;-1:-1:-1;;430:639:119;;;;;3562:65:49;;;3346:108;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;-1:-1:-1;689:66:62;;;430:639:119;3436:17:49;3346:108;;3347:34;689:66:62;430:639:119;689:66:62;;;3365:16:49;3347:34;;430:639:119;;;;;;-1:-1:-1;;430:639:119;;;;754:33:118;430:639:119;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;3883:43:118;430:639:119;;;:::i;:::-;;;1324:62:47;;;:::i;:::-;430:639:119;;;;;;;;;;3819:15:118;430:639:119;;;;;;;;;;;;;;;;3883:43:118;430:639:119;;;;;;;-1:-1:-1;;430:639:119;;;;;672:20:118;430:639:119;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;1534:6:47;430:639:119;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2762:7:118;430:639:119;-1:-1:-1;;430:639:119;;;;;;;2762:7:118;430:639:119;;;;;;;2813:4:118;430:639:119;;;;;;2888:25:118;430:639:119;3002:23:118;430:639:119;;;;-1:-1:-1;;;430:639:119;2928:98:118;;;;;;;430:639:119;2928:98:118;;430:639:119;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2951:41:118;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:98:118;;430:639:119;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;;-1:-1:-1;430:639:119;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;2928:98:118;-1:-1:-1;;2928:98:118;;;;;;:::i;:::-;430:639:119;;;2850:186:118;;;;;;-1:-1:-1;;;;;2850:186:118;;;;;;;;;;430:639:119;2850:186:118;430:639:119;2850:186:118;;;;430:639:119;;;;;;;;;;:::i;:::-;2850:186:118;;430:639:119;2850:186:118;;;;;430:639:119;;;;;;;;;;;3195:15:118;430:639:119;;;;;;3195:49:118;430:639:119;;;;;;;;;3266:44:118;430:639:119;;;;;;3266:44:118;430:639:119;;;;;;2850:186:118;430:639:119;;689:66:62;430:639:119;689:66:62;;;;;2850:186:118;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;:::i;:::-;1324:62:47;;:::i;:::-;3473:15:118;;;:::i;:::-;3499:36;430:639:119;;-1:-1:-1;;;;;;430:639:119;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;3550:31:118;430:639:119;;;;;;;-1:-1:-1;;430:639:119;;;;839:38:118;430:639:119;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;-1:-1:-1;;430:639:119;;;;1324:62:47;;:::i;:::-;2779:6;430:639:119;;-1:-1:-1;;;;;;430:639:119;;;;;;;-1:-1:-1;;;;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;2827:40:47;430:639:119;;;;;;;-1:-1:-1;;430:639:119;;;;5366:69:49;689:66:62;430:639:119;;;;;;;689:66:62;4881:14:49;:40;;;430:639:119;4873:99:49;;;:::i;:::-;430:639:119;;;;;;;;;689:66:62;5366:69:49;;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;430:639:119;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;1031:1;430:639;;5091:20:49;430:639:119;4881:40:49;-1:-1:-1;1031:1:119;689:66:62;;;4899:22:49;4881:40;;430:639:119;;;;;;-1:-1:-1;;430:639:119;;;;;;:::i;:::-;;;;;;;;;;;;4098:42:118;1324:62:47;430:639:119;1324:62:47;;;:::i;:::-;430:639:119;;;;;;;;;;4039:15:118;430:639:119;;;;;;4039:33:118;430:639:119;;;;;;;;;;;;;;;;;;;;4098:42:118;430:639:119;;;;;;;-1:-1:-1;;430:639:119;;;;2089:6:66;-1:-1:-1;;;;;430:639:119;2080:4:66;2072:23;430:639:119;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;-1:-1:-1;;430:639:119;;;;;;:::i;:::-;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;430:639:119;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;430:639:119;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:62;;;;;;2993:17;;;;;;:::i;2906:504::-;430:639:119;;;;689:66:62;;;;3046:52;;;;;;430:639:119;3046:52:62;;;;430:639:119;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;430:639:119;;-1:-1:-1;;;3262:56:62;;430:639:119;3262:56:62;;689:66;;;;430:639:119;689:66:62;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;430:639:119;1889:27:62;;430:639:119;;2208:15:62;;;:28;;;3042:291;2204:112;;430:639:119;2204:112:62;7307:69:78;430:639:119;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;7265:25:78;;;;;;;;;430:639:119;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:78;:::i;430:639:119:-;;;-1:-1:-1;7307:69:78;:::i;2208:28:62:-;;430:639:119;2208:28:62;;689:66;430:639:119;;-1:-1:-1;;;689:66:62;;430:639:119;689:66:62;;;;;;430:639:119;689:66:62;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;430:639:119;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;430:639:119;1654:6:66;430:639:119;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;430:639:119;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;430:639:119;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;;;;;689:66:62;-1:-1:-1;;;;;;;;;;;689:66:62;;2906:504;689:66;;;2993:17;;;;;;;;:::i;2906:504::-;430:639:119;;;;;;;;689:66:62;;;3046:52;;;;430:639:119;3046:52:62;;;;430:639:119;;3046:52:62;;;2906:504;-1:-1:-1;3042:291:62;;430:639:119;;-1:-1:-1;;;3262:56:62;;430:639:119;3262:56:62;;689:66;;;;;;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;430:639:119;1889:27:62;;430:639:119;;2208:15:62;;;:28;;;3042:291;2204:112;;430:639:119;2204:112:62;430:639:119;;7307:69:78;430:639:119;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;7265:25:78;;;;;;430:639:119;;;;;;;;:::i;2208:28:62:-;;430:639:119;2208:28:62;;689:66;430:639:119;;-1:-1:-1;;;689:66:62;;430:639:119;689:66:62;;;;;;;;;430:639:119;-1:-1:-1;;;;;;;;;;;430:639:119;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;430:639:119;;;;;;-1:-1:-1;;430:639:119;;;;-1:-1:-1;;;;;430:639:119;;:::i;:::-;;;;;4402:15:118;430:639:119;;689:66:62;430:639:119;;;;4402:33:118;689:66:62;;4401:34:118;4397:100;;430:639:119;;4402:15:118;430:639:119;;;;;;;;;;;;;4397:100:118;430:639:119;;;;4458:28:118;;;;;;430:639:119;4458:28:118;;430:639:119;4458:28:118;430:639:119;;;;;;-1:-1:-1;;430:639:119;;;;793:40:118;430:639:119;-1:-1:-1;;;;;430:639:119;;;;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;:::o;:::-;;;-1:-1:-1;;;;;430:639:119;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;430:639:119;;;;;;;:::o;:::-;2928:98:118;430:639:119;;;-1:-1:-1;;430:639:119;;;;-1:-1:-1;;;;;430:639:119;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;430:639:119;;;;2928:98:118;430:639:119;-1:-1:-1;;430:639:119;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;430:639:119;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;1620:130:47:-;1534:6;430:639:119;-1:-1:-1;;;;;430:639:119;965:10:53;1683:23:47;430:639:119;;1620:130:47:o;430:639:119:-;;;;689:66:62;;;430:639:119;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;430:639:119;;-1:-1:-1;;;;;430:639:119;;;-1:-1:-1;;;;;;430:639:119;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;430:639:119:-;;;;:::o;:::-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;430:639:119;;;;-1:-1:-1;;;430:639:119;;;;;;;1406:259:62;1702:19:78;;:23;430:639:119;;-1:-1:-1;;;;;;;;;;;430:639:119;;-1:-1:-1;;;;;;430:639:119;-1:-1:-1;;;;;430:639:119;;;;;;;;;1406:259:62:o;430:639:119:-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;7671:628:78;;;;7875:418;;;430:639:119;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;430:639:119;;8201:17:78;:::o;430:639:119:-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;;;;7875:418:78;430:639:119;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;430:639:119;;-1:-1:-1;;;9324:20:78;;430:639:119;9324:20:78;;;430:639:119;;;;;;;;;;;:::i;:::-;9324:20:78;;;430:639:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:98:118;;;430:639:119;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;430:639:119;;;;;;;;;;;;;;;;;-1:-1:-1;;;430:639:119;;;;;;;1753:133:118;-1:-1:-1;;;;;430:639:119;1827:22:118;1823:56;;1753:133::o;1823:56::-;430:639:119;;-1:-1:-1;;;1858:21:118;;;;","linkReferences":{},"immutableReferences":{"55653":[{"start":2735,"length":32},{"start":2994,"length":32},{"start":3608,"length":32}]}},"methodIdentifiers":{"collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"8a16135f","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address,address,address)":"c0c53b8b","initializeV2()":"5cd8a76b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"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\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactoryV0_1.sol\":\"RegistryFactoryV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e\",\"dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e\",\"dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd\",\"dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S\"]},\"pkg/contracts/src/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x2620b666afbeb57cc5c4dac31078bc6ce69f570dcd75593c616d347c60498431\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a2d20a768e3ad648c1f76a5c2a3c81b6644722087271b4deb44d4906c1679848\",\"dweb:/ipfs/QmVMNgqGLK8JNVWU8H7YB1bAYKAf1NGdRznTG84Da6aoBK\"]},\"pkg/contracts/src/RegistryFactoryV0_1.sol\":{\"keccak256\":\"0x5fc8c15434f94ab95b81c7c949040227e18622b9e85b7310d29a9401de64ade4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2ffd3c987fd713d2dbada1132c49360334c124c7030b1d62907e2ed8e3d72175\",\"dweb:/ipfs/QmNUmsSfHucNJGFTzbLgCpR8qNEQYBup5nyxyuPaUb4XbW\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactoryV0_1.sol":"RegistryFactoryV0_1"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x7e554d762de15f5b88a742160d9c9d5cab809cdbd7538d92f7557f77507836ab","urls":["bzz-raw://5a90b7835777ed59c837e9ae9cb680c98f71fffe942812bf7788b449a5d6f57e","dweb:/ipfs/QmWRWUysi99oRHXBLRUaABRVmg433G9Fapz5tHva39L237"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0xbbf40c8206430fce9f132dd4a187fa0e91ab3fdcc61f5ddf95fdf0be8815a2f0","urls":["bzz-raw://09821482679960743a5ac89f80391b95309efdeb78b607654109b0535c596a4e","dweb:/ipfs/QmZUo1oeJgqvKfUBuB975Lgk1v1svasQynodfDy7Y6NoZq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x2da0d04bff8cb18d122490f8b32a195c456a4ce49e971aa2bf4113ada6a2c716","urls":["bzz-raw://f562e46595db77e1e1d6d5e3ce2555c4c43358410354d45f1a44a54cc8d067fd","dweb:/ipfs/QmWA9tfuRqhTSjtX7CKYS1XhzTwgFWnpJobohpYWU4zY9S"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_0.sol":{"keccak256":"0x2620b666afbeb57cc5c4dac31078bc6ce69f570dcd75593c616d347c60498431","urls":["bzz-raw://a2d20a768e3ad648c1f76a5c2a3c81b6644722087271b4deb44d4906c1679848","dweb:/ipfs/QmVMNgqGLK8JNVWU8H7YB1bAYKAf1NGdRznTG84Da6aoBK"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_1.sol":{"keccak256":"0x5fc8c15434f94ab95b81c7c949040227e18622b9e85b7310d29a9401de64ade4","urls":["bzz-raw://2ffd3c987fd713d2dbada1132c49360334c124c7030b1d62907e2ed8e3d72175","dweb:/ipfs/QmNUmsSfHucNJGFTzbLgCpR8qNEQYBup5nyxyuPaUb4XbW"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":78800,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":78805,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)78793_storage)"},{"astId":78807,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":78809,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":78811,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"collateralVaultTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":79102,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"106","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)78793_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)78793_storage"},"t_struct(CommunityInfo)78793_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":78790,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":78792,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactoryV0_1.sol","id":79131,"exportedSymbols":{"CommunityInfo":[79116],"OwnableUpgradeable":[52984],"RegistryCommunityV0_0":[78776],"RegistryFactoryV0_0":[79103],"RegistryFactoryV0_1":[79130]},"nodeType":"SourceUnit","src":"42:1028:119","nodes":[{"id":79105,"nodeType":"PragmaDirective","src":"42:24:119","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79107,"nodeType":"ImportDirective","src":"68:71:119","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"../src/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":79131,"sourceUnit":78777,"symbolAliases":[{"foreign":{"id":79106,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78776,"src":"76:21:119","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79109,"nodeType":"ImportDirective","src":"141:67:119","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactoryV0_0.sol","file":"../src/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":79131,"sourceUnit":79104,"symbolAliases":[{"foreign":{"id":79108,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79103,"src":"149:19:119","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79111,"nodeType":"ImportDirective","src":"210:110:119","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79131,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":79110,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"218:18:119","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79116,"nodeType":"StructDefinition","src":"322:57:119","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":79113,"mutability":"mutable","name":"fee","nameLocation":"357:3:119","nodeType":"VariableDeclaration","scope":79116,"src":"349:11:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79112,"name":"uint256","nodeType":"ElementaryTypeName","src":"349:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79115,"mutability":"mutable","name":"valid","nameLocation":"371:5:119","nodeType":"VariableDeclaration","scope":79116,"src":"366:10:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79114,"name":"bool","nodeType":"ElementaryTypeName","src":"366:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"329:13:119","scope":79131,"visibility":"public"},{"id":79130,"nodeType":"ContractDefinition","src":"430:639:119","nodes":[{"id":79129,"nodeType":"FunctionDefinition","src":"986:81:119","nodes":[],"body":{"id":79128,"nodeType":"Block","src":"1034:33:119","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":79125,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"1044:14:119","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":79126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1044:16:119","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79127,"nodeType":"ExpressionStatement","src":"1044:16:119"}]},"functionSelector":"5cd8a76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":79122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1031:1:119","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":79123,"kind":"modifierInvocation","modifierName":{"id":79121,"name":"reinitializer","nameLocations":["1017:13:119"],"nodeType":"IdentifierPath","referencedDeclaration":53168,"src":"1017:13:119"},"nodeType":"ModifierInvocation","src":"1017:16:119"}],"name":"initializeV2","nameLocation":"995:12:119","parameters":{"id":79120,"nodeType":"ParameterList","parameters":[],"src":"1007:2:119"},"returnParameters":{"id":79124,"nodeType":"ParameterList","parameters":[],"src":"1034:0:119"},"scope":79130,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":79118,"name":"RegistryFactoryV0_0","nameLocations":["462:19:119"],"nodeType":"IdentifierPath","referencedDeclaration":79103,"src":"462:19:119"},"id":79119,"nodeType":"InheritanceSpecifier","src":"462:19:119"}],"canonicalName":"RegistryFactoryV0_1","contractDependencies":[55102],"contractKind":"contract","documentation":{"id":79117,"nodeType":"StructuredDocumentation","src":"380:49:119","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[79130,79103,55753,55406,55055,55065,52984,53777,53233],"name":"RegistryFactoryV0_1","nameLocation":"439:19:119","scope":79131,"usedErrors":[78835,78837]}],"license":"AGPL-3.0-only"},"id":119}
\ No newline at end of file
diff --git a/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json b/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json
index 70c68ebcc..4a0156c14 100644
--- a/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json
+++ b/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461002d57600160ff198181600c541617600c55601e541617601e556121b390816100338239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908162b1fad714611d2d57508063030e400614611cd05780630688b13514611c7c5780630f166ad414611c61578063174eedde14610d825780631b96dce614611c095780631e7bcb2e14611bbc5780631ed7831c14611b3d5780632ade3880146118c85780633e5e3c23146118495780633f7286f4146117ca5780634bf4ba2114611792578063587c1243146117455780635aff5999146116eb57806366d003ac146115ff57806366d9a9a0146114825780636a38dd0a1461133b57806370a329441461117f57806374d9284e14610d82578063759c9a861461111057806379e62d0d14610f6c5780637b10399914610f3f5780637b2edf3214610ef25780637cbe79ed14610eab578063829e423f14610d8257806385226c8114610d875780638c7408c414610d825780638e0d1a5014610d3b5780638e3c249314610cee578063916a17c614610a93578063a407c67a146107f4578063aa3744bd146107a0578063b5508aa914610668578063ba414fa614610643578063d1e82b58146105e9578063d1f2cd881461059e578063d5bee9f5146104b0578063da4bf08714610459578063dac4eb1614610401578063e20c9f7114610372578063ef0d790f146102135763fa7626d4146101ee57600080fd5b34610210578060031936011261021057602060ff601e54166040519015158152f35b80fd5b50346102105780600319360112610210576040516102308161201f565b6013815260209182820172383937b334b632992fb737ba20a6b2b6b132b960691b81526040516102638582018093611e04565b601381526102708161201f565b5190206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa90811561036757839161032a575b50813b15610326576102ee839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b03925af1801561031b57610307575b5050604051908152f35b6103118291611ff6565b61021057806102fd565b6040513d84823e3d90fd5b8280fd5b90508481813d8311610360575b6103418183612055565b8101031261032657516001600160a01b038116810361032657386102ac565b503d610337565b6040513d85823e3d90fd5b5034610210578060031936011261021057604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b8282106103e1576103dd856103d181890382612055565b60405191829182611d9a565b0390f35b83546001600160a01b0316865294850194600193840193909101906103ba565b503461021057806003193601126102105760405161041e8161201f565b600e81526020918282016d3932b3b4b9ba393cafb7bbb732b960911b815260405161044c8582018093611e50565b600e81526102708161201f565b50346102105780600319360112610210576040516104768161201f565b600d81526020918282016c616c6c6f5f747265617375727960981b81526040516104a38582018093611dde565b600d81526102708161201f565b50346102105780600319360112610210576040516104cd8161201f565b600b918282526020926a1c985b991bdb4818da185960aa1b848401526040519084835b82811061058a57505082602b830152815261050a8161201f565b8381519101206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa90811561036757839161032a5750813b15610326576102ee839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b8181870101518282860101520185906104f0565b50346102105780600319360112610210576040516105bb8161201f565b600e81526020918282016d383937b334b63298afb7bbb732b960911b815260405161044c8582018093611e50565b50346102105780600319360112610210576040516106068161201f565b601081526020918282016f3837b7b62fb737ba20a6b0b730b3b2b960811b81526040516106368582018093611e76565b601081526102708161201f565b5034610210578060031936011261021057602061065e6120c2565b6040519015158152f35b503461021057806003193601126102105760195461068581612078565b906106936040519283612055565b808252601983527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695928060208085015b8483106106d857604051806103dd8882611f94565b604051849188549160019280841c908481168015610796575b87831081146107825782845287949392918115610766575060011461072e575b50610720816001960382612055565b8152019701920191956106c3565b8b8952838920955088905b80821061074f5750810183019450610720610711565b865483830186015295850195879490910190610739565b60ff19168584015250151560051b810183019450610720610711565b634e487b7160e01b8a52602260045260248afd5b91607f16916106f1565b50346102105780600319360112610210576040516107bd8161201f565b600a815260209182820169726563697069656e743160b01b81526040516107e78582018093611e2a565b600a81526102708161201f565b50346102105780600319360112610210576040516108118161203a565b6002815260206040368284013760405161082a8161201f565b60108152838282016f70726f66696c65325f6d656d6265723160801b81526040516108588582018093611e76565b601081526108658161201f565b519020926040519063ffa1864960e01b94858352600483015260008051602061215e833981519152908083602481855afa9283156109e0578493610a54575b50813b156109eb57604051946318caf8e360e31b958681528581806108e460018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af1908115610a49578691610a31575b50506109038861208f565b52604051956109118761201f565b601087528187016f383937b334b632992fb6b2b6b132b91960811b815260405161093e8482018093611e76565b6010815261094b8161201f565b51902060405191825260048201528181602481865afa918215610a265785926109ef575b5050813b156109eb57836109a2956040519687958694859384521698896004840152604060248401526044830190611e9c565b03925af180156109e0576109cc575b6103dd83836109bf826120b2565b5260405191829182611d9a565b6109d68491611ff6565b61032657826109b1565b6040513d86823e3d90fd5b8380fd5b90809250813d8311610a1f575b610a068183612055565b810103126109eb575182811681036109eb57388061096f565b503d6109fc565b6040513d87823e3d90fd5b610a3a90611ff6565b610a455784386108f8565b8480fd5b6040513d88823e3d90fd5b9080935081813d8311610a8c575b610a6c8183612055565b810103126109eb57516001600160a01b03811681036109eb5791386108a4565b503d610a62565b5034610210578060031936011261021057601c54610ab081612078565b90610abe6040519283612055565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610b0157604051806103dd8782611edc565b604051610b0d8161201f565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110610c805784600197946002979460209794610b98945491818110610c64575b818110610c48575b818110610c2c575b818110610c10575b818110610bf4575b818110610bd8575b818110610bbe575b10610baa575b500382612055565b83820152815201920192019190610aec565b6001600160e01b0319168152860138610b90565b828a1b6001600160e01b0319168452928901928b01610b8a565b604083901b6001600160e01b0319168452928901928b01610b82565b606083901b6001600160e01b0319168452928901928b01610b7a565b608083901b6001600160e01b0319168452928901928b01610b72565b60a083901b6001600160e01b0319168452928901928b01610b6a565b60c083901b6001600160e01b0319168452928901928b01610b62565b60e083901b6001600160e01b0319168452928901928b01610b5a565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191610b35565b5034610210578060031936011261021057604051610d0b8161201f565b601081526020918282016f383937b334b632992fb6b2b6b132b91960811b81526040516106368582018093611e76565b5034610210578060031936011261021057604051610d588161201f565b600a8152602091828201693837b7b62fb0b236b4b760b11b81526040516107e78582018093611e2a565b611d79565b5034610210578060031936011261021057601a54610da481612078565b90610db26040519283612055565b808252601a83527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e928060208085015b848310610df757604051806103dd8882611f94565b604051849188549160019280841c908481168015610ea1575b87831081146107825782845287949392918115610e855750600114610e4d575b50610e3f816001960382612055565b815201970192019195610de2565b8b8952838920955088905b808210610e6e5750810183019450610e3f610e30565b865483830186015295850195879490910190610e58565b60ff19168584015250151560051b810183019450610e3f610e30565b91607f1691610e10565b5034610210578060031936011261021057604051610ec88161201f565b600a81526020918282016930b63637afb7bbb732b960b11b81526040516107e78582018093611e2a565b5034610210578060031936011261021057604051610f0f8161201f565b601081526020918282016f383937b334b63298afb6b2b6b132b91960811b81526040516106368582018093611e76565b5034610210578060031936011261021057601e5460405160089190911c6001600160a01b03168152602090f35b5034610210578060031936011261021057604051610f898161203a565b60028152602060403682840137604051610fa28161201f565b600d8152838282016c706f6f6c5f6d616e616765723160981b8152604051610fcd8582018093611dde565b600d8152610fda8161201f565b519020926040519063ffa1864960e01b94858352600483015260008051602061215e833981519152908083602481855afa9283156109e05784936110d1575b50813b156109eb57604051946318caf8e360e31b9586815285818061105960018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af1908115610a495786916110bd575b50506110788861208f565b52604051956110868761201f565b600d87528187016c3837b7b62fb6b0b730b3b2b91960991b81526040516110b08482018093611dde565b600d815261094b8161201f565b6110c690611ff6565b610a4557843861106d565b9080935081813d8311611109575b6110e98183612055565b810103126109eb57516001600160a01b03811681036109eb579138611019565b503d6110df565b503461021057806003193601126102105760405161112d8161201f565b600c918282526020926b1b9bd7dc9958da5c1a595b9d60a21b848401526040519084835b82811061116b57505082602c830152815261050a8161201f565b818187010151828286010152018590611151565b503461021057806003193601126102105760405161119c8161203a565b600281526020604036828401376040516111b58161201f565b601081528181016f70726f66696c65315f6d656d6265723160801b81526040516111e28482018093611e76565b601081526111ef8161201f565b519020916040519063ffa1864960e01b93848352600483015260008051602061215e833981519152908083602481855afa9283156113305787936112f1575b50813b156112ed57604051936318caf8e360e31b9485815288818061126e60018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af180156112e2576112c9575b50908793929161128e8861208f565b526040519561129c8761201f565b601087528187016f383937b334b63298afb6b2b6b132b91960811b815260405161093e8482018093611e76565b6112d890989194939298611ff6565b969091923861127f565b6040513d8b823e3d90fd5b8680fd5b9080935081813d8311611329575b6113098183612055565b810103126112ed57516001600160a01b03811681036112ed57913861122e565b503d6112ff565b6040513d89823e3d90fd5b50346102105780600319360112610210576040516113588161201f565b600d81526020918282016c3837b7b62fb6b0b730b3b2b91960991b81526040516113858582018093611dde565b600d81526113928161201f565b5190206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa908115610367578391611445575b50813b1561032657611410839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b03925af1908115611439575061142a575b50604051908152f35b61143390611ff6565b38611421565b604051903d90823e3d90fd5b90508481813d831161147b575b61145c8183612055565b8101031261032657516001600160a01b038116810361032657386113ce565b503d611452565b5034610210578060031936011261021057601b5461149f81612078565b906114ad6040519283612055565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b8383106114f057604051806103dd8782611edc565b6040516114fc8161201f565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110611591578460019794600297946020979461157f945491818110610c6457818110610c4857818110610c2c57818110610c1057818110610bf457818110610bd857818110610bbe5710610baa57500382612055565b838201528152019201920191906114db565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191611524565b503461021057806003193601126102105760405161161c8161201f565b600991828252602092681c9958da5c1a595b9d60ba1b848401526040519084835b8281106116d757505082602983015281526116578161201f565b8381519101206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa9081156103675783916114455750813b1561032657611410839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b81818701015182828601015201859061163d565b50346102105780600319360112610210576040516117088161201f565b601081526020918282016f726563697069656e744164647265737360801b81526040516117388582018093611e76565b601081526113928161201f565b50346102105780600319360112610210576040516117628161201f565b601081526020918282016f70726f66696c65325f6d656d6265723160801b81526040516117388582018093611e76565b50346102105780600319360112610210576103dd6040516117b28161203a565b60028152604036602083013760405191829182611d9a565b5034610210578060031936011261021057604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b828210611829576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611812565b5034610210578060031936011261021057604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b8282106118a8576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611891565b5034610210578060031936011261021057601d54906118e682612078565b6118f36040519182612055565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b8284106119f557858588604051916020830190602084525180915260408301600590604083831b860101939580925b8484106119605786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b8281106119ca575050505050602080600192990194019401929694939190611953565b90919293946020806119e8600193605f198782030189528951611e9c565b97019501939291016119a7565b604051611a018161201f565b82546001600160a01b0316815260018301805490611a1e82612078565b91611a2c6040519384612055565b80835260208301918a5260208a208a925b828410611a63575050505060019282602092836002950152815201920193019290611924565b60405182548d90600181811c9190811615611b33575b602082106001821614611b1e578184528f919060018116908115611af95750600114611ac3575b505060019282611ab585946020940382612055565b815201920193019290611a3d565b909150848252602082205b818310611ae357505081016020018d82611aa0565b6001816020925483868801015201920191611ace565b60ff191660208681019190915291151560051b850190910192508f9150839050611aa0565b50634e487b7160e01b8f52602260045260248ffd5b90607f1690611a79565b5034610210578060031936011261021057604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b828210611b9c576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611b85565b5034610210578060031936011261021057604051611bd98161201f565b601081526020918282016f70726f66696c65315f6d656d6265723160801b81526040516117388582018093611e76565b5034610210578060031936011261021057604051611c268161201f565b600e81526020918282016d383937b334b632992fb7bbb732b960911b8152604051611c548582018093611e50565b600e81526113928161201f565b50346102105780600319360112610210576020604051308152f35b5034610210578060031936011261021057604051611c998161201f565b600a8152602091828201693932b1b4b834b2b73a1960b11b8152604051611cc38582018093611e2a565b600a81526113928161201f565b5034610210578060031936011261021057604051611ced8161201f565b6013815260209182820172383937b334b63298afb737ba20a6b2b6b132b960691b8152604051611d208582018093611e04565b601381526113928161201f565b905034611d755781600319360112611d7557611d488161201f565b600d81526020918282016c706f6f6c5f6d616e616765723160981b81526040516113858582018093611dde565b5080fd5b34611d95576000366003190112611d9557602060405160008152f35b600080fd5b6020908160408183019282815285518094520193019160005b828110611dc1575050505090565b83516001600160a01b031685529381019392810192600101611db3565b60005b600d8110611df4575050600d6000910152565b8181015183820152602001611de1565b60005b60138110611e1a57505060136000910152565b8181015183820152602001611e07565b60005b600a8110611e40575050600a6000910152565b8181015183820152602001611e2d565b60005b600e8110611e66575050600e6000910152565b8181015183820152602001611e53565b60005b60108110611e8c57505060106000910152565b8181015183820152602001611e79565b919082519283825260005b848110611ec8575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611ea7565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510611f1357505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b808210611f705750505090806001929a019501950193969594929190611f01565b82516001600160e01b03191684528a94938401939092019160019190910190611f4f565b602080820190808352835180925260408301928160408460051b8301019501936000915b848310611fc85750505050505090565b9091929394958480611fe6600193603f198682030187528a51611e9c565b9801930193019194939290611fb8565b6001600160401b03811161200957604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111761200957604052565b606081019081106001600160401b0382111761200957604052565b601f909101601f19168101906001600160401b0382119082101761200957604052565b6001600160401b0381116120095760051b60200190565b80511561209c5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561209c5760400190565b60085460ff1680156120d15790565b50604051630667f9d760e41b815260208160448160008051602061215e8339815191528060048301526519985a5b195960d21b60248301525afa90811561215157600091612120575b50151590565b906020823d8211612149575b8161213960209383612055565b810103126102105750513861211a565b3d915061212c565b6040513d6000823e3d90fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212204cf2fcf819381abf787398836cafb6657413d5bf30607d6265716963c68832ef64736f6c63430008130033","sourceMap":"393:304:18:-:0;;;;;;;3166:4:24;393:304:18;;;;3166:4:24;393:304:18;;;3166:4:24;393:304:18;1038:4:34;393:304:18;;;1038:4:34;393:304:18;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b600090813560e01c908162b1fad714611d2d57508063030e400614611cd05780630688b13514611c7c5780630f166ad414611c61578063174eedde14610d825780631b96dce614611c095780631e7bcb2e14611bbc5780631ed7831c14611b3d5780632ade3880146118c85780633e5e3c23146118495780633f7286f4146117ca5780634bf4ba2114611792578063587c1243146117455780635aff5999146116eb57806366d003ac146115ff57806366d9a9a0146114825780636a38dd0a1461133b57806370a329441461117f57806374d9284e14610d82578063759c9a861461111057806379e62d0d14610f6c5780637b10399914610f3f5780637b2edf3214610ef25780637cbe79ed14610eab578063829e423f14610d8257806385226c8114610d875780638c7408c414610d825780638e0d1a5014610d3b5780638e3c249314610cee578063916a17c614610a93578063a407c67a146107f4578063aa3744bd146107a0578063b5508aa914610668578063ba414fa614610643578063d1e82b58146105e9578063d1f2cd881461059e578063d5bee9f5146104b0578063da4bf08714610459578063dac4eb1614610401578063e20c9f7114610372578063ef0d790f146102135763fa7626d4146101ee57600080fd5b34610210578060031936011261021057602060ff601e54166040519015158152f35b80fd5b50346102105780600319360112610210576040516102308161201f565b6013815260209182820172383937b334b632992fb737ba20a6b2b6b132b960691b81526040516102638582018093611e04565b601381526102708161201f565b5190206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa90811561036757839161032a575b50813b15610326576102ee839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b03925af1801561031b57610307575b5050604051908152f35b6103118291611ff6565b61021057806102fd565b6040513d84823e3d90fd5b8280fd5b90508481813d8311610360575b6103418183612055565b8101031261032657516001600160a01b038116810361032657386102ac565b503d610337565b6040513d85823e3d90fd5b5034610210578060031936011261021057604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b8282106103e1576103dd856103d181890382612055565b60405191829182611d9a565b0390f35b83546001600160a01b0316865294850194600193840193909101906103ba565b503461021057806003193601126102105760405161041e8161201f565b600e81526020918282016d3932b3b4b9ba393cafb7bbb732b960911b815260405161044c8582018093611e50565b600e81526102708161201f565b50346102105780600319360112610210576040516104768161201f565b600d81526020918282016c616c6c6f5f747265617375727960981b81526040516104a38582018093611dde565b600d81526102708161201f565b50346102105780600319360112610210576040516104cd8161201f565b600b918282526020926a1c985b991bdb4818da185960aa1b848401526040519084835b82811061058a57505082602b830152815261050a8161201f565b8381519101206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa90811561036757839161032a5750813b15610326576102ee839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b8181870101518282860101520185906104f0565b50346102105780600319360112610210576040516105bb8161201f565b600e81526020918282016d383937b334b63298afb7bbb732b960911b815260405161044c8582018093611e50565b50346102105780600319360112610210576040516106068161201f565b601081526020918282016f3837b7b62fb737ba20a6b0b730b3b2b960811b81526040516106368582018093611e76565b601081526102708161201f565b5034610210578060031936011261021057602061065e6120c2565b6040519015158152f35b503461021057806003193601126102105760195461068581612078565b906106936040519283612055565b808252601983527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695928060208085015b8483106106d857604051806103dd8882611f94565b604051849188549160019280841c908481168015610796575b87831081146107825782845287949392918115610766575060011461072e575b50610720816001960382612055565b8152019701920191956106c3565b8b8952838920955088905b80821061074f5750810183019450610720610711565b865483830186015295850195879490910190610739565b60ff19168584015250151560051b810183019450610720610711565b634e487b7160e01b8a52602260045260248afd5b91607f16916106f1565b50346102105780600319360112610210576040516107bd8161201f565b600a815260209182820169726563697069656e743160b01b81526040516107e78582018093611e2a565b600a81526102708161201f565b50346102105780600319360112610210576040516108118161203a565b6002815260206040368284013760405161082a8161201f565b60108152838282016f70726f66696c65325f6d656d6265723160801b81526040516108588582018093611e76565b601081526108658161201f565b519020926040519063ffa1864960e01b94858352600483015260008051602061215e833981519152908083602481855afa9283156109e0578493610a54575b50813b156109eb57604051946318caf8e360e31b958681528581806108e460018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af1908115610a49578691610a31575b50506109038861208f565b52604051956109118761201f565b601087528187016f383937b334b632992fb6b2b6b132b91960811b815260405161093e8482018093611e76565b6010815261094b8161201f565b51902060405191825260048201528181602481865afa918215610a265785926109ef575b5050813b156109eb57836109a2956040519687958694859384521698896004840152604060248401526044830190611e9c565b03925af180156109e0576109cc575b6103dd83836109bf826120b2565b5260405191829182611d9a565b6109d68491611ff6565b61032657826109b1565b6040513d86823e3d90fd5b8380fd5b90809250813d8311610a1f575b610a068183612055565b810103126109eb575182811681036109eb57388061096f565b503d6109fc565b6040513d87823e3d90fd5b610a3a90611ff6565b610a455784386108f8565b8480fd5b6040513d88823e3d90fd5b9080935081813d8311610a8c575b610a6c8183612055565b810103126109eb57516001600160a01b03811681036109eb5791386108a4565b503d610a62565b5034610210578060031936011261021057601c54610ab081612078565b90610abe6040519283612055565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610b0157604051806103dd8782611edc565b604051610b0d8161201f565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110610c805784600197946002979460209794610b98945491818110610c64575b818110610c48575b818110610c2c575b818110610c10575b818110610bf4575b818110610bd8575b818110610bbe575b10610baa575b500382612055565b83820152815201920192019190610aec565b6001600160e01b0319168152860138610b90565b828a1b6001600160e01b0319168452928901928b01610b8a565b604083901b6001600160e01b0319168452928901928b01610b82565b606083901b6001600160e01b0319168452928901928b01610b7a565b608083901b6001600160e01b0319168452928901928b01610b72565b60a083901b6001600160e01b0319168452928901928b01610b6a565b60c083901b6001600160e01b0319168452928901928b01610b62565b60e083901b6001600160e01b0319168452928901928b01610b5a565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191610b35565b5034610210578060031936011261021057604051610d0b8161201f565b601081526020918282016f383937b334b632992fb6b2b6b132b91960811b81526040516106368582018093611e76565b5034610210578060031936011261021057604051610d588161201f565b600a8152602091828201693837b7b62fb0b236b4b760b11b81526040516107e78582018093611e2a565b611d79565b5034610210578060031936011261021057601a54610da481612078565b90610db26040519283612055565b808252601a83527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e928060208085015b848310610df757604051806103dd8882611f94565b604051849188549160019280841c908481168015610ea1575b87831081146107825782845287949392918115610e855750600114610e4d575b50610e3f816001960382612055565b815201970192019195610de2565b8b8952838920955088905b808210610e6e5750810183019450610e3f610e30565b865483830186015295850195879490910190610e58565b60ff19168584015250151560051b810183019450610e3f610e30565b91607f1691610e10565b5034610210578060031936011261021057604051610ec88161201f565b600a81526020918282016930b63637afb7bbb732b960b11b81526040516107e78582018093611e2a565b5034610210578060031936011261021057604051610f0f8161201f565b601081526020918282016f383937b334b63298afb6b2b6b132b91960811b81526040516106368582018093611e76565b5034610210578060031936011261021057601e5460405160089190911c6001600160a01b03168152602090f35b5034610210578060031936011261021057604051610f898161203a565b60028152602060403682840137604051610fa28161201f565b600d8152838282016c706f6f6c5f6d616e616765723160981b8152604051610fcd8582018093611dde565b600d8152610fda8161201f565b519020926040519063ffa1864960e01b94858352600483015260008051602061215e833981519152908083602481855afa9283156109e05784936110d1575b50813b156109eb57604051946318caf8e360e31b9586815285818061105960018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af1908115610a495786916110bd575b50506110788861208f565b52604051956110868761201f565b600d87528187016c3837b7b62fb6b0b730b3b2b91960991b81526040516110b08482018093611dde565b600d815261094b8161201f565b6110c690611ff6565b610a4557843861106d565b9080935081813d8311611109575b6110e98183612055565b810103126109eb57516001600160a01b03811681036109eb579138611019565b503d6110df565b503461021057806003193601126102105760405161112d8161201f565b600c918282526020926b1b9bd7dc9958da5c1a595b9d60a21b848401526040519084835b82811061116b57505082602c830152815261050a8161201f565b818187010151828286010152018590611151565b503461021057806003193601126102105760405161119c8161203a565b600281526020604036828401376040516111b58161201f565b601081528181016f70726f66696c65315f6d656d6265723160801b81526040516111e28482018093611e76565b601081526111ef8161201f565b519020916040519063ffa1864960e01b93848352600483015260008051602061215e833981519152908083602481855afa9283156113305787936112f1575b50813b156112ed57604051936318caf8e360e31b9485815288818061126e60018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af180156112e2576112c9575b50908793929161128e8861208f565b526040519561129c8761201f565b601087528187016f383937b334b63298afb6b2b6b132b91960811b815260405161093e8482018093611e76565b6112d890989194939298611ff6565b969091923861127f565b6040513d8b823e3d90fd5b8680fd5b9080935081813d8311611329575b6113098183612055565b810103126112ed57516001600160a01b03811681036112ed57913861122e565b503d6112ff565b6040513d89823e3d90fd5b50346102105780600319360112610210576040516113588161201f565b600d81526020918282016c3837b7b62fb6b0b730b3b2b91960991b81526040516113858582018093611dde565b600d81526113928161201f565b5190206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa908115610367578391611445575b50813b1561032657611410839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b03925af1908115611439575061142a575b50604051908152f35b61143390611ff6565b38611421565b604051903d90823e3d90fd5b90508481813d831161147b575b61145c8183612055565b8101031261032657516001600160a01b038116810361032657386113ce565b503d611452565b5034610210578060031936011261021057601b5461149f81612078565b906114ad6040519283612055565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b8383106114f057604051806103dd8782611edc565b6040516114fc8161201f565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110611591578460019794600297946020979461157f945491818110610c6457818110610c4857818110610c2c57818110610c1057818110610bf457818110610bd857818110610bbe5710610baa57500382612055565b838201528152019201920191906114db565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191611524565b503461021057806003193601126102105760405161161c8161201f565b600991828252602092681c9958da5c1a595b9d60ba1b848401526040519084835b8281106116d757505082602983015281526116578161201f565b8381519101206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa9081156103675783916114455750813b1561032657611410839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b81818701015182828601015201859061163d565b50346102105780600319360112610210576040516117088161201f565b601081526020918282016f726563697069656e744164647265737360801b81526040516117388582018093611e76565b601081526113928161201f565b50346102105780600319360112610210576040516117628161201f565b601081526020918282016f70726f66696c65325f6d656d6265723160801b81526040516117388582018093611e76565b50346102105780600319360112610210576103dd6040516117b28161203a565b60028152604036602083013760405191829182611d9a565b5034610210578060031936011261021057604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b828210611829576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611812565b5034610210578060031936011261021057604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b8282106118a8576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611891565b5034610210578060031936011261021057601d54906118e682612078565b6118f36040519182612055565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b8284106119f557858588604051916020830190602084525180915260408301600590604083831b860101939580925b8484106119605786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b8281106119ca575050505050602080600192990194019401929694939190611953565b90919293946020806119e8600193605f198782030189528951611e9c565b97019501939291016119a7565b604051611a018161201f565b82546001600160a01b0316815260018301805490611a1e82612078565b91611a2c6040519384612055565b80835260208301918a5260208a208a925b828410611a63575050505060019282602092836002950152815201920193019290611924565b60405182548d90600181811c9190811615611b33575b602082106001821614611b1e578184528f919060018116908115611af95750600114611ac3575b505060019282611ab585946020940382612055565b815201920193019290611a3d565b909150848252602082205b818310611ae357505081016020018d82611aa0565b6001816020925483868801015201920191611ace565b60ff191660208681019190915291151560051b850190910192508f9150839050611aa0565b50634e487b7160e01b8f52602260045260248ffd5b90607f1690611a79565b5034610210578060031936011261021057604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b828210611b9c576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611b85565b5034610210578060031936011261021057604051611bd98161201f565b601081526020918282016f70726f66696c65315f6d656d6265723160801b81526040516117388582018093611e76565b5034610210578060031936011261021057604051611c268161201f565b600e81526020918282016d383937b334b632992fb7bbb732b960911b8152604051611c548582018093611e50565b600e81526113928161201f565b50346102105780600319360112610210576020604051308152f35b5034610210578060031936011261021057604051611c998161201f565b600a8152602091828201693932b1b4b834b2b73a1960b11b8152604051611cc38582018093611e2a565b600a81526113928161201f565b5034610210578060031936011261021057604051611ced8161201f565b6013815260209182820172383937b334b63298afb737ba20a6b2b6b132b960691b8152604051611d208582018093611e04565b601381526113928161201f565b905034611d755781600319360112611d7557611d488161201f565b600d81526020918282016c706f6f6c5f6d616e616765723160981b81526040516113858582018093611dde565b5080fd5b34611d95576000366003190112611d9557602060405160008152f35b600080fd5b6020908160408183019282815285518094520193019160005b828110611dc1575050505090565b83516001600160a01b031685529381019392810192600101611db3565b60005b600d8110611df4575050600d6000910152565b8181015183820152602001611de1565b60005b60138110611e1a57505060136000910152565b8181015183820152602001611e07565b60005b600a8110611e40575050600a6000910152565b8181015183820152602001611e2d565b60005b600e8110611e66575050600e6000910152565b8181015183820152602001611e53565b60005b60108110611e8c57505060106000910152565b8181015183820152602001611e79565b919082519283825260005b848110611ec8575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611ea7565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510611f1357505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b808210611f705750505090806001929a019501950193969594929190611f01565b82516001600160e01b03191684528a94938401939092019160019190910190611f4f565b602080820190808352835180925260408301928160408460051b8301019501936000915b848310611fc85750505050505090565b9091929394958480611fe6600193603f198682030187528a51611e9c565b9801930193019194939290611fb8565b6001600160401b03811161200957604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111761200957604052565b606081019081106001600160401b0382111761200957604052565b601f909101601f19168101906001600160401b0382119082101761200957604052565b6001600160401b0381116120095760051b60200190565b80511561209c5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561209c5760400190565b60085460ff1680156120d15790565b50604051630667f9d760e41b815260208160448160008051602061215e8339815191528060048301526519985a5b195960d21b60248301525afa90811561215157600091612120575b50151590565b906020823d8211612149575b8161213960209383612055565b810103126102105750513861211a565b3d915061212c565b6040513d6000823e3d90fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212204cf2fcf819381abf787398836cafb6657413d5bf30607d6265716963c68832ef64736f6c63430008130033","sourceMap":"393:304:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1016:26:34;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;192:59:23;;;;20344:19:25;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;291:59;393:304:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;393:304:18;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;393:304:18;;;;;;;;;20373:20:25;;;;;:::i;:::-;393:304:18;;20373:20:25;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20373:20:25;393:304:18;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;393:304:18;;;;;;;;;;;;;;;2421:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;393:304:18;;;20303:22:25;;20293:33;393:304:18;;192:59:23;;;;20344:19:25;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;20373:20;;;;;;291:59;393:304:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;393:304:18;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2273:18:27;393:304:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2273:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;393:304:18;;;;;;;;-1:-1:-1;393:304:18;;;;;-1:-1:-1;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;-1:-1:-1;393:304:18;;;;;;;;;-1:-1:-1;393:304:18;;;;-1:-1:-1;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;3726:1:16;393:304:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;;192:59:23;;;;20344:19:25;;;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;393:304:18;;192:59:23;;;;20373:20:25;;;;393:304:18;;;291:59:25;192::23;393:304:18;;;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;393:304:18;3738:32:16;;;;;:::i;:::-;393:304:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;20344:19:25;;;393:304:18;20344:19:25;;192:59:23;20344:19:25;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;;393:304:18;291:59:25;393:304:18;;;20373:20:25;;;;;;;;;393:304:18;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;393:304:18;;3780:32:16;;;;;:::i;:::-;393:304:18;;;;;;;;:::i;20373:20:25:-;;;;;:::i;:::-;393:304:18;;20373:20:25;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20373:20:25;393:304:18;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;393:304:18;;;291:59:25;;;;20344:19;;;;;;;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20373:20:25;;;;:::i;:::-;393:304:18;;20373:20:25;;;;393:304:18;;;;20373:20:25;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20344:19:25;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;;393:304:18;;;;;;;;;;;;;3190:18:27;393:304:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3190:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;393:304:18;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;393:304:18;192:59:23;393:304:18;;;192:59:23;;;;;;393:304:18;;;;;192:59:23;;;;;393:304:18;;;;192:59:23;393:304:18;;;192:59:23;;;;;393:304:18;;;;192:59:23;;393:304:18;;;;192:59:23;;393:304:18;192:59:23;;393:304:18;;;;192:59:23;;393:304:18;192:59:23;;393:304:18;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;2707:18:27;393:304:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2707:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;393:304:18;;;;;;;;-1:-1:-1;393:304:18;;;;;-1:-1:-1;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;-1:-1:-1;393:304:18;;;;;;;;;-1:-1:-1;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;678:10;393:304;;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2108:1:16;393:304:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;;192:59:23;;;;20344:19:25;;;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;393:304:18;;192:59:23;;;;20373:20:25;;;;393:304:18;;;291:59:25;192::23;393:304:18;;;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;393:304:18;2120:29:16;;;;;:::i;:::-;393:304:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;20373:20::-;;;;:::i;:::-;393:304:18;;20373:20:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;;393:304:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2914:1:16;393:304:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;;192:59:23;;;;20344:19:25;;;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;393:304:18;;192:59:23;;;;20373:20:25;;;;393:304:18;;;291:59:25;192::23;393:304:18;;;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;393:304:18;2926:32:16;;;;;;;;;:::i;:::-;393:304:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;20373:20:25:-;;;;;;;;;;:::i;:::-;;;;;;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20373:20:25;393:304:18;;;20344:19:25;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;393:304:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;192:59:23;;;;20344:19:25;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;291:59;393:304:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;393:304:18;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;393:304:18;;;;;;;;20373:20:25;;;;:::i;:::-;;;;;393:304:18;;192:59:23;;;;;;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;393:304:18;;;;;;;;;;;;;2883:26:27;393:304:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2883:26:27;393:304:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;393:304:18;192:59:23;393:304:18;;;192:59:23;;;;;;393:304:18;;;;;192:59:23;;;;;393:304:18;;;;192:59:23;393:304:18;;;192:59:23;;;;;393:304:18;;;;192:59:23;;393:304:18;;;;192:59:23;;393:304:18;192:59:23;;393:304:18;;;;192:59:23;;393:304:18;192:59:23;;393:304:18;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;393:304:18;;;20303:22:25;;20293:33;393:304:18;;192:59:23;;;;20344:19:25;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;20373:20;;;;;;291:59;393:304:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;393:304:18;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;1440:1:16;393:304:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;3038:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3331:16:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:19:27;393:304:18;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3485:19:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;192:59:23;393:304:18;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;393:304:18;;-1:-1:-1;393:304:18;;-1:-1:-1;393:304:18;;;-1:-1:-1;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2563:16:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;306:4:16;393:304:18;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;;:::o;:::-;;;;;-1:-1:-1;;393:304:18;;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;393:304:18;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2977:1:16;393:304:18;;;;;;;:::o;1243:204:23:-;1302:7;393:304:18;;;;;;;1325:14:23;:::o;1298:143::-;393:304:18;;;192:59:23;;;1377:39;;;393:304:18;192:59:23;393:304:18;-1:-1:-1;;;;;;;;;;;1377:39:23;;;;393:304:18;192:59:23;;;;;;;1377:39;;;;;;;-1:-1:-1;1377:39:23;;;1298:143;1377:53;;;1370:60;:::o;1377:39::-;;;;;;;;;;;;;;;;:::i;:::-;;;192:59;;;;;;1377:39;;;;;;-1:-1:-1;1377:39:23;;;393:304:18;;192:59:23;-1:-1:-1;192:59:23;;;;","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetup\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup an empty Registry contract for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetup\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetup"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5146,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5339,"exportedSymbols":{"Accounts":[5068],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5174],"RegistrySetupFull":[5338],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"Test":[17877],"TestBase":[5876],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"42:2823:18","nodes":[{"id":5131,"nodeType":"PragmaDirective","src":"42:24:18","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5132,"nodeType":"ImportDirective","src":"68:28:18","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":5134,"nodeType":"ImportDirective","src":"98:62:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5133,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5136,"nodeType":"ImportDirective","src":"161:72:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5135,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5138,"nodeType":"ImportDirective","src":"234:40:18","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":5069,"symbolAliases":[{"foreign":{"id":5137,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5068,"src":"242:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5174,"nodeType":"ContractDefinition","src":"393:304:18","nodes":[{"id":5146,"nodeType":"VariableDeclaration","src":"440:28:18","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:18","scope":5174,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5145,"nodeType":"UserDefinedTypeName","pathNode":{"id":5144,"name":"Registry","nameLocations":["440:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:18"},"referencedDeclaration":2295,"src":"440:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5164,"nodeType":"FunctionDefinition","src":"475:129:18","nodes":[],"body":{"id":5163,"nodeType":"Block","src":"511:93:18","nodes":[],"statements":[{"expression":{"id":5154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5149,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"521:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:18","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5151,"nodeType":"UserDefinedTypeName","pathNode":{"id":5150,"name":"Registry","nameLocations":["538:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:18"},"referencedDeclaration":2295,"src":"538:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5155,"nodeType":"ExpressionStatement","src":"521:27:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5159,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4717,"src":"580:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5156,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"558:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:18","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5162,"nodeType":"ExpressionStatement","src":"558:39:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:18","parameters":{"id":5147,"nodeType":"ParameterList","parameters":[],"src":"499:2:18"},"returnParameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"511:0:18"},"scope":5174,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5173,"nodeType":"FunctionDefinition","src":"610:85:18","nodes":[],"body":{"id":5172,"nodeType":"Block","src":"661:34:18","nodes":[],"statements":[{"expression":{"id":5170,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"678:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5169,"id":5171,"nodeType":"Return","src":"671:17:18"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:18","parameters":{"id":5165,"nodeType":"ParameterList","parameters":[],"src":"627:2:18"},"returnParameters":{"id":5169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5173,"src":"651:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5167,"nodeType":"UserDefinedTypeName","pathNode":{"id":5166,"name":"Registry","nameLocations":["651:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:18"},"referencedDeclaration":2295,"src":"651:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:18"},"scope":5174,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5140,"name":"Test","nameLocations":["419:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"419:4:18"},"id":5141,"nodeType":"InheritanceSpecifier","src":"419:4:18"},{"baseName":{"id":5142,"name":"Accounts","nameLocations":["425:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":5068,"src":"425:8:18"},"id":5143,"nodeType":"InheritanceSpecifier","src":"425:8:18"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5139,"nodeType":"StructuredDocumentation","src":"276:117:18","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetup","nameLocation":"402:13:18","scope":5339,"usedErrors":[]},{"id":5338,"nodeType":"ContractDefinition","src":"833:2031:18","nodes":[{"id":5179,"nodeType":"VariableDeclaration","src":"883:32:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5181,"nodeType":"VariableDeclaration","src":"921:36:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5180,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5183,"nodeType":"VariableDeclaration","src":"964:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5185,"nodeType":"VariableDeclaration","src":"999:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5184,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5187,"nodeType":"VariableDeclaration","src":"1039:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5189,"nodeType":"VariableDeclaration","src":"1074:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5188,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5289,"nodeType":"FunctionDefinition","src":"1114:930:18","nodes":[],"body":{"id":5288,"nodeType":"Block","src":"1154:890:18","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5192,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5164,"src":"1164:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5194,"nodeType":"ExpressionStatement","src":"1164:17:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5198,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1201:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1192:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1192:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5201,"nodeType":"ExpressionStatement","src":"1192:22:18"},{"expression":{"id":5216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5202,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1224:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5207,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:18","1324:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5211,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1351:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5213,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"1365:13:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5203,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1242:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5217,"nodeType":"ExpressionStatement","src":"1224:166:18"},{"expression":{"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5218,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"1400:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5221,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1448:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5219,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1422:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5225,"nodeType":"ExpressionStatement","src":"1400:71:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5229,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1491:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5226,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1482:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1482:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5232,"nodeType":"ExpressionStatement","src":"1482:26:18"},{"expression":{"id":5247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5233,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1518:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5238,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:18","1610:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5242,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1633:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5244,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4933,"src":"1651:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5234,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1533:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5248,"nodeType":"ExpressionStatement","src":"1518:161:18"},{"expression":{"id":5255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5249,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"1689:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5252,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1734:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5250,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1708:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5256,"nodeType":"ExpressionStatement","src":"1689:65:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5260,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1774:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1765:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1765:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5263,"nodeType":"ExpressionStatement","src":"1765:26:18"},{"expression":{"id":5278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5264,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"1801:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5269,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:18","1893:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5273,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1916:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5275,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5007,"src":"1934:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5265,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1816:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5279,"nodeType":"ExpressionStatement","src":"1801:161:18"},{"expression":{"id":5286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5280,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"1972:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5283,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2017:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5281,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1991:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5287,"nodeType":"ExpressionStatement","src":"1972:65:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:18","parameters":{"id":5190,"nodeType":"ParameterList","parameters":[],"src":"1142:2:18"},"returnParameters":{"id":5191,"nodeType":"ParameterList","parameters":[],"src":"1154:0:18"},"scope":5338,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5297,"nodeType":"FunctionDefinition","src":"2050:103:18","nodes":[],"body":{"id":5296,"nodeType":"Block","src":"2114:39:18","nodes":[],"statements":[{"expression":{"id":5294,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"2131:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5293,"id":5295,"nodeType":"Return","src":"2124:22:18"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:18","parameters":{"id":5290,"nodeType":"ParameterList","parameters":[],"src":"2073:2:18"},"returnParameters":{"id":5293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5297,"src":"2105:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5305,"nodeType":"FunctionDefinition","src":"2159:111:18","nodes":[],"body":{"id":5304,"nodeType":"Block","src":"2227:43:18","nodes":[],"statements":[{"expression":{"id":5302,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"2244:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5301,"id":5303,"nodeType":"Return","src":"2237:26:18"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:18","parameters":{"id":5298,"nodeType":"ParameterList","parameters":[],"src":"2186:2:18"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5305,"src":"2218:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5299,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5313,"nodeType":"FunctionDefinition","src":"2276:97:18","nodes":[],"body":{"id":5312,"nodeType":"Block","src":"2337:36:18","nodes":[],"statements":[{"expression":{"id":5310,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"2354:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5309,"id":5311,"nodeType":"Return","src":"2347:19:18"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:18","parameters":{"id":5306,"nodeType":"ParameterList","parameters":[],"src":"2296:2:18"},"returnParameters":{"id":5309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5313,"src":"2328:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5321,"nodeType":"FunctionDefinition","src":"2461:105:18","nodes":[],"body":{"id":5320,"nodeType":"Block","src":"2526:40:18","nodes":[],"statements":[{"expression":{"id":5318,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"2543:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5317,"id":5319,"nodeType":"Return","src":"2536:23:18"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:18","parameters":{"id":5314,"nodeType":"ParameterList","parameters":[],"src":"2485:2:18"},"returnParameters":{"id":5317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5321,"src":"2517:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5315,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5329,"nodeType":"FunctionDefinition","src":"2572:97:18","nodes":[],"body":{"id":5328,"nodeType":"Block","src":"2633:36:18","nodes":[],"statements":[{"expression":{"id":5326,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2650:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5325,"id":5327,"nodeType":"Return","src":"2643:19:18"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:18","parameters":{"id":5322,"nodeType":"ParameterList","parameters":[],"src":"2592:2:18"},"returnParameters":{"id":5325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"2624:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5337,"nodeType":"FunctionDefinition","src":"2757:105:18","nodes":[],"body":{"id":5336,"nodeType":"Block","src":"2822:40:18","nodes":[],"statements":[{"expression":{"id":5334,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"2839:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5333,"id":5335,"nodeType":"Return","src":"2832:23:18"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:18","parameters":{"id":5330,"nodeType":"ParameterList","parameters":[],"src":"2781:2:18"},"returnParameters":{"id":5333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5337,"src":"2813:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5331,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5176,"name":"RegistrySetup","nameLocations":["863:13:18"],"nodeType":"IdentifierPath","referencedDeclaration":5174,"src":"863:13:18"},"id":5177,"nodeType":"InheritanceSpecifier","src":"863:13:18"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5175,"nodeType":"StructuredDocumentation","src":"699:134:18","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5338,5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetupFull","nameLocation":"842:17:18","scope":5339,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":18}
\ No newline at end of file
+{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461002d57600160ff198181600c541617600c55601e541617601e556121b390816100338239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908162b1fad714611d2d57508063030e400614611cd05780630688b13514611c7c5780630f166ad414611c61578063174eedde14610d825780631b96dce614611c095780631e7bcb2e14611bbc5780631ed7831c14611b3d5780632ade3880146118c85780633e5e3c23146118495780633f7286f4146117ca5780634bf4ba2114611792578063587c1243146117455780635aff5999146116eb57806366d003ac146115ff57806366d9a9a0146114825780636a38dd0a1461133b57806370a329441461117f57806374d9284e14610d82578063759c9a861461111057806379e62d0d14610f6c5780637b10399914610f3f5780637b2edf3214610ef25780637cbe79ed14610eab578063829e423f14610d8257806385226c8114610d875780638c7408c414610d825780638e0d1a5014610d3b5780638e3c249314610cee578063916a17c614610a93578063a407c67a146107f4578063aa3744bd146107a0578063b5508aa914610668578063ba414fa614610643578063d1e82b58146105e9578063d1f2cd881461059e578063d5bee9f5146104b0578063da4bf08714610459578063dac4eb1614610401578063e20c9f7114610372578063ef0d790f146102135763fa7626d4146101ee57600080fd5b34610210578060031936011261021057602060ff601e54166040519015158152f35b80fd5b50346102105780600319360112610210576040516102308161201f565b6013815260209182820172383937b334b632992fb737ba20a6b2b6b132b960691b81526040516102638582018093611e04565b601381526102708161201f565b5190206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa90811561036757839161032a575b50813b15610326576102ee839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b03925af1801561031b57610307575b5050604051908152f35b6103118291611ff6565b61021057806102fd565b6040513d84823e3d90fd5b8280fd5b90508481813d8311610360575b6103418183612055565b8101031261032657516001600160a01b038116810361032657386102ac565b503d610337565b6040513d85823e3d90fd5b5034610210578060031936011261021057604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b8282106103e1576103dd856103d181890382612055565b60405191829182611d9a565b0390f35b83546001600160a01b0316865294850194600193840193909101906103ba565b503461021057806003193601126102105760405161041e8161201f565b600e81526020918282016d3932b3b4b9ba393cafb7bbb732b960911b815260405161044c8582018093611e50565b600e81526102708161201f565b50346102105780600319360112610210576040516104768161201f565b600d81526020918282016c616c6c6f5f747265617375727960981b81526040516104a38582018093611dde565b600d81526102708161201f565b50346102105780600319360112610210576040516104cd8161201f565b600b918282526020926a1c985b991bdb4818da185960aa1b848401526040519084835b82811061058a57505082602b830152815261050a8161201f565b8381519101206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa90811561036757839161032a5750813b15610326576102ee839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b8181870101518282860101520185906104f0565b50346102105780600319360112610210576040516105bb8161201f565b600e81526020918282016d383937b334b63298afb7bbb732b960911b815260405161044c8582018093611e50565b50346102105780600319360112610210576040516106068161201f565b601081526020918282016f3837b7b62fb737ba20a6b0b730b3b2b960811b81526040516106368582018093611e76565b601081526102708161201f565b5034610210578060031936011261021057602061065e6120c2565b6040519015158152f35b503461021057806003193601126102105760195461068581612078565b906106936040519283612055565b808252601983527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695928060208085015b8483106106d857604051806103dd8882611f94565b604051849188549160019280841c908481168015610796575b87831081146107825782845287949392918115610766575060011461072e575b50610720816001960382612055565b8152019701920191956106c3565b8b8952838920955088905b80821061074f5750810183019450610720610711565b865483830186015295850195879490910190610739565b60ff19168584015250151560051b810183019450610720610711565b634e487b7160e01b8a52602260045260248afd5b91607f16916106f1565b50346102105780600319360112610210576040516107bd8161201f565b600a815260209182820169726563697069656e743160b01b81526040516107e78582018093611e2a565b600a81526102708161201f565b50346102105780600319360112610210576040516108118161203a565b6002815260206040368284013760405161082a8161201f565b60108152838282016f70726f66696c65325f6d656d6265723160801b81526040516108588582018093611e76565b601081526108658161201f565b519020926040519063ffa1864960e01b94858352600483015260008051602061215e833981519152908083602481855afa9283156109e0578493610a54575b50813b156109eb57604051946318caf8e360e31b958681528581806108e460018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af1908115610a49578691610a31575b50506109038861208f565b52604051956109118761201f565b601087528187016f383937b334b632992fb6b2b6b132b91960811b815260405161093e8482018093611e76565b6010815261094b8161201f565b51902060405191825260048201528181602481865afa918215610a265785926109ef575b5050813b156109eb57836109a2956040519687958694859384521698896004840152604060248401526044830190611e9c565b03925af180156109e0576109cc575b6103dd83836109bf826120b2565b5260405191829182611d9a565b6109d68491611ff6565b61032657826109b1565b6040513d86823e3d90fd5b8380fd5b90809250813d8311610a1f575b610a068183612055565b810103126109eb575182811681036109eb57388061096f565b503d6109fc565b6040513d87823e3d90fd5b610a3a90611ff6565b610a455784386108f8565b8480fd5b6040513d88823e3d90fd5b9080935081813d8311610a8c575b610a6c8183612055565b810103126109eb57516001600160a01b03811681036109eb5791386108a4565b503d610a62565b5034610210578060031936011261021057601c54610ab081612078565b90610abe6040519283612055565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610b0157604051806103dd8782611edc565b604051610b0d8161201f565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110610c805784600197946002979460209794610b98945491818110610c64575b818110610c48575b818110610c2c575b818110610c10575b818110610bf4575b818110610bd8575b818110610bbe575b10610baa575b500382612055565b83820152815201920192019190610aec565b6001600160e01b0319168152860138610b90565b828a1b6001600160e01b0319168452928901928b01610b8a565b604083901b6001600160e01b0319168452928901928b01610b82565b606083901b6001600160e01b0319168452928901928b01610b7a565b608083901b6001600160e01b0319168452928901928b01610b72565b60a083901b6001600160e01b0319168452928901928b01610b6a565b60c083901b6001600160e01b0319168452928901928b01610b62565b60e083901b6001600160e01b0319168452928901928b01610b5a565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191610b35565b5034610210578060031936011261021057604051610d0b8161201f565b601081526020918282016f383937b334b632992fb6b2b6b132b91960811b81526040516106368582018093611e76565b5034610210578060031936011261021057604051610d588161201f565b600a8152602091828201693837b7b62fb0b236b4b760b11b81526040516107e78582018093611e2a565b611d79565b5034610210578060031936011261021057601a54610da481612078565b90610db26040519283612055565b808252601a83527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e928060208085015b848310610df757604051806103dd8882611f94565b604051849188549160019280841c908481168015610ea1575b87831081146107825782845287949392918115610e855750600114610e4d575b50610e3f816001960382612055565b815201970192019195610de2565b8b8952838920955088905b808210610e6e5750810183019450610e3f610e30565b865483830186015295850195879490910190610e58565b60ff19168584015250151560051b810183019450610e3f610e30565b91607f1691610e10565b5034610210578060031936011261021057604051610ec88161201f565b600a81526020918282016930b63637afb7bbb732b960b11b81526040516107e78582018093611e2a565b5034610210578060031936011261021057604051610f0f8161201f565b601081526020918282016f383937b334b63298afb6b2b6b132b91960811b81526040516106368582018093611e76565b5034610210578060031936011261021057601e5460405160089190911c6001600160a01b03168152602090f35b5034610210578060031936011261021057604051610f898161203a565b60028152602060403682840137604051610fa28161201f565b600d8152838282016c706f6f6c5f6d616e616765723160981b8152604051610fcd8582018093611dde565b600d8152610fda8161201f565b519020926040519063ffa1864960e01b94858352600483015260008051602061215e833981519152908083602481855afa9283156109e05784936110d1575b50813b156109eb57604051946318caf8e360e31b9586815285818061105960018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af1908115610a495786916110bd575b50506110788861208f565b52604051956110868761201f565b600d87528187016c3837b7b62fb6b0b730b3b2b91960991b81526040516110b08482018093611dde565b600d815261094b8161201f565b6110c690611ff6565b610a4557843861106d565b9080935081813d8311611109575b6110e98183612055565b810103126109eb57516001600160a01b03811681036109eb579138611019565b503d6110df565b503461021057806003193601126102105760405161112d8161201f565b600c918282526020926b1b9bd7dc9958da5c1a595b9d60a21b848401526040519084835b82811061116b57505082602c830152815261050a8161201f565b818187010151828286010152018590611151565b503461021057806003193601126102105760405161119c8161203a565b600281526020604036828401376040516111b58161201f565b601081528181016f70726f66696c65315f6d656d6265723160801b81526040516111e28482018093611e76565b601081526111ef8161201f565b519020916040519063ffa1864960e01b93848352600483015260008051602061215e833981519152908083602481855afa9283156113305787936112f1575b50813b156112ed57604051936318caf8e360e31b9485815288818061126e60018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af180156112e2576112c9575b50908793929161128e8861208f565b526040519561129c8761201f565b601087528187016f383937b334b63298afb6b2b6b132b91960811b815260405161093e8482018093611e76565b6112d890989194939298611ff6565b969091923861127f565b6040513d8b823e3d90fd5b8680fd5b9080935081813d8311611329575b6113098183612055565b810103126112ed57516001600160a01b03811681036112ed57913861122e565b503d6112ff565b6040513d89823e3d90fd5b50346102105780600319360112610210576040516113588161201f565b600d81526020918282016c3837b7b62fb6b0b730b3b2b91960991b81526040516113858582018093611dde565b600d81526113928161201f565b5190206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa908115610367578391611445575b50813b1561032657611410839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b03925af1908115611439575061142a575b50604051908152f35b61143390611ff6565b38611421565b604051903d90823e3d90fd5b90508481813d831161147b575b61145c8183612055565b8101031261032657516001600160a01b038116810361032657386113ce565b503d611452565b5034610210578060031936011261021057601b5461149f81612078565b906114ad6040519283612055565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b8383106114f057604051806103dd8782611edc565b6040516114fc8161201f565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110611591578460019794600297946020979461157f945491818110610c6457818110610c4857818110610c2c57818110610c1057818110610bf457818110610bd857818110610bbe5710610baa57500382612055565b838201528152019201920191906114db565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191611524565b503461021057806003193601126102105760405161161c8161201f565b600991828252602092681c9958da5c1a595b9d60ba1b848401526040519084835b8281106116d757505082602983015281526116578161201f565b8381519101206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa9081156103675783916114455750813b1561032657611410839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b81818701015182828601015201859061163d565b50346102105780600319360112610210576040516117088161201f565b601081526020918282016f726563697069656e744164647265737360801b81526040516117388582018093611e76565b601081526113928161201f565b50346102105780600319360112610210576040516117628161201f565b601081526020918282016f70726f66696c65325f6d656d6265723160801b81526040516117388582018093611e76565b50346102105780600319360112610210576103dd6040516117b28161203a565b60028152604036602083013760405191829182611d9a565b5034610210578060031936011261021057604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b828210611829576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611812565b5034610210578060031936011261021057604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b8282106118a8576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611891565b5034610210578060031936011261021057601d54906118e682612078565b6118f36040519182612055565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b8284106119f557858588604051916020830190602084525180915260408301600590604083831b860101939580925b8484106119605786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b8281106119ca575050505050602080600192990194019401929694939190611953565b90919293946020806119e8600193605f198782030189528951611e9c565b97019501939291016119a7565b604051611a018161201f565b82546001600160a01b0316815260018301805490611a1e82612078565b91611a2c6040519384612055565b80835260208301918a5260208a208a925b828410611a63575050505060019282602092836002950152815201920193019290611924565b60405182548d90600181811c9190811615611b33575b602082106001821614611b1e578184528f919060018116908115611af95750600114611ac3575b505060019282611ab585946020940382612055565b815201920193019290611a3d565b909150848252602082205b818310611ae357505081016020018d82611aa0565b6001816020925483868801015201920191611ace565b60ff191660208681019190915291151560051b850190910192508f9150839050611aa0565b50634e487b7160e01b8f52602260045260248ffd5b90607f1690611a79565b5034610210578060031936011261021057604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b828210611b9c576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611b85565b5034610210578060031936011261021057604051611bd98161201f565b601081526020918282016f70726f66696c65315f6d656d6265723160801b81526040516117388582018093611e76565b5034610210578060031936011261021057604051611c268161201f565b600e81526020918282016d383937b334b632992fb7bbb732b960911b8152604051611c548582018093611e50565b600e81526113928161201f565b50346102105780600319360112610210576020604051308152f35b5034610210578060031936011261021057604051611c998161201f565b600a8152602091828201693932b1b4b834b2b73a1960b11b8152604051611cc38582018093611e2a565b600a81526113928161201f565b5034610210578060031936011261021057604051611ced8161201f565b6013815260209182820172383937b334b63298afb737ba20a6b2b6b132b960691b8152604051611d208582018093611e04565b601381526113928161201f565b905034611d755781600319360112611d7557611d488161201f565b600d81526020918282016c706f6f6c5f6d616e616765723160981b81526040516113858582018093611dde565b5080fd5b34611d95576000366003190112611d9557602060405160008152f35b600080fd5b6020908160408183019282815285518094520193019160005b828110611dc1575050505090565b83516001600160a01b031685529381019392810192600101611db3565b60005b600d8110611df4575050600d6000910152565b8181015183820152602001611de1565b60005b60138110611e1a57505060136000910152565b8181015183820152602001611e07565b60005b600a8110611e40575050600a6000910152565b8181015183820152602001611e2d565b60005b600e8110611e66575050600e6000910152565b8181015183820152602001611e53565b60005b60108110611e8c57505060106000910152565b8181015183820152602001611e79565b919082519283825260005b848110611ec8575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611ea7565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510611f1357505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b808210611f705750505090806001929a019501950193969594929190611f01565b82516001600160e01b03191684528a94938401939092019160019190910190611f4f565b602080820190808352835180925260408301928160408460051b8301019501936000915b848310611fc85750505050505090565b9091929394958480611fe6600193603f198682030187528a51611e9c565b9801930193019194939290611fb8565b6001600160401b03811161200957604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111761200957604052565b606081019081106001600160401b0382111761200957604052565b601f909101601f19168101906001600160401b0382119082101761200957604052565b6001600160401b0381116120095760051b60200190565b80511561209c5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561209c5760400190565b60085460ff1680156120d15790565b50604051630667f9d760e41b815260208160448160008051602061215e8339815191528060048301526519985a5b195960d21b60248301525afa90811561215157600091612120575b50151590565b906020823d8211612149575b8161213960209383612055565b810103126102105750513861211a565b3d915061212c565b6040513d6000823e3d90fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212208c617e23452f66192220e142cc37015763588c23f19c375aaf042c7f73c2167864736f6c63430008130033","sourceMap":"393:304:18:-:0;;;;;;;3166:4:24;393:304:18;;;;3166:4:24;393:304:18;;;3166:4:24;393:304:18;1038:4:34;393:304:18;;;1038:4:34;393:304:18;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b600090813560e01c908162b1fad714611d2d57508063030e400614611cd05780630688b13514611c7c5780630f166ad414611c61578063174eedde14610d825780631b96dce614611c095780631e7bcb2e14611bbc5780631ed7831c14611b3d5780632ade3880146118c85780633e5e3c23146118495780633f7286f4146117ca5780634bf4ba2114611792578063587c1243146117455780635aff5999146116eb57806366d003ac146115ff57806366d9a9a0146114825780636a38dd0a1461133b57806370a329441461117f57806374d9284e14610d82578063759c9a861461111057806379e62d0d14610f6c5780637b10399914610f3f5780637b2edf3214610ef25780637cbe79ed14610eab578063829e423f14610d8257806385226c8114610d875780638c7408c414610d825780638e0d1a5014610d3b5780638e3c249314610cee578063916a17c614610a93578063a407c67a146107f4578063aa3744bd146107a0578063b5508aa914610668578063ba414fa614610643578063d1e82b58146105e9578063d1f2cd881461059e578063d5bee9f5146104b0578063da4bf08714610459578063dac4eb1614610401578063e20c9f7114610372578063ef0d790f146102135763fa7626d4146101ee57600080fd5b34610210578060031936011261021057602060ff601e54166040519015158152f35b80fd5b50346102105780600319360112610210576040516102308161201f565b6013815260209182820172383937b334b632992fb737ba20a6b2b6b132b960691b81526040516102638582018093611e04565b601381526102708161201f565b5190206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa90811561036757839161032a575b50813b15610326576102ee839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b03925af1801561031b57610307575b5050604051908152f35b6103118291611ff6565b61021057806102fd565b6040513d84823e3d90fd5b8280fd5b90508481813d8311610360575b6103418183612055565b8101031261032657516001600160a01b038116810361032657386102ac565b503d610337565b6040513d85823e3d90fd5b5034610210578060031936011261021057604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b8282106103e1576103dd856103d181890382612055565b60405191829182611d9a565b0390f35b83546001600160a01b0316865294850194600193840193909101906103ba565b503461021057806003193601126102105760405161041e8161201f565b600e81526020918282016d3932b3b4b9ba393cafb7bbb732b960911b815260405161044c8582018093611e50565b600e81526102708161201f565b50346102105780600319360112610210576040516104768161201f565b600d81526020918282016c616c6c6f5f747265617375727960981b81526040516104a38582018093611dde565b600d81526102708161201f565b50346102105780600319360112610210576040516104cd8161201f565b600b918282526020926a1c985b991bdb4818da185960aa1b848401526040519084835b82811061058a57505082602b830152815261050a8161201f565b8381519101206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa90811561036757839161032a5750813b15610326576102ee839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b8181870101518282860101520185906104f0565b50346102105780600319360112610210576040516105bb8161201f565b600e81526020918282016d383937b334b63298afb7bbb732b960911b815260405161044c8582018093611e50565b50346102105780600319360112610210576040516106068161201f565b601081526020918282016f3837b7b62fb737ba20a6b0b730b3b2b960811b81526040516106368582018093611e76565b601081526102708161201f565b5034610210578060031936011261021057602061065e6120c2565b6040519015158152f35b503461021057806003193601126102105760195461068581612078565b906106936040519283612055565b808252601983527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695928060208085015b8483106106d857604051806103dd8882611f94565b604051849188549160019280841c908481168015610796575b87831081146107825782845287949392918115610766575060011461072e575b50610720816001960382612055565b8152019701920191956106c3565b8b8952838920955088905b80821061074f5750810183019450610720610711565b865483830186015295850195879490910190610739565b60ff19168584015250151560051b810183019450610720610711565b634e487b7160e01b8a52602260045260248afd5b91607f16916106f1565b50346102105780600319360112610210576040516107bd8161201f565b600a815260209182820169726563697069656e743160b01b81526040516107e78582018093611e2a565b600a81526102708161201f565b50346102105780600319360112610210576040516108118161203a565b6002815260206040368284013760405161082a8161201f565b60108152838282016f70726f66696c65325f6d656d6265723160801b81526040516108588582018093611e76565b601081526108658161201f565b519020926040519063ffa1864960e01b94858352600483015260008051602061215e833981519152908083602481855afa9283156109e0578493610a54575b50813b156109eb57604051946318caf8e360e31b958681528581806108e460018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af1908115610a49578691610a31575b50506109038861208f565b52604051956109118761201f565b601087528187016f383937b334b632992fb6b2b6b132b91960811b815260405161093e8482018093611e76565b6010815261094b8161201f565b51902060405191825260048201528181602481865afa918215610a265785926109ef575b5050813b156109eb57836109a2956040519687958694859384521698896004840152604060248401526044830190611e9c565b03925af180156109e0576109cc575b6103dd83836109bf826120b2565b5260405191829182611d9a565b6109d68491611ff6565b61032657826109b1565b6040513d86823e3d90fd5b8380fd5b90809250813d8311610a1f575b610a068183612055565b810103126109eb575182811681036109eb57388061096f565b503d6109fc565b6040513d87823e3d90fd5b610a3a90611ff6565b610a455784386108f8565b8480fd5b6040513d88823e3d90fd5b9080935081813d8311610a8c575b610a6c8183612055565b810103126109eb57516001600160a01b03811681036109eb5791386108a4565b503d610a62565b5034610210578060031936011261021057601c54610ab081612078565b90610abe6040519283612055565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610b0157604051806103dd8782611edc565b604051610b0d8161201f565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110610c805784600197946002979460209794610b98945491818110610c64575b818110610c48575b818110610c2c575b818110610c10575b818110610bf4575b818110610bd8575b818110610bbe575b10610baa575b500382612055565b83820152815201920192019190610aec565b6001600160e01b0319168152860138610b90565b828a1b6001600160e01b0319168452928901928b01610b8a565b604083901b6001600160e01b0319168452928901928b01610b82565b606083901b6001600160e01b0319168452928901928b01610b7a565b608083901b6001600160e01b0319168452928901928b01610b72565b60a083901b6001600160e01b0319168452928901928b01610b6a565b60c083901b6001600160e01b0319168452928901928b01610b62565b60e083901b6001600160e01b0319168452928901928b01610b5a565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191610b35565b5034610210578060031936011261021057604051610d0b8161201f565b601081526020918282016f383937b334b632992fb6b2b6b132b91960811b81526040516106368582018093611e76565b5034610210578060031936011261021057604051610d588161201f565b600a8152602091828201693837b7b62fb0b236b4b760b11b81526040516107e78582018093611e2a565b611d79565b5034610210578060031936011261021057601a54610da481612078565b90610db26040519283612055565b808252601a83527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e928060208085015b848310610df757604051806103dd8882611f94565b604051849188549160019280841c908481168015610ea1575b87831081146107825782845287949392918115610e855750600114610e4d575b50610e3f816001960382612055565b815201970192019195610de2565b8b8952838920955088905b808210610e6e5750810183019450610e3f610e30565b865483830186015295850195879490910190610e58565b60ff19168584015250151560051b810183019450610e3f610e30565b91607f1691610e10565b5034610210578060031936011261021057604051610ec88161201f565b600a81526020918282016930b63637afb7bbb732b960b11b81526040516107e78582018093611e2a565b5034610210578060031936011261021057604051610f0f8161201f565b601081526020918282016f383937b334b63298afb6b2b6b132b91960811b81526040516106368582018093611e76565b5034610210578060031936011261021057601e5460405160089190911c6001600160a01b03168152602090f35b5034610210578060031936011261021057604051610f898161203a565b60028152602060403682840137604051610fa28161201f565b600d8152838282016c706f6f6c5f6d616e616765723160981b8152604051610fcd8582018093611dde565b600d8152610fda8161201f565b519020926040519063ffa1864960e01b94858352600483015260008051602061215e833981519152908083602481855afa9283156109e05784936110d1575b50813b156109eb57604051946318caf8e360e31b9586815285818061105960018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af1908115610a495786916110bd575b50506110788861208f565b52604051956110868761201f565b600d87528187016c3837b7b62fb6b0b730b3b2b91960991b81526040516110b08482018093611dde565b600d815261094b8161201f565b6110c690611ff6565b610a4557843861106d565b9080935081813d8311611109575b6110e98183612055565b810103126109eb57516001600160a01b03811681036109eb579138611019565b503d6110df565b503461021057806003193601126102105760405161112d8161201f565b600c918282526020926b1b9bd7dc9958da5c1a595b9d60a21b848401526040519084835b82811061116b57505082602c830152815261050a8161201f565b818187010151828286010152018590611151565b503461021057806003193601126102105760405161119c8161203a565b600281526020604036828401376040516111b58161201f565b601081528181016f70726f66696c65315f6d656d6265723160801b81526040516111e28482018093611e76565b601081526111ef8161201f565b519020916040519063ffa1864960e01b93848352600483015260008051602061215e833981519152908083602481855afa9283156113305787936112f1575b50813b156112ed57604051936318caf8e360e31b9485815288818061126e60018060a01b0380991695866004840152604060248401526044830190611e9c565b038183885af180156112e2576112c9575b50908793929161128e8861208f565b526040519561129c8761201f565b601087528187016f383937b334b63298afb6b2b6b132b91960811b815260405161093e8482018093611e76565b6112d890989194939298611ff6565b969091923861127f565b6040513d8b823e3d90fd5b8680fd5b9080935081813d8311611329575b6113098183612055565b810103126112ed57516001600160a01b03811681036112ed57913861122e565b503d6112ff565b6040513d89823e3d90fd5b50346102105780600319360112610210576040516113588161201f565b600d81526020918282016c3837b7b62fb6b0b730b3b2b91960991b81526040516113858582018093611dde565b600d81526113928161201f565b5190206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa908115610367578391611445575b50813b1561032657611410839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b03925af1908115611439575061142a575b50604051908152f35b61143390611ff6565b38611421565b604051903d90823e3d90fd5b90508481813d831161147b575b61145c8183612055565b8101031261032657516001600160a01b038116810361032657386113ce565b503d611452565b5034610210578060031936011261021057601b5461149f81612078565b906114ad6040519283612055565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b8383106114f057604051806103dd8782611edc565b6040516114fc8161201f565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110611591578460019794600297946020979461157f945491818110610c6457818110610c4857818110610c2c57818110610c1057818110610bf457818110610bd857818110610bbe5710610baa57500382612055565b838201528152019201920191906114db565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191611524565b503461021057806003193601126102105760405161161c8161201f565b600991828252602092681c9958da5c1a595b9d60ba1b848401526040519084835b8281106116d757505082602983015281526116578161201f565b8381519101206040519063ffa1864960e01b8252600482015260008051602061215e833981519152908481602481855afa9081156103675783916114455750813b1561032657611410839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611e9c565b81818701015182828601015201859061163d565b50346102105780600319360112610210576040516117088161201f565b601081526020918282016f726563697069656e744164647265737360801b81526040516117388582018093611e76565b601081526113928161201f565b50346102105780600319360112610210576040516117628161201f565b601081526020918282016f70726f66696c65325f6d656d6265723160801b81526040516117388582018093611e76565b50346102105780600319360112610210576103dd6040516117b28161203a565b60028152604036602083013760405191829182611d9a565b5034610210578060031936011261021057604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b828210611829576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611812565b5034610210578060031936011261021057604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b8282106118a8576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611891565b5034610210578060031936011261021057601d54906118e682612078565b6118f36040519182612055565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b8284106119f557858588604051916020830190602084525180915260408301600590604083831b860101939580925b8484106119605786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b8281106119ca575050505050602080600192990194019401929694939190611953565b90919293946020806119e8600193605f198782030189528951611e9c565b97019501939291016119a7565b604051611a018161201f565b82546001600160a01b0316815260018301805490611a1e82612078565b91611a2c6040519384612055565b80835260208301918a5260208a208a925b828410611a63575050505060019282602092836002950152815201920193019290611924565b60405182548d90600181811c9190811615611b33575b602082106001821614611b1e578184528f919060018116908115611af95750600114611ac3575b505060019282611ab585946020940382612055565b815201920193019290611a3d565b909150848252602082205b818310611ae357505081016020018d82611aa0565b6001816020925483868801015201920191611ace565b60ff191660208681019190915291151560051b850190910192508f9150839050611aa0565b50634e487b7160e01b8f52602260045260248ffd5b90607f1690611a79565b5034610210578060031936011261021057604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b828210611b9c576103dd856103d181890382612055565b83546001600160a01b031686529485019460019384019390910190611b85565b5034610210578060031936011261021057604051611bd98161201f565b601081526020918282016f70726f66696c65315f6d656d6265723160801b81526040516117388582018093611e76565b5034610210578060031936011261021057604051611c268161201f565b600e81526020918282016d383937b334b632992fb7bbb732b960911b8152604051611c548582018093611e50565b600e81526113928161201f565b50346102105780600319360112610210576020604051308152f35b5034610210578060031936011261021057604051611c998161201f565b600a8152602091828201693932b1b4b834b2b73a1960b11b8152604051611cc38582018093611e2a565b600a81526113928161201f565b5034610210578060031936011261021057604051611ced8161201f565b6013815260209182820172383937b334b63298afb737ba20a6b2b6b132b960691b8152604051611d208582018093611e04565b601381526113928161201f565b905034611d755781600319360112611d7557611d488161201f565b600d81526020918282016c706f6f6c5f6d616e616765723160981b81526040516113858582018093611dde565b5080fd5b34611d95576000366003190112611d9557602060405160008152f35b600080fd5b6020908160408183019282815285518094520193019160005b828110611dc1575050505090565b83516001600160a01b031685529381019392810192600101611db3565b60005b600d8110611df4575050600d6000910152565b8181015183820152602001611de1565b60005b60138110611e1a57505060136000910152565b8181015183820152602001611e07565b60005b600a8110611e40575050600a6000910152565b8181015183820152602001611e2d565b60005b600e8110611e66575050600e6000910152565b8181015183820152602001611e53565b60005b60108110611e8c57505060106000910152565b8181015183820152602001611e79565b919082519283825260005b848110611ec8575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611ea7565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510611f1357505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b808210611f705750505090806001929a019501950193969594929190611f01565b82516001600160e01b03191684528a94938401939092019160019190910190611f4f565b602080820190808352835180925260408301928160408460051b8301019501936000915b848310611fc85750505050505090565b9091929394958480611fe6600193603f198682030187528a51611e9c565b9801930193019194939290611fb8565b6001600160401b03811161200957604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111761200957604052565b606081019081106001600160401b0382111761200957604052565b601f909101601f19168101906001600160401b0382119082101761200957604052565b6001600160401b0381116120095760051b60200190565b80511561209c5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561209c5760400190565b60085460ff1680156120d15790565b50604051630667f9d760e41b815260208160448160008051602061215e8339815191528060048301526519985a5b195960d21b60248301525afa90811561215157600091612120575b50151590565b906020823d8211612149575b8161213960209383612055565b810103126102105750513861211a565b3d915061212c565b6040513d6000823e3d90fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212208c617e23452f66192220e142cc37015763588c23f19c375aaf042c7f73c2167864736f6c63430008130033","sourceMap":"393:304:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1016:26:34;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;192:59:23;;;;20344:19:25;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;291:59;393:304:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;393:304:18;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;393:304:18;;;;;;;;;20373:20:25;;;;;:::i;:::-;393:304:18;;20373:20:25;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20373:20:25;393:304:18;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;393:304:18;;;;;;;;;;;;;;;2421:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;393:304:18;;;20303:22:25;;20293:33;393:304:18;;192:59:23;;;;20344:19:25;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;20373:20;;;;;;291:59;393:304:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;393:304:18;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2273:18:27;393:304:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2273:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;393:304:18;;;;;;;;-1:-1:-1;393:304:18;;;;;-1:-1:-1;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;-1:-1:-1;393:304:18;;;;;;;;;-1:-1:-1;393:304:18;;;;-1:-1:-1;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;3726:1:16;393:304:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;;192:59:23;;;;20344:19:25;;;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;393:304:18;;192:59:23;;;;20373:20:25;;;;393:304:18;;;291:59:25;192::23;393:304:18;;;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;393:304:18;3738:32:16;;;;;:::i;:::-;393:304:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;20344:19:25;;;393:304:18;20344:19:25;;192:59:23;20344:19:25;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;;393:304:18;291:59:25;393:304:18;;;20373:20:25;;;;;;;;;393:304:18;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;393:304:18;;3780:32:16;;;;;:::i;:::-;393:304:18;;;;;;;;:::i;20373:20:25:-;;;;;:::i;:::-;393:304:18;;20373:20:25;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20373:20:25;393:304:18;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;393:304:18;;;291:59:25;;;;20344:19;;;;;;;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20373:20:25;;;;:::i;:::-;393:304:18;;20373:20:25;;;;393:304:18;;;;20373:20:25;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20344:19:25;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;;393:304:18;;;;;;;;;;;;;3190:18:27;393:304:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3190:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;393:304:18;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;393:304:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;393:304:18;192:59:23;393:304:18;;;192:59:23;;;;;;393:304:18;;;;;192:59:23;;;;;393:304:18;;;;192:59:23;393:304:18;;;192:59:23;;;;;393:304:18;;;;192:59:23;;393:304:18;;;;192:59:23;;393:304:18;192:59:23;;393:304:18;;;;192:59:23;;393:304:18;192:59:23;;393:304:18;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;2707:18:27;393:304:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2707:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;393:304:18;;;;;;;;-1:-1:-1;393:304:18;;;;;-1:-1:-1;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;-1:-1:-1;393:304:18;;;;;;;;;-1:-1:-1;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;678:10;393:304;;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2108:1:16;393:304:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;;192:59:23;;;;20344:19:25;;;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;393:304:18;;192:59:23;;;;20373:20:25;;;;393:304:18;;;291:59:25;192::23;393:304:18;;;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;393:304:18;2120:29:16;;;;;:::i;:::-;393:304:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;20373:20::-;;;;:::i;:::-;393:304:18;;20373:20:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;;393:304:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2914:1:16;393:304:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;;192:59:23;;;;20344:19:25;;;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;393:304:18;;192:59:23;;;;20373:20:25;;;;393:304:18;;;291:59:25;192::23;393:304:18;;;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;393:304:18;2926:32:16;;;;;;;;;:::i;:::-;393:304:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;20373:20:25:-;;;;;;;;;;:::i;:::-;;;;;;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;20373:20:25;393:304:18;;;20344:19:25;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;;;393:304:18;;192:59:23;393:304:18;;192:59:23;;;;393:304:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;393:304:18;20293:33:25;;393:304:18;;192:59:23;;;;20344:19:25;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;393:304:18;20373:20:25;;;;;;291:59;393:304:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;393:304:18;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;393:304:18;;;;;;;;20373:20:25;;;;:::i;:::-;;;;;393:304:18;;192:59:23;;;;;;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;393:304:18;;291:59:25;;;;20344:19;;;;;;;;393:304:18;;;;;;;;;;;;;2883:26:27;393:304:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2883:26:27;393:304:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;393:304:18;192:59:23;393:304:18;;;192:59:23;;;;;;393:304:18;;;;;192:59:23;;;;;393:304:18;;;;192:59:23;393:304:18;;;192:59:23;;;;;393:304:18;;;;192:59:23;;393:304:18;;;;192:59:23;;393:304:18;192:59:23;;393:304:18;;;;192:59:23;;393:304:18;192:59:23;;393:304:18;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;393:304:18;;;20303:22:25;;20293:33;393:304:18;;192:59:23;;;;20344:19:25;;393:304:18;20344:19:25;;192:59:23;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;20373:20;;;;;;291:59;393:304:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;393:304:18;;;;;20373:20:25;;393:304:18;20373:20:25;;393:304:18;;291:59:25;;;;;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;1440:1:16;393:304:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;3038:18:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3331:16:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:19:27;393:304:18;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3485:19:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;192:59:23;393:304:18;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;393:304:18;;-1:-1:-1;393:304:18;;-1:-1:-1;393:304:18;;;-1:-1:-1;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2563:16:27;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;306:4:16;393:304:18;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;20303:22:25;;;;;:::i;393:304:18:-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;393:304:18;;;;;20303:22:25;;;393:304:18;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;393:304:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;393:304:18;;;;;;;:::o;:::-;;;;;-1:-1:-1;;393:304:18;;;;-1:-1:-1;;;;;393:304:18;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;393:304:18;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2977:1:16;393:304:18;;;;;;;:::o;1243:204:23:-;1302:7;393:304:18;;;;;;;1325:14:23;:::o;1298:143::-;393:304:18;;;192:59:23;;;1377:39;;;393:304:18;192:59:23;393:304:18;-1:-1:-1;;;;;;;;;;;1377:39:23;;;;393:304:18;192:59:23;;;;;;;1377:39;;;;;;;-1:-1:-1;1377:39:23;;;1298:143;1377:53;;;1370:60;:::o;1377:39::-;;;;;;;;;;;;;;;;:::i;:::-;;;192:59;;;;;;1377:39;;;;;;-1:-1:-1;1377:39:23;;;393:304:18;;192:59:23;-1:-1:-1;192:59:23;;;;","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetup\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup an empty Registry contract for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetup\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetup"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5146,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5339,"exportedSymbols":{"Accounts":[5068],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5174],"RegistrySetupFull":[5338],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"Test":[17877],"TestBase":[5876],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"42:2823:18","nodes":[{"id":5131,"nodeType":"PragmaDirective","src":"42:24:18","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5132,"nodeType":"ImportDirective","src":"68:28:18","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":5134,"nodeType":"ImportDirective","src":"98:62:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5133,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5136,"nodeType":"ImportDirective","src":"161:72:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5135,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5138,"nodeType":"ImportDirective","src":"234:40:18","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":5069,"symbolAliases":[{"foreign":{"id":5137,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5068,"src":"242:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5174,"nodeType":"ContractDefinition","src":"393:304:18","nodes":[{"id":5146,"nodeType":"VariableDeclaration","src":"440:28:18","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:18","scope":5174,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5145,"nodeType":"UserDefinedTypeName","pathNode":{"id":5144,"name":"Registry","nameLocations":["440:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:18"},"referencedDeclaration":2295,"src":"440:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5164,"nodeType":"FunctionDefinition","src":"475:129:18","nodes":[],"body":{"id":5163,"nodeType":"Block","src":"511:93:18","nodes":[],"statements":[{"expression":{"id":5154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5149,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"521:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:18","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5151,"nodeType":"UserDefinedTypeName","pathNode":{"id":5150,"name":"Registry","nameLocations":["538:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:18"},"referencedDeclaration":2295,"src":"538:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5155,"nodeType":"ExpressionStatement","src":"521:27:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5159,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4717,"src":"580:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5156,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"558:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:18","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5162,"nodeType":"ExpressionStatement","src":"558:39:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:18","parameters":{"id":5147,"nodeType":"ParameterList","parameters":[],"src":"499:2:18"},"returnParameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"511:0:18"},"scope":5174,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5173,"nodeType":"FunctionDefinition","src":"610:85:18","nodes":[],"body":{"id":5172,"nodeType":"Block","src":"661:34:18","nodes":[],"statements":[{"expression":{"id":5170,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"678:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5169,"id":5171,"nodeType":"Return","src":"671:17:18"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:18","parameters":{"id":5165,"nodeType":"ParameterList","parameters":[],"src":"627:2:18"},"returnParameters":{"id":5169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5173,"src":"651:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5167,"nodeType":"UserDefinedTypeName","pathNode":{"id":5166,"name":"Registry","nameLocations":["651:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:18"},"referencedDeclaration":2295,"src":"651:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:18"},"scope":5174,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5140,"name":"Test","nameLocations":["419:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"419:4:18"},"id":5141,"nodeType":"InheritanceSpecifier","src":"419:4:18"},{"baseName":{"id":5142,"name":"Accounts","nameLocations":["425:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":5068,"src":"425:8:18"},"id":5143,"nodeType":"InheritanceSpecifier","src":"425:8:18"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5139,"nodeType":"StructuredDocumentation","src":"276:117:18","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetup","nameLocation":"402:13:18","scope":5339,"usedErrors":[]},{"id":5338,"nodeType":"ContractDefinition","src":"833:2031:18","nodes":[{"id":5179,"nodeType":"VariableDeclaration","src":"883:32:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5181,"nodeType":"VariableDeclaration","src":"921:36:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5180,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5183,"nodeType":"VariableDeclaration","src":"964:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5185,"nodeType":"VariableDeclaration","src":"999:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5184,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5187,"nodeType":"VariableDeclaration","src":"1039:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5189,"nodeType":"VariableDeclaration","src":"1074:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5188,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5289,"nodeType":"FunctionDefinition","src":"1114:930:18","nodes":[],"body":{"id":5288,"nodeType":"Block","src":"1154:890:18","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5192,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5164,"src":"1164:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5194,"nodeType":"ExpressionStatement","src":"1164:17:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5198,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1201:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1192:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1192:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5201,"nodeType":"ExpressionStatement","src":"1192:22:18"},{"expression":{"id":5216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5202,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1224:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5207,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:18","1324:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5211,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1351:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5213,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"1365:13:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5203,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1242:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5217,"nodeType":"ExpressionStatement","src":"1224:166:18"},{"expression":{"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5218,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"1400:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5221,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1448:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5219,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1422:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5225,"nodeType":"ExpressionStatement","src":"1400:71:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5229,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1491:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5226,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1482:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1482:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5232,"nodeType":"ExpressionStatement","src":"1482:26:18"},{"expression":{"id":5247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5233,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1518:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5238,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:18","1610:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5242,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1633:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5244,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4933,"src":"1651:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5234,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1533:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5248,"nodeType":"ExpressionStatement","src":"1518:161:18"},{"expression":{"id":5255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5249,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"1689:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5252,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1734:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5250,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1708:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5256,"nodeType":"ExpressionStatement","src":"1689:65:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5260,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1774:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1765:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1765:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5263,"nodeType":"ExpressionStatement","src":"1765:26:18"},{"expression":{"id":5278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5264,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"1801:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5269,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:18","1893:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5273,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1916:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5275,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5007,"src":"1934:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5265,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1816:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5279,"nodeType":"ExpressionStatement","src":"1801:161:18"},{"expression":{"id":5286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5280,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"1972:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5283,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2017:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5281,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1991:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5287,"nodeType":"ExpressionStatement","src":"1972:65:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:18","parameters":{"id":5190,"nodeType":"ParameterList","parameters":[],"src":"1142:2:18"},"returnParameters":{"id":5191,"nodeType":"ParameterList","parameters":[],"src":"1154:0:18"},"scope":5338,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5297,"nodeType":"FunctionDefinition","src":"2050:103:18","nodes":[],"body":{"id":5296,"nodeType":"Block","src":"2114:39:18","nodes":[],"statements":[{"expression":{"id":5294,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"2131:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5293,"id":5295,"nodeType":"Return","src":"2124:22:18"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:18","parameters":{"id":5290,"nodeType":"ParameterList","parameters":[],"src":"2073:2:18"},"returnParameters":{"id":5293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5297,"src":"2105:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5305,"nodeType":"FunctionDefinition","src":"2159:111:18","nodes":[],"body":{"id":5304,"nodeType":"Block","src":"2227:43:18","nodes":[],"statements":[{"expression":{"id":5302,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"2244:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5301,"id":5303,"nodeType":"Return","src":"2237:26:18"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:18","parameters":{"id":5298,"nodeType":"ParameterList","parameters":[],"src":"2186:2:18"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5305,"src":"2218:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5299,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5313,"nodeType":"FunctionDefinition","src":"2276:97:18","nodes":[],"body":{"id":5312,"nodeType":"Block","src":"2337:36:18","nodes":[],"statements":[{"expression":{"id":5310,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"2354:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5309,"id":5311,"nodeType":"Return","src":"2347:19:18"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:18","parameters":{"id":5306,"nodeType":"ParameterList","parameters":[],"src":"2296:2:18"},"returnParameters":{"id":5309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5313,"src":"2328:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5321,"nodeType":"FunctionDefinition","src":"2461:105:18","nodes":[],"body":{"id":5320,"nodeType":"Block","src":"2526:40:18","nodes":[],"statements":[{"expression":{"id":5318,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"2543:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5317,"id":5319,"nodeType":"Return","src":"2536:23:18"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:18","parameters":{"id":5314,"nodeType":"ParameterList","parameters":[],"src":"2485:2:18"},"returnParameters":{"id":5317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5321,"src":"2517:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5315,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5329,"nodeType":"FunctionDefinition","src":"2572:97:18","nodes":[],"body":{"id":5328,"nodeType":"Block","src":"2633:36:18","nodes":[],"statements":[{"expression":{"id":5326,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2650:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5325,"id":5327,"nodeType":"Return","src":"2643:19:18"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:18","parameters":{"id":5322,"nodeType":"ParameterList","parameters":[],"src":"2592:2:18"},"returnParameters":{"id":5325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"2624:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5337,"nodeType":"FunctionDefinition","src":"2757:105:18","nodes":[],"body":{"id":5336,"nodeType":"Block","src":"2822:40:18","nodes":[],"statements":[{"expression":{"id":5334,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"2839:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5333,"id":5335,"nodeType":"Return","src":"2832:23:18"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:18","parameters":{"id":5330,"nodeType":"ParameterList","parameters":[],"src":"2781:2:18"},"returnParameters":{"id":5333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5337,"src":"2813:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5331,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5176,"name":"RegistrySetup","nameLocations":["863:13:18"],"nodeType":"IdentifierPath","referencedDeclaration":5174,"src":"863:13:18"},"id":5177,"nodeType":"InheritanceSpecifier","src":"863:13:18"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5175,"nodeType":"StructuredDocumentation","src":"699:134:18","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5338,5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetupFull","nameLocation":"842:17:18","scope":5339,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":18}
\ No newline at end of file
diff --git a/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json b/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json
index 78e08ec27..e10dc6c05 100644
--- a/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json
+++ b/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461002d57600160ff198181600c541617600c55601e541617601e556122c890816100338239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908162b1fad714611e4257508063030e400614611de55780630688b13514611d915780630f166ad414611d76578063174eedde14610e0b578063176effb314611d4f5780631854036114611d315780631b96dce614611cd95780631e7bcb2e14611c8c5780631ed7831c14611c0d5780632ade3880146119985780633554642a1461196f57806339f56f7f146119515780633e5e3c23146118d25780633f7286f4146118535780634bf4ba211461181b578063587c1243146117ce5780635aff59991461177457806366d003ac1461168857806366d9a9a01461150b5780636a38dd0a146113c457806370a329441461120857806374d9284e14610e0b578063759c9a861461119957806379e62d0d14610ff55780637b10399914610fc85780637b2edf3214610f7b5780637cbe79ed14610f34578063829e423f14610e0b57806385226c8114610e105780638c7408c414610e0b5780638e0d1a5014610dc45780638e3c249314610d77578063916a17c614610b1c578063a407c67a1461087d578063aa3744bd14610829578063b5508aa9146106f1578063ba414fa6146106cc578063c5d7d73b146106a3578063d1e82b5814610649578063d1f2cd88146105fe578063d5bee9f514610510578063da4bf087146104b9578063dac4eb1614610461578063e20c9f71146103d2578063ef0d790f14610273578063fa7626d4146102505763fd325c601461023057600080fd5b3461024d578060031936011261024d576020601f54604051908152f35b80fd5b503461024d578060031936011261024d57602060ff601e54166040519015158152f35b503461024d578060031936011261024d5760405161029081612134565b6013815260209182820172383937b334b632992fb737ba20a6b2b6b132b960691b81526040516102c38582018093611f19565b601381526102d081612134565b5190206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c757839161038a575b50813b156103865761034e839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b03925af1801561037b57610367575b5050604051908152f35b610371829161210b565b61024d578061035d565b6040513d84823e3d90fd5b8280fd5b90508481813d83116103c0575b6103a1818361216a565b8101031261038657516001600160a01b0381168103610386573861030c565b503d610397565b6040513d85823e3d90fd5b503461024d578060031936011261024d57604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b8282106104415761043d856104318189038261216a565b60405191829182611eaf565b0390f35b83546001600160a01b03168652948501946001938401939091019061041a565b503461024d578060031936011261024d5760405161047e81612134565b600e81526020918282016d3932b3b4b9ba393cafb7bbb732b960911b81526040516104ac8582018093611f65565b600e81526102d081612134565b503461024d578060031936011261024d576040516104d681612134565b600d81526020918282016c616c6c6f5f747265617375727960981b81526040516105038582018093611ef3565b600d81526102d081612134565b503461024d578060031936011261024d5760405161052d81612134565b600b918282526020926a1c985b991bdb4818da185960aa1b848401526040519084835b8281106105ea57505082602b830152815261056a81612134565b8381519101206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c757839161038a5750813b156103865761034e839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b818187010151828286010152018590610550565b503461024d578060031936011261024d5760405161061b81612134565b600e81526020918282016d383937b334b63298afb7bbb732b960911b81526040516104ac8582018093611f65565b503461024d578060031936011261024d5760405161066681612134565b601081526020918282016f3837b7b62fb737ba20a6b0b730b3b2b960811b81526040516106968582018093611f8b565b601081526102d081612134565b503461024d578060031936011261024d576022546040516001600160a01b039091168152602090f35b503461024d578060031936011261024d5760206106e76121d7565b6040519015158152f35b503461024d578060031936011261024d5760195461070e8161218d565b9061071c604051928361216a565b808252601983527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695928060208085015b848310610761576040518061043d88826120a9565b604051849188549160019280841c90848116801561081f575b878310811461080b57828452879493929181156107ef57506001146107b7575b506107a981600196038261216a565b81520197019201919561074c565b8b8952838920955088905b8082106107d857508101830194506107a961079a565b8654838301860152958501958794909101906107c2565b60ff19168584015250151560051b8101830194506107a961079a565b634e487b7160e01b8a52602260045260248afd5b91607f169161077a565b503461024d578060031936011261024d5760405161084681612134565b600a815260209182820169726563697069656e743160b01b81526040516108708582018093611f3f565b600a81526102d081612134565b503461024d578060031936011261024d5760405161089a8161214f565b600281526020604036828401376040516108b381612134565b60108152838282016f70726f66696c65325f6d656d6265723160801b81526040516108e18582018093611f8b565b601081526108ee81612134565b519020926040519063ffa1864960e01b948583526004830152600080516020612273833981519152908083602481855afa928315610a69578493610add575b50813b15610a7457604051946318caf8e360e31b9586815285818061096d60018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1908115610ad2578691610aba575b505061098c886121a4565b526040519561099a87612134565b601087528187016f383937b334b632992fb6b2b6b132b91960811b81526040516109c78482018093611f8b565b601081526109d481612134565b51902060405191825260048201528181602481865afa918215610aaf578592610a78575b5050813b15610a745783610a2b956040519687958694859384521698896004840152604060248401526044830190611fb1565b03925af18015610a6957610a55575b61043d8383610a48826121c7565b5260405191829182611eaf565b610a5f849161210b565b6103865782610a3a565b6040513d86823e3d90fd5b8380fd5b90809250813d8311610aa8575b610a8f818361216a565b81010312610a7457518281168103610a745738806109f8565b503d610a85565b6040513d87823e3d90fd5b610ac39061210b565b610ace578438610981565b8480fd5b6040513d88823e3d90fd5b9080935081813d8311610b15575b610af5818361216a565b81010312610a7457516001600160a01b0381168103610a7457913861092d565b503d610aeb565b503461024d578060031936011261024d57601c54610b398161218d565b90610b47604051928361216a565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610b8a576040518061043d8782611ff1565b604051610b9681612134565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110610d095784600197946002979460209794610c21945491818110610ced575b818110610cd1575b818110610cb5575b818110610c99575b818110610c7d575b818110610c61575b818110610c47575b10610c33575b50038261216a565b83820152815201920192019190610b75565b6001600160e01b0319168152860138610c19565b828a1b6001600160e01b0319168452928901928b01610c13565b604083901b6001600160e01b0319168452928901928b01610c0b565b606083901b6001600160e01b0319168452928901928b01610c03565b608083901b6001600160e01b0319168452928901928b01610bfb565b60a083901b6001600160e01b0319168452928901928b01610bf3565b60c083901b6001600160e01b0319168452928901928b01610beb565b60e083901b6001600160e01b0319168452928901928b01610be3565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191610bbe565b503461024d578060031936011261024d57604051610d9481612134565b601081526020918282016f383937b334b632992fb6b2b6b132b91960811b81526040516106968582018093611f8b565b503461024d578060031936011261024d57604051610de181612134565b600a8152602091828201693837b7b62fb0b236b4b760b11b81526040516108708582018093611f3f565b611e8e565b503461024d578060031936011261024d57601a54610e2d8161218d565b90610e3b604051928361216a565b808252601a83527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e928060208085015b848310610e80576040518061043d88826120a9565b604051849188549160019280841c908481168015610f2a575b878310811461080b5782845287949392918115610f0e5750600114610ed6575b50610ec881600196038261216a565b815201970192019195610e6b565b8b8952838920955088905b808210610ef75750810183019450610ec8610eb9565b865483830186015295850195879490910190610ee1565b60ff19168584015250151560051b810183019450610ec8610eb9565b91607f1691610e99565b503461024d578060031936011261024d57604051610f5181612134565b600a81526020918282016930b63637afb7bbb732b960b11b81526040516108708582018093611f3f565b503461024d578060031936011261024d57604051610f9881612134565b601081526020918282016f383937b334b63298afb6b2b6b132b91960811b81526040516106968582018093611f8b565b503461024d578060031936011261024d57601e5460405160089190911c6001600160a01b03168152602090f35b503461024d578060031936011261024d576040516110128161214f565b6002815260206040368284013760405161102b81612134565b600d8152838282016c706f6f6c5f6d616e616765723160981b81526040516110568582018093611ef3565b600d815261106381612134565b519020926040519063ffa1864960e01b948583526004830152600080516020612273833981519152908083602481855afa928315610a6957849361115a575b50813b15610a7457604051946318caf8e360e31b958681528581806110e260018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1908115610ad2578691611146575b5050611101886121a4565b526040519561110f87612134565b600d87528187016c3837b7b62fb6b0b730b3b2b91960991b81526040516111398482018093611ef3565b600d81526109d481612134565b61114f9061210b565b610ace5784386110f6565b9080935081813d8311611192575b611172818361216a565b81010312610a7457516001600160a01b0381168103610a745791386110a2565b503d611168565b503461024d578060031936011261024d576040516111b681612134565b600c918282526020926b1b9bd7dc9958da5c1a595b9d60a21b848401526040519084835b8281106111f457505082602c830152815261056a81612134565b8181870101518282860101520185906111da565b503461024d578060031936011261024d576040516112258161214f565b6002815260206040368284013760405161123e81612134565b601081528181016f70726f66696c65315f6d656d6265723160801b815260405161126b8482018093611f8b565b6010815261127881612134565b519020916040519063ffa1864960e01b938483526004830152600080516020612273833981519152908083602481855afa9283156113b957879361137a575b50813b1561137657604051936318caf8e360e31b948581528881806112f760018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1801561136b57611352575b509087939291611317886121a4565b526040519561132587612134565b601087528187016f383937b334b63298afb6b2b6b132b91960811b81526040516109c78482018093611f8b565b6113619098919493929861210b565b9690919238611308565b6040513d8b823e3d90fd5b8680fd5b9080935081813d83116113b2575b611392818361216a565b8101031261137657516001600160a01b03811681036113765791386112b7565b503d611388565b6040513d89823e3d90fd5b503461024d578060031936011261024d576040516113e181612134565b600d81526020918282016c3837b7b62fb6b0b730b3b2b91960991b815260405161140e8582018093611ef3565b600d815261141b81612134565b5190206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c75783916114ce575b50813b1561038657611499839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b03925af19081156114c257506114b3575b50604051908152f35b6114bc9061210b565b386114aa565b604051903d90823e3d90fd5b90508481813d8311611504575b6114e5818361216a565b8101031261038657516001600160a01b03811681036103865738611457565b503d6114db565b503461024d578060031936011261024d57601b546115288161218d565b90611536604051928361216a565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b838310611579576040518061043d8782611ff1565b60405161158581612134565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b81600784011061161a5784600197946002979460209794611608945491818110610ced57818110610cd157818110610cb557818110610c9957818110610c7d57818110610c6157818110610c475710610c335750038261216a565b83820152815201920192019190611564565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e08201520194019201916115ad565b503461024d578060031936011261024d576040516116a581612134565b600991828252602092681c9958da5c1a595b9d60ba1b848401526040519084835b82811061176057505082602983015281526116e081612134565b8381519101206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c75783916114ce5750813b1561038657611499839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b8181870101518282860101520185906116c6565b503461024d578060031936011261024d5760405161179181612134565b601081526020918282016f726563697069656e744164647265737360801b81526040516117c18582018093611f8b565b6010815261141b81612134565b503461024d578060031936011261024d576040516117eb81612134565b601081526020918282016f70726f66696c65325f6d656d6265723160801b81526040516117c18582018093611f8b565b503461024d578060031936011261024d5761043d60405161183b8161214f565b60028152604036602083013760405191829182611eaf565b503461024d578060031936011261024d57604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b8282106118b25761043d856104318189038261216a565b83546001600160a01b03168652948501946001938401939091019061189b565b503461024d578060031936011261024d57604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b8282106119315761043d856104318189038261216a565b83546001600160a01b03168652948501946001938401939091019061191a565b503461024d578060031936011261024d576020602154604051908152f35b503461024d578060031936011261024d576024546040516001600160a01b039091168152602090f35b503461024d578060031936011261024d57601d54906119b68261218d565b6119c3604051918261216a565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b828410611ac557858588604051916020830190602084525180915260408301600590604083831b860101939580925b848410611a305786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b828110611a9a575050505050602080600192990194019401929694939190611a23565b9091929394602080611ab8600193605f198782030189528951611fb1565b9701950193929101611a77565b604051611ad181612134565b82546001600160a01b0316815260018301805490611aee8261218d565b91611afc604051938461216a565b80835260208301918a5260208a208a925b828410611b335750505050600192826020928360029501528152019201930192906119f4565b60405182548d90600181811c9190811615611c03575b602082106001821614611bee578184528f919060018116908115611bc95750600114611b93575b505060019282611b858594602094038261216a565b815201920193019290611b0d565b909150848252602082205b818310611bb357505081016020018d82611b70565b6001816020925483868801015201920191611b9e565b60ff191660208681019190915291151560051b850190910192508f9150839050611b70565b50634e487b7160e01b8f52602260045260248ffd5b90607f1690611b49565b503461024d578060031936011261024d57604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b828210611c6c5761043d856104318189038261216a565b83546001600160a01b031686529485019460019384019390910190611c55565b503461024d578060031936011261024d57604051611ca981612134565b601081526020918282016f70726f66696c65315f6d656d6265723160801b81526040516117c18582018093611f8b565b503461024d578060031936011261024d57604051611cf681612134565b600e81526020918282016d383937b334b632992fb7bbb732b960911b8152604051611d248582018093611f65565b600e815261141b81612134565b503461024d578060031936011261024d576020602354604051908152f35b503461024d578060031936011261024d57602080546040516001600160a01b039091168152f35b503461024d578060031936011261024d576020604051308152f35b503461024d578060031936011261024d57604051611dae81612134565b600a8152602091828201693932b1b4b834b2b73a1960b11b8152604051611dd88582018093611f3f565b600a815261141b81612134565b503461024d578060031936011261024d57604051611e0281612134565b6013815260209182820172383937b334b63298afb737ba20a6b2b6b132b960691b8152604051611e358582018093611f19565b6013815261141b81612134565b905034611e8a5781600319360112611e8a57611e5d81612134565b600d81526020918282016c706f6f6c5f6d616e616765723160981b815260405161140e8582018093611ef3565b5080fd5b34611eaa576000366003190112611eaa57602060405160008152f35b600080fd5b6020908160408183019282815285518094520193019160005b828110611ed6575050505090565b83516001600160a01b031685529381019392810192600101611ec8565b60005b600d8110611f09575050600d6000910152565b8181015183820152602001611ef6565b60005b60138110611f2f57505060136000910152565b8181015183820152602001611f1c565b60005b600a8110611f55575050600a6000910152565b8181015183820152602001611f42565b60005b600e8110611f7b575050600e6000910152565b8181015183820152602001611f68565b60005b60108110611fa157505060106000910152565b8181015183820152602001611f8e565b919082519283825260005b848110611fdd575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611fbc565b602080820190808352835180925260409283810182858560051b840101960194600080935b86851061202857505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b8082106120855750505090806001929a019501950193969594929190612016565b82516001600160e01b03191684528a94938401939092019160019190910190612064565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106120dd5750505050505090565b90919293949584806120fb600193603f198682030187528a51611fb1565b98019301930191949392906120cd565b6001600160401b03811161211e57604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111761211e57604052565b606081019081106001600160401b0382111761211e57604052565b601f909101601f19168101906001600160401b0382119082101761211e57604052565b6001600160401b03811161211e5760051b60200190565b8051156121b15760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156121b15760400190565b60085460ff1680156121e65790565b50604051630667f9d760e41b81526020816044816000805160206122738339815191528060048301526519985a5b195960d21b60248301525afa90811561226657600091612235575b50151590565b906020823d821161225e575b8161224e6020938361216a565b8101031261024d5750513861222f565b3d9150612241565b6040513d6000823e3d90fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212207bcb715f9103af3810dc2601f1689479dd280835b4b595e687baa8dd10e0b5de64736f6c63430008130033","sourceMap":"833:2031:18:-:0;;;;;;;3166:4:24;833:2031:18;;;;3166:4:24;833:2031:18;;;3166:4:24;833:2031:18;1038:4:34;833:2031:18;;;1038:4:34;833:2031:18;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b600090813560e01c908162b1fad714611e4257508063030e400614611de55780630688b13514611d915780630f166ad414611d76578063174eedde14610e0b578063176effb314611d4f5780631854036114611d315780631b96dce614611cd95780631e7bcb2e14611c8c5780631ed7831c14611c0d5780632ade3880146119985780633554642a1461196f57806339f56f7f146119515780633e5e3c23146118d25780633f7286f4146118535780634bf4ba211461181b578063587c1243146117ce5780635aff59991461177457806366d003ac1461168857806366d9a9a01461150b5780636a38dd0a146113c457806370a329441461120857806374d9284e14610e0b578063759c9a861461119957806379e62d0d14610ff55780637b10399914610fc85780637b2edf3214610f7b5780637cbe79ed14610f34578063829e423f14610e0b57806385226c8114610e105780638c7408c414610e0b5780638e0d1a5014610dc45780638e3c249314610d77578063916a17c614610b1c578063a407c67a1461087d578063aa3744bd14610829578063b5508aa9146106f1578063ba414fa6146106cc578063c5d7d73b146106a3578063d1e82b5814610649578063d1f2cd88146105fe578063d5bee9f514610510578063da4bf087146104b9578063dac4eb1614610461578063e20c9f71146103d2578063ef0d790f14610273578063fa7626d4146102505763fd325c601461023057600080fd5b3461024d578060031936011261024d576020601f54604051908152f35b80fd5b503461024d578060031936011261024d57602060ff601e54166040519015158152f35b503461024d578060031936011261024d5760405161029081612134565b6013815260209182820172383937b334b632992fb737ba20a6b2b6b132b960691b81526040516102c38582018093611f19565b601381526102d081612134565b5190206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c757839161038a575b50813b156103865761034e839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b03925af1801561037b57610367575b5050604051908152f35b610371829161210b565b61024d578061035d565b6040513d84823e3d90fd5b8280fd5b90508481813d83116103c0575b6103a1818361216a565b8101031261038657516001600160a01b0381168103610386573861030c565b503d610397565b6040513d85823e3d90fd5b503461024d578060031936011261024d57604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b8282106104415761043d856104318189038261216a565b60405191829182611eaf565b0390f35b83546001600160a01b03168652948501946001938401939091019061041a565b503461024d578060031936011261024d5760405161047e81612134565b600e81526020918282016d3932b3b4b9ba393cafb7bbb732b960911b81526040516104ac8582018093611f65565b600e81526102d081612134565b503461024d578060031936011261024d576040516104d681612134565b600d81526020918282016c616c6c6f5f747265617375727960981b81526040516105038582018093611ef3565b600d81526102d081612134565b503461024d578060031936011261024d5760405161052d81612134565b600b918282526020926a1c985b991bdb4818da185960aa1b848401526040519084835b8281106105ea57505082602b830152815261056a81612134565b8381519101206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c757839161038a5750813b156103865761034e839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b818187010151828286010152018590610550565b503461024d578060031936011261024d5760405161061b81612134565b600e81526020918282016d383937b334b63298afb7bbb732b960911b81526040516104ac8582018093611f65565b503461024d578060031936011261024d5760405161066681612134565b601081526020918282016f3837b7b62fb737ba20a6b0b730b3b2b960811b81526040516106968582018093611f8b565b601081526102d081612134565b503461024d578060031936011261024d576022546040516001600160a01b039091168152602090f35b503461024d578060031936011261024d5760206106e76121d7565b6040519015158152f35b503461024d578060031936011261024d5760195461070e8161218d565b9061071c604051928361216a565b808252601983527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695928060208085015b848310610761576040518061043d88826120a9565b604051849188549160019280841c90848116801561081f575b878310811461080b57828452879493929181156107ef57506001146107b7575b506107a981600196038261216a565b81520197019201919561074c565b8b8952838920955088905b8082106107d857508101830194506107a961079a565b8654838301860152958501958794909101906107c2565b60ff19168584015250151560051b8101830194506107a961079a565b634e487b7160e01b8a52602260045260248afd5b91607f169161077a565b503461024d578060031936011261024d5760405161084681612134565b600a815260209182820169726563697069656e743160b01b81526040516108708582018093611f3f565b600a81526102d081612134565b503461024d578060031936011261024d5760405161089a8161214f565b600281526020604036828401376040516108b381612134565b60108152838282016f70726f66696c65325f6d656d6265723160801b81526040516108e18582018093611f8b565b601081526108ee81612134565b519020926040519063ffa1864960e01b948583526004830152600080516020612273833981519152908083602481855afa928315610a69578493610add575b50813b15610a7457604051946318caf8e360e31b9586815285818061096d60018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1908115610ad2578691610aba575b505061098c886121a4565b526040519561099a87612134565b601087528187016f383937b334b632992fb6b2b6b132b91960811b81526040516109c78482018093611f8b565b601081526109d481612134565b51902060405191825260048201528181602481865afa918215610aaf578592610a78575b5050813b15610a745783610a2b956040519687958694859384521698896004840152604060248401526044830190611fb1565b03925af18015610a6957610a55575b61043d8383610a48826121c7565b5260405191829182611eaf565b610a5f849161210b565b6103865782610a3a565b6040513d86823e3d90fd5b8380fd5b90809250813d8311610aa8575b610a8f818361216a565b81010312610a7457518281168103610a745738806109f8565b503d610a85565b6040513d87823e3d90fd5b610ac39061210b565b610ace578438610981565b8480fd5b6040513d88823e3d90fd5b9080935081813d8311610b15575b610af5818361216a565b81010312610a7457516001600160a01b0381168103610a7457913861092d565b503d610aeb565b503461024d578060031936011261024d57601c54610b398161218d565b90610b47604051928361216a565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610b8a576040518061043d8782611ff1565b604051610b9681612134565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110610d095784600197946002979460209794610c21945491818110610ced575b818110610cd1575b818110610cb5575b818110610c99575b818110610c7d575b818110610c61575b818110610c47575b10610c33575b50038261216a565b83820152815201920192019190610b75565b6001600160e01b0319168152860138610c19565b828a1b6001600160e01b0319168452928901928b01610c13565b604083901b6001600160e01b0319168452928901928b01610c0b565b606083901b6001600160e01b0319168452928901928b01610c03565b608083901b6001600160e01b0319168452928901928b01610bfb565b60a083901b6001600160e01b0319168452928901928b01610bf3565b60c083901b6001600160e01b0319168452928901928b01610beb565b60e083901b6001600160e01b0319168452928901928b01610be3565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191610bbe565b503461024d578060031936011261024d57604051610d9481612134565b601081526020918282016f383937b334b632992fb6b2b6b132b91960811b81526040516106968582018093611f8b565b503461024d578060031936011261024d57604051610de181612134565b600a8152602091828201693837b7b62fb0b236b4b760b11b81526040516108708582018093611f3f565b611e8e565b503461024d578060031936011261024d57601a54610e2d8161218d565b90610e3b604051928361216a565b808252601a83527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e928060208085015b848310610e80576040518061043d88826120a9565b604051849188549160019280841c908481168015610f2a575b878310811461080b5782845287949392918115610f0e5750600114610ed6575b50610ec881600196038261216a565b815201970192019195610e6b565b8b8952838920955088905b808210610ef75750810183019450610ec8610eb9565b865483830186015295850195879490910190610ee1565b60ff19168584015250151560051b810183019450610ec8610eb9565b91607f1691610e99565b503461024d578060031936011261024d57604051610f5181612134565b600a81526020918282016930b63637afb7bbb732b960b11b81526040516108708582018093611f3f565b503461024d578060031936011261024d57604051610f9881612134565b601081526020918282016f383937b334b63298afb6b2b6b132b91960811b81526040516106968582018093611f8b565b503461024d578060031936011261024d57601e5460405160089190911c6001600160a01b03168152602090f35b503461024d578060031936011261024d576040516110128161214f565b6002815260206040368284013760405161102b81612134565b600d8152838282016c706f6f6c5f6d616e616765723160981b81526040516110568582018093611ef3565b600d815261106381612134565b519020926040519063ffa1864960e01b948583526004830152600080516020612273833981519152908083602481855afa928315610a6957849361115a575b50813b15610a7457604051946318caf8e360e31b958681528581806110e260018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1908115610ad2578691611146575b5050611101886121a4565b526040519561110f87612134565b600d87528187016c3837b7b62fb6b0b730b3b2b91960991b81526040516111398482018093611ef3565b600d81526109d481612134565b61114f9061210b565b610ace5784386110f6565b9080935081813d8311611192575b611172818361216a565b81010312610a7457516001600160a01b0381168103610a745791386110a2565b503d611168565b503461024d578060031936011261024d576040516111b681612134565b600c918282526020926b1b9bd7dc9958da5c1a595b9d60a21b848401526040519084835b8281106111f457505082602c830152815261056a81612134565b8181870101518282860101520185906111da565b503461024d578060031936011261024d576040516112258161214f565b6002815260206040368284013760405161123e81612134565b601081528181016f70726f66696c65315f6d656d6265723160801b815260405161126b8482018093611f8b565b6010815261127881612134565b519020916040519063ffa1864960e01b938483526004830152600080516020612273833981519152908083602481855afa9283156113b957879361137a575b50813b1561137657604051936318caf8e360e31b948581528881806112f760018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1801561136b57611352575b509087939291611317886121a4565b526040519561132587612134565b601087528187016f383937b334b63298afb6b2b6b132b91960811b81526040516109c78482018093611f8b565b6113619098919493929861210b565b9690919238611308565b6040513d8b823e3d90fd5b8680fd5b9080935081813d83116113b2575b611392818361216a565b8101031261137657516001600160a01b03811681036113765791386112b7565b503d611388565b6040513d89823e3d90fd5b503461024d578060031936011261024d576040516113e181612134565b600d81526020918282016c3837b7b62fb6b0b730b3b2b91960991b815260405161140e8582018093611ef3565b600d815261141b81612134565b5190206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c75783916114ce575b50813b1561038657611499839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b03925af19081156114c257506114b3575b50604051908152f35b6114bc9061210b565b386114aa565b604051903d90823e3d90fd5b90508481813d8311611504575b6114e5818361216a565b8101031261038657516001600160a01b03811681036103865738611457565b503d6114db565b503461024d578060031936011261024d57601b546115288161218d565b90611536604051928361216a565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b838310611579576040518061043d8782611ff1565b60405161158581612134565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b81600784011061161a5784600197946002979460209794611608945491818110610ced57818110610cd157818110610cb557818110610c9957818110610c7d57818110610c6157818110610c475710610c335750038261216a565b83820152815201920192019190611564565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e08201520194019201916115ad565b503461024d578060031936011261024d576040516116a581612134565b600991828252602092681c9958da5c1a595b9d60ba1b848401526040519084835b82811061176057505082602983015281526116e081612134565b8381519101206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c75783916114ce5750813b1561038657611499839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b8181870101518282860101520185906116c6565b503461024d578060031936011261024d5760405161179181612134565b601081526020918282016f726563697069656e744164647265737360801b81526040516117c18582018093611f8b565b6010815261141b81612134565b503461024d578060031936011261024d576040516117eb81612134565b601081526020918282016f70726f66696c65325f6d656d6265723160801b81526040516117c18582018093611f8b565b503461024d578060031936011261024d5761043d60405161183b8161214f565b60028152604036602083013760405191829182611eaf565b503461024d578060031936011261024d57604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b8282106118b25761043d856104318189038261216a565b83546001600160a01b03168652948501946001938401939091019061189b565b503461024d578060031936011261024d57604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b8282106119315761043d856104318189038261216a565b83546001600160a01b03168652948501946001938401939091019061191a565b503461024d578060031936011261024d576020602154604051908152f35b503461024d578060031936011261024d576024546040516001600160a01b039091168152602090f35b503461024d578060031936011261024d57601d54906119b68261218d565b6119c3604051918261216a565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b828410611ac557858588604051916020830190602084525180915260408301600590604083831b860101939580925b848410611a305786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b828110611a9a575050505050602080600192990194019401929694939190611a23565b9091929394602080611ab8600193605f198782030189528951611fb1565b9701950193929101611a77565b604051611ad181612134565b82546001600160a01b0316815260018301805490611aee8261218d565b91611afc604051938461216a565b80835260208301918a5260208a208a925b828410611b335750505050600192826020928360029501528152019201930192906119f4565b60405182548d90600181811c9190811615611c03575b602082106001821614611bee578184528f919060018116908115611bc95750600114611b93575b505060019282611b858594602094038261216a565b815201920193019290611b0d565b909150848252602082205b818310611bb357505081016020018d82611b70565b6001816020925483868801015201920191611b9e565b60ff191660208681019190915291151560051b850190910192508f9150839050611b70565b50634e487b7160e01b8f52602260045260248ffd5b90607f1690611b49565b503461024d578060031936011261024d57604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b828210611c6c5761043d856104318189038261216a565b83546001600160a01b031686529485019460019384019390910190611c55565b503461024d578060031936011261024d57604051611ca981612134565b601081526020918282016f70726f66696c65315f6d656d6265723160801b81526040516117c18582018093611f8b565b503461024d578060031936011261024d57604051611cf681612134565b600e81526020918282016d383937b334b632992fb7bbb732b960911b8152604051611d248582018093611f65565b600e815261141b81612134565b503461024d578060031936011261024d576020602354604051908152f35b503461024d578060031936011261024d57602080546040516001600160a01b039091168152f35b503461024d578060031936011261024d576020604051308152f35b503461024d578060031936011261024d57604051611dae81612134565b600a8152602091828201693932b1b4b834b2b73a1960b11b8152604051611dd88582018093611f3f565b600a815261141b81612134565b503461024d578060031936011261024d57604051611e0281612134565b6013815260209182820172383937b334b63298afb737ba20a6b2b6b132b960691b8152604051611e358582018093611f19565b6013815261141b81612134565b905034611e8a5781600319360112611e8a57611e5d81612134565b600d81526020918282016c706f6f6c5f6d616e616765723160981b815260405161140e8582018093611ef3565b5080fd5b34611eaa576000366003190112611eaa57602060405160008152f35b600080fd5b6020908160408183019282815285518094520193019160005b828110611ed6575050505090565b83516001600160a01b031685529381019392810192600101611ec8565b60005b600d8110611f09575050600d6000910152565b8181015183820152602001611ef6565b60005b60138110611f2f57505060136000910152565b8181015183820152602001611f1c565b60005b600a8110611f55575050600a6000910152565b8181015183820152602001611f42565b60005b600e8110611f7b575050600e6000910152565b8181015183820152602001611f68565b60005b60108110611fa157505060106000910152565b8181015183820152602001611f8e565b919082519283825260005b848110611fdd575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611fbc565b602080820190808352835180925260409283810182858560051b840101960194600080935b86851061202857505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b8082106120855750505090806001929a019501950193969594929190612016565b82516001600160e01b03191684528a94938401939092019160019190910190612064565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106120dd5750505050505090565b90919293949584806120fb600193603f198682030187528a51611fb1565b98019301930191949392906120cd565b6001600160401b03811161211e57604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111761211e57604052565b606081019081106001600160401b0382111761211e57604052565b601f909101601f19168101906001600160401b0382119082101761211e57604052565b6001600160401b03811161211e5760051b60200190565b8051156121b15760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156121b15760400190565b60085460ff1680156121e65790565b50604051630667f9d760e41b81526020816044816000805160206122738339815191528060048301526519985a5b195960d21b60248301525afa90811561226657600091612235575b50151590565b906020823d821161225e575b8161224e6020938361216a565b8101031261024d5750513861222f565b3d9150612241565b6040513d6000823e3d90fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212207bcb715f9103af3810dc2601f1689479dd280835b4b595e687baa8dd10e0b5de64736f6c63430008130033","sourceMap":"833:2031:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2244:19;833:2031;2244:19;;;833:2031;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2131:15;833:2031;;;;;;;;;;;;;;;;;;;;;;;;;1016:26:34;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;192:59:23;;;;20344:19:25;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;291:59;833:2031:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;833:2031:18;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;833:2031:18;;;;;;;;;20373:20:25;;;;;:::i;:::-;833:2031:18;;20373:20:25;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20373:20:25;833:2031:18;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;833:2031:18;;;;;;;;;;;;;;;2421:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;833:2031:18;;;20303:22:25;;20293:33;833:2031:18;;192:59:23;;;;20344:19:25;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;20373:20;;;;;;291:59;833:2031:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;833:2031:18;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;2543:16;833:2031;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2273:18:27;833:2031:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2273:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;833:2031:18;;;;;;;;-1:-1:-1;833:2031:18;;;;;-1:-1:-1;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;-1:-1:-1;833:2031:18;;;;;;;;;-1:-1:-1;833:2031:18;;;;-1:-1:-1;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;3726:1:16;833:2031:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;;192:59:23;;;;20344:19:25;;;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;833:2031:18;;192:59:23;;;;20373:20:25;;;;833:2031:18;;;291:59:25;192::23;833:2031:18;;;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;833:2031:18;3738:32:16;;;;;:::i;:::-;833:2031:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;20344:19:25;;;833:2031:18;20344:19:25;;833:2031:18;20344:19:25;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;;833:2031:18;291:59:25;833:2031:18;;;20373:20:25;;;;;;;;;833:2031:18;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;833:2031:18;;3780:32:16;;;;;:::i;:::-;833:2031:18;;;;;;;;:::i;20373:20:25:-;;;;;:::i;:::-;833:2031:18;;20373:20:25;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20373:20:25;833:2031:18;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;833:2031:18;;;291:59:25;;;;20344:19;;;;;;;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20373:20:25;;;;:::i;:::-;833:2031:18;;20373:20:25;;;;833:2031:18;;;;20373:20:25;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20344:19:25;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;;833:2031:18;;;;;;;;;;;;;3190:18:27;833:2031:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3190:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;833:2031:18;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;833:2031:18;192:59:23;833:2031:18;;;192:59:23;;;;;;833:2031:18;;;;;192:59:23;;;;;833:2031:18;;;;192:59:23;833:2031:18;;;192:59:23;;;;;833:2031:18;;;;192:59:23;;833:2031:18;;;;192:59:23;;833:2031:18;192:59:23;;833:2031:18;;;;192:59:23;;833:2031:18;192:59:23;;833:2031:18;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;2707:18:27;833:2031:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2707:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;833:2031:18;;;;;;;;-1:-1:-1;833:2031:18;;;;;-1:-1:-1;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;-1:-1:-1;833:2031:18;;;;;;;;;-1:-1:-1;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;678:10;833:2031;;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2108:1:16;833:2031:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;;192:59:23;;;;20344:19:25;;;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;833:2031:18;;192:59:23;;;;20373:20:25;;;;833:2031:18;;;291:59:25;192::23;833:2031:18;;;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;833:2031:18;2120:29:16;;;;;:::i;:::-;833:2031:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;20373:20::-;;;;:::i;:::-;833:2031:18;;20373:20:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;;833:2031:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2914:1:16;833:2031:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;;192:59:23;;;;20344:19:25;;;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;833:2031:18;;192:59:23;;;;20373:20:25;;;;833:2031:18;;;291:59:25;192::23;833:2031:18;;;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;833:2031:18;2926:32:16;;;;;;;;;:::i;:::-;833:2031:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;20373:20:25:-;;;;;;;;;;:::i;:::-;;;;;;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20373:20:25;833:2031:18;;;20344:19:25;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;833:2031:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;192:59:23;;;;20344:19:25;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;291:59;833:2031:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;833:2031:18;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;833:2031:18;;;;;;;;20373:20:25;;;;:::i;:::-;;;;;833:2031:18;;192:59:23;;;;;;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;833:2031:18;;;;;;;;;;;;;2883:26:27;833:2031:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2883:26:27;833:2031:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;833:2031:18;192:59:23;833:2031:18;;;192:59:23;;;;;;833:2031:18;;;;;192:59:23;;;;;833:2031:18;;;;192:59:23;833:2031:18;;;192:59:23;;;;;833:2031:18;;;;192:59:23;;833:2031:18;;;;192:59:23;;833:2031:18;192:59:23;;833:2031:18;;;;192:59:23;;833:2031:18;192:59:23;;833:2031:18;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;833:2031:18;;;20303:22:25;;20293:33;833:2031:18;;192:59:23;;;;20344:19:25;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;20373:20;;;;;;291:59;833:2031:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;833:2031:18;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;1440:1:16;833:2031:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;3038:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3331:16:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:12;833:2031;;;;;;;;;;;;;;;;;;;;2839:16;833:2031;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;3485:19:27;833:2031:18;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3485:19:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;192:59:23;833:2031:18;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;833:2031:18;;-1:-1:-1;833:2031:18;;-1:-1:-1;833:2031:18;;;-1:-1:-1;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2563:16:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;2650:12;833:2031;;;;;;;;;;;;;;;;;;;;2244:19;833:2031;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;306:4:16;833:2031:18;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;:::o;:::-;;;;;-1:-1:-1;;833:2031:18;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;833:2031:18;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2977:1:16;833:2031:18;;;;;;;:::o;1243:204:23:-;1302:7;833:2031:18;;;;;;;1325:14:23;:::o;1298:143::-;833:2031:18;;;192:59:23;;;1377:39;;;833:2031:18;192:59:23;833:2031:18;-1:-1:-1;;;;;;;;;;;1377:39:23;;;;833:2031:18;192:59:23;;;;;;833:2031:18;1377:39:23;;;;;;;-1:-1:-1;1377:39:23;;;1298:143;1377:53;;;1370:60;:::o;1377:39::-;;;;;;;;;;;;;;;;:::i;:::-;;;192:59;;;;;;1377:39;;;;;;-1:-1:-1;1377:39:23;;;833:2031:18;;192:59:23;-1:-1:-1;192:59:23;;;;","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetupFull\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup a Registry contract with two identities for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetupFull\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetupFull"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5146,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5179,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5181,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5185,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5187,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5339,"exportedSymbols":{"Accounts":[5068],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5174],"RegistrySetupFull":[5338],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"Test":[17877],"TestBase":[5876],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"42:2823:18","nodes":[{"id":5131,"nodeType":"PragmaDirective","src":"42:24:18","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5132,"nodeType":"ImportDirective","src":"68:28:18","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":5134,"nodeType":"ImportDirective","src":"98:62:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5133,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5136,"nodeType":"ImportDirective","src":"161:72:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5135,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5138,"nodeType":"ImportDirective","src":"234:40:18","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":5069,"symbolAliases":[{"foreign":{"id":5137,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5068,"src":"242:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5174,"nodeType":"ContractDefinition","src":"393:304:18","nodes":[{"id":5146,"nodeType":"VariableDeclaration","src":"440:28:18","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:18","scope":5174,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5145,"nodeType":"UserDefinedTypeName","pathNode":{"id":5144,"name":"Registry","nameLocations":["440:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:18"},"referencedDeclaration":2295,"src":"440:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5164,"nodeType":"FunctionDefinition","src":"475:129:18","nodes":[],"body":{"id":5163,"nodeType":"Block","src":"511:93:18","nodes":[],"statements":[{"expression":{"id":5154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5149,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"521:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:18","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5151,"nodeType":"UserDefinedTypeName","pathNode":{"id":5150,"name":"Registry","nameLocations":["538:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:18"},"referencedDeclaration":2295,"src":"538:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5155,"nodeType":"ExpressionStatement","src":"521:27:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5159,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4717,"src":"580:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5156,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"558:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:18","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5162,"nodeType":"ExpressionStatement","src":"558:39:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:18","parameters":{"id":5147,"nodeType":"ParameterList","parameters":[],"src":"499:2:18"},"returnParameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"511:0:18"},"scope":5174,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5173,"nodeType":"FunctionDefinition","src":"610:85:18","nodes":[],"body":{"id":5172,"nodeType":"Block","src":"661:34:18","nodes":[],"statements":[{"expression":{"id":5170,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"678:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5169,"id":5171,"nodeType":"Return","src":"671:17:18"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:18","parameters":{"id":5165,"nodeType":"ParameterList","parameters":[],"src":"627:2:18"},"returnParameters":{"id":5169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5173,"src":"651:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5167,"nodeType":"UserDefinedTypeName","pathNode":{"id":5166,"name":"Registry","nameLocations":["651:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:18"},"referencedDeclaration":2295,"src":"651:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:18"},"scope":5174,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5140,"name":"Test","nameLocations":["419:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"419:4:18"},"id":5141,"nodeType":"InheritanceSpecifier","src":"419:4:18"},{"baseName":{"id":5142,"name":"Accounts","nameLocations":["425:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":5068,"src":"425:8:18"},"id":5143,"nodeType":"InheritanceSpecifier","src":"425:8:18"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5139,"nodeType":"StructuredDocumentation","src":"276:117:18","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetup","nameLocation":"402:13:18","scope":5339,"usedErrors":[]},{"id":5338,"nodeType":"ContractDefinition","src":"833:2031:18","nodes":[{"id":5179,"nodeType":"VariableDeclaration","src":"883:32:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5181,"nodeType":"VariableDeclaration","src":"921:36:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5180,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5183,"nodeType":"VariableDeclaration","src":"964:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5185,"nodeType":"VariableDeclaration","src":"999:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5184,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5187,"nodeType":"VariableDeclaration","src":"1039:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5189,"nodeType":"VariableDeclaration","src":"1074:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5188,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5289,"nodeType":"FunctionDefinition","src":"1114:930:18","nodes":[],"body":{"id":5288,"nodeType":"Block","src":"1154:890:18","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5192,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5164,"src":"1164:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5194,"nodeType":"ExpressionStatement","src":"1164:17:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5198,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1201:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1192:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1192:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5201,"nodeType":"ExpressionStatement","src":"1192:22:18"},{"expression":{"id":5216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5202,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1224:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5207,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:18","1324:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5211,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1351:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5213,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"1365:13:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5203,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1242:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5217,"nodeType":"ExpressionStatement","src":"1224:166:18"},{"expression":{"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5218,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"1400:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5221,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1448:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5219,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1422:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5225,"nodeType":"ExpressionStatement","src":"1400:71:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5229,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1491:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5226,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1482:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1482:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5232,"nodeType":"ExpressionStatement","src":"1482:26:18"},{"expression":{"id":5247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5233,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1518:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5238,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:18","1610:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5242,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1633:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5244,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4933,"src":"1651:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5234,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1533:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5248,"nodeType":"ExpressionStatement","src":"1518:161:18"},{"expression":{"id":5255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5249,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"1689:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5252,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1734:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5250,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1708:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5256,"nodeType":"ExpressionStatement","src":"1689:65:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5260,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1774:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1765:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1765:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5263,"nodeType":"ExpressionStatement","src":"1765:26:18"},{"expression":{"id":5278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5264,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"1801:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5269,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:18","1893:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5273,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1916:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5275,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5007,"src":"1934:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5265,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1816:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5279,"nodeType":"ExpressionStatement","src":"1801:161:18"},{"expression":{"id":5286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5280,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"1972:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5283,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2017:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5281,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1991:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5287,"nodeType":"ExpressionStatement","src":"1972:65:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:18","parameters":{"id":5190,"nodeType":"ParameterList","parameters":[],"src":"1142:2:18"},"returnParameters":{"id":5191,"nodeType":"ParameterList","parameters":[],"src":"1154:0:18"},"scope":5338,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5297,"nodeType":"FunctionDefinition","src":"2050:103:18","nodes":[],"body":{"id":5296,"nodeType":"Block","src":"2114:39:18","nodes":[],"statements":[{"expression":{"id":5294,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"2131:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5293,"id":5295,"nodeType":"Return","src":"2124:22:18"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:18","parameters":{"id":5290,"nodeType":"ParameterList","parameters":[],"src":"2073:2:18"},"returnParameters":{"id":5293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5297,"src":"2105:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5305,"nodeType":"FunctionDefinition","src":"2159:111:18","nodes":[],"body":{"id":5304,"nodeType":"Block","src":"2227:43:18","nodes":[],"statements":[{"expression":{"id":5302,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"2244:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5301,"id":5303,"nodeType":"Return","src":"2237:26:18"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:18","parameters":{"id":5298,"nodeType":"ParameterList","parameters":[],"src":"2186:2:18"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5305,"src":"2218:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5299,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5313,"nodeType":"FunctionDefinition","src":"2276:97:18","nodes":[],"body":{"id":5312,"nodeType":"Block","src":"2337:36:18","nodes":[],"statements":[{"expression":{"id":5310,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"2354:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5309,"id":5311,"nodeType":"Return","src":"2347:19:18"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:18","parameters":{"id":5306,"nodeType":"ParameterList","parameters":[],"src":"2296:2:18"},"returnParameters":{"id":5309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5313,"src":"2328:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5321,"nodeType":"FunctionDefinition","src":"2461:105:18","nodes":[],"body":{"id":5320,"nodeType":"Block","src":"2526:40:18","nodes":[],"statements":[{"expression":{"id":5318,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"2543:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5317,"id":5319,"nodeType":"Return","src":"2536:23:18"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:18","parameters":{"id":5314,"nodeType":"ParameterList","parameters":[],"src":"2485:2:18"},"returnParameters":{"id":5317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5321,"src":"2517:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5315,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5329,"nodeType":"FunctionDefinition","src":"2572:97:18","nodes":[],"body":{"id":5328,"nodeType":"Block","src":"2633:36:18","nodes":[],"statements":[{"expression":{"id":5326,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2650:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5325,"id":5327,"nodeType":"Return","src":"2643:19:18"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:18","parameters":{"id":5322,"nodeType":"ParameterList","parameters":[],"src":"2592:2:18"},"returnParameters":{"id":5325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"2624:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5337,"nodeType":"FunctionDefinition","src":"2757:105:18","nodes":[],"body":{"id":5336,"nodeType":"Block","src":"2822:40:18","nodes":[],"statements":[{"expression":{"id":5334,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"2839:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5333,"id":5335,"nodeType":"Return","src":"2832:23:18"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:18","parameters":{"id":5330,"nodeType":"ParameterList","parameters":[],"src":"2781:2:18"},"returnParameters":{"id":5333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5337,"src":"2813:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5331,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5176,"name":"RegistrySetup","nameLocations":["863:13:18"],"nodeType":"IdentifierPath","referencedDeclaration":5174,"src":"863:13:18"},"id":5177,"nodeType":"InheritanceSpecifier","src":"863:13:18"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5175,"nodeType":"StructuredDocumentation","src":"699:134:18","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5338,5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetupFull","nameLocation":"842:17:18","scope":5339,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":18}
\ No newline at end of file
+{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461002d57600160ff198181600c541617600c55601e541617601e556122c890816100338239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908162b1fad714611e4257508063030e400614611de55780630688b13514611d915780630f166ad414611d76578063174eedde14610e0b578063176effb314611d4f5780631854036114611d315780631b96dce614611cd95780631e7bcb2e14611c8c5780631ed7831c14611c0d5780632ade3880146119985780633554642a1461196f57806339f56f7f146119515780633e5e3c23146118d25780633f7286f4146118535780634bf4ba211461181b578063587c1243146117ce5780635aff59991461177457806366d003ac1461168857806366d9a9a01461150b5780636a38dd0a146113c457806370a329441461120857806374d9284e14610e0b578063759c9a861461119957806379e62d0d14610ff55780637b10399914610fc85780637b2edf3214610f7b5780637cbe79ed14610f34578063829e423f14610e0b57806385226c8114610e105780638c7408c414610e0b5780638e0d1a5014610dc45780638e3c249314610d77578063916a17c614610b1c578063a407c67a1461087d578063aa3744bd14610829578063b5508aa9146106f1578063ba414fa6146106cc578063c5d7d73b146106a3578063d1e82b5814610649578063d1f2cd88146105fe578063d5bee9f514610510578063da4bf087146104b9578063dac4eb1614610461578063e20c9f71146103d2578063ef0d790f14610273578063fa7626d4146102505763fd325c601461023057600080fd5b3461024d578060031936011261024d576020601f54604051908152f35b80fd5b503461024d578060031936011261024d57602060ff601e54166040519015158152f35b503461024d578060031936011261024d5760405161029081612134565b6013815260209182820172383937b334b632992fb737ba20a6b2b6b132b960691b81526040516102c38582018093611f19565b601381526102d081612134565b5190206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c757839161038a575b50813b156103865761034e839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b03925af1801561037b57610367575b5050604051908152f35b610371829161210b565b61024d578061035d565b6040513d84823e3d90fd5b8280fd5b90508481813d83116103c0575b6103a1818361216a565b8101031261038657516001600160a01b0381168103610386573861030c565b503d610397565b6040513d85823e3d90fd5b503461024d578060031936011261024d57604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b8282106104415761043d856104318189038261216a565b60405191829182611eaf565b0390f35b83546001600160a01b03168652948501946001938401939091019061041a565b503461024d578060031936011261024d5760405161047e81612134565b600e81526020918282016d3932b3b4b9ba393cafb7bbb732b960911b81526040516104ac8582018093611f65565b600e81526102d081612134565b503461024d578060031936011261024d576040516104d681612134565b600d81526020918282016c616c6c6f5f747265617375727960981b81526040516105038582018093611ef3565b600d81526102d081612134565b503461024d578060031936011261024d5760405161052d81612134565b600b918282526020926a1c985b991bdb4818da185960aa1b848401526040519084835b8281106105ea57505082602b830152815261056a81612134565b8381519101206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c757839161038a5750813b156103865761034e839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b818187010151828286010152018590610550565b503461024d578060031936011261024d5760405161061b81612134565b600e81526020918282016d383937b334b63298afb7bbb732b960911b81526040516104ac8582018093611f65565b503461024d578060031936011261024d5760405161066681612134565b601081526020918282016f3837b7b62fb737ba20a6b0b730b3b2b960811b81526040516106968582018093611f8b565b601081526102d081612134565b503461024d578060031936011261024d576022546040516001600160a01b039091168152602090f35b503461024d578060031936011261024d5760206106e76121d7565b6040519015158152f35b503461024d578060031936011261024d5760195461070e8161218d565b9061071c604051928361216a565b808252601983527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695928060208085015b848310610761576040518061043d88826120a9565b604051849188549160019280841c90848116801561081f575b878310811461080b57828452879493929181156107ef57506001146107b7575b506107a981600196038261216a565b81520197019201919561074c565b8b8952838920955088905b8082106107d857508101830194506107a961079a565b8654838301860152958501958794909101906107c2565b60ff19168584015250151560051b8101830194506107a961079a565b634e487b7160e01b8a52602260045260248afd5b91607f169161077a565b503461024d578060031936011261024d5760405161084681612134565b600a815260209182820169726563697069656e743160b01b81526040516108708582018093611f3f565b600a81526102d081612134565b503461024d578060031936011261024d5760405161089a8161214f565b600281526020604036828401376040516108b381612134565b60108152838282016f70726f66696c65325f6d656d6265723160801b81526040516108e18582018093611f8b565b601081526108ee81612134565b519020926040519063ffa1864960e01b948583526004830152600080516020612273833981519152908083602481855afa928315610a69578493610add575b50813b15610a7457604051946318caf8e360e31b9586815285818061096d60018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1908115610ad2578691610aba575b505061098c886121a4565b526040519561099a87612134565b601087528187016f383937b334b632992fb6b2b6b132b91960811b81526040516109c78482018093611f8b565b601081526109d481612134565b51902060405191825260048201528181602481865afa918215610aaf578592610a78575b5050813b15610a745783610a2b956040519687958694859384521698896004840152604060248401526044830190611fb1565b03925af18015610a6957610a55575b61043d8383610a48826121c7565b5260405191829182611eaf565b610a5f849161210b565b6103865782610a3a565b6040513d86823e3d90fd5b8380fd5b90809250813d8311610aa8575b610a8f818361216a565b81010312610a7457518281168103610a745738806109f8565b503d610a85565b6040513d87823e3d90fd5b610ac39061210b565b610ace578438610981565b8480fd5b6040513d88823e3d90fd5b9080935081813d8311610b15575b610af5818361216a565b81010312610a7457516001600160a01b0381168103610a7457913861092d565b503d610aeb565b503461024d578060031936011261024d57601c54610b398161218d565b90610b47604051928361216a565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610b8a576040518061043d8782611ff1565b604051610b9681612134565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110610d095784600197946002979460209794610c21945491818110610ced575b818110610cd1575b818110610cb5575b818110610c99575b818110610c7d575b818110610c61575b818110610c47575b10610c33575b50038261216a565b83820152815201920192019190610b75565b6001600160e01b0319168152860138610c19565b828a1b6001600160e01b0319168452928901928b01610c13565b604083901b6001600160e01b0319168452928901928b01610c0b565b606083901b6001600160e01b0319168452928901928b01610c03565b608083901b6001600160e01b0319168452928901928b01610bfb565b60a083901b6001600160e01b0319168452928901928b01610bf3565b60c083901b6001600160e01b0319168452928901928b01610beb565b60e083901b6001600160e01b0319168452928901928b01610be3565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191610bbe565b503461024d578060031936011261024d57604051610d9481612134565b601081526020918282016f383937b334b632992fb6b2b6b132b91960811b81526040516106968582018093611f8b565b503461024d578060031936011261024d57604051610de181612134565b600a8152602091828201693837b7b62fb0b236b4b760b11b81526040516108708582018093611f3f565b611e8e565b503461024d578060031936011261024d57601a54610e2d8161218d565b90610e3b604051928361216a565b808252601a83527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e928060208085015b848310610e80576040518061043d88826120a9565b604051849188549160019280841c908481168015610f2a575b878310811461080b5782845287949392918115610f0e5750600114610ed6575b50610ec881600196038261216a565b815201970192019195610e6b565b8b8952838920955088905b808210610ef75750810183019450610ec8610eb9565b865483830186015295850195879490910190610ee1565b60ff19168584015250151560051b810183019450610ec8610eb9565b91607f1691610e99565b503461024d578060031936011261024d57604051610f5181612134565b600a81526020918282016930b63637afb7bbb732b960b11b81526040516108708582018093611f3f565b503461024d578060031936011261024d57604051610f9881612134565b601081526020918282016f383937b334b63298afb6b2b6b132b91960811b81526040516106968582018093611f8b565b503461024d578060031936011261024d57601e5460405160089190911c6001600160a01b03168152602090f35b503461024d578060031936011261024d576040516110128161214f565b6002815260206040368284013760405161102b81612134565b600d8152838282016c706f6f6c5f6d616e616765723160981b81526040516110568582018093611ef3565b600d815261106381612134565b519020926040519063ffa1864960e01b948583526004830152600080516020612273833981519152908083602481855afa928315610a6957849361115a575b50813b15610a7457604051946318caf8e360e31b958681528581806110e260018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1908115610ad2578691611146575b5050611101886121a4565b526040519561110f87612134565b600d87528187016c3837b7b62fb6b0b730b3b2b91960991b81526040516111398482018093611ef3565b600d81526109d481612134565b61114f9061210b565b610ace5784386110f6565b9080935081813d8311611192575b611172818361216a565b81010312610a7457516001600160a01b0381168103610a745791386110a2565b503d611168565b503461024d578060031936011261024d576040516111b681612134565b600c918282526020926b1b9bd7dc9958da5c1a595b9d60a21b848401526040519084835b8281106111f457505082602c830152815261056a81612134565b8181870101518282860101520185906111da565b503461024d578060031936011261024d576040516112258161214f565b6002815260206040368284013760405161123e81612134565b601081528181016f70726f66696c65315f6d656d6265723160801b815260405161126b8482018093611f8b565b6010815261127881612134565b519020916040519063ffa1864960e01b938483526004830152600080516020612273833981519152908083602481855afa9283156113b957879361137a575b50813b1561137657604051936318caf8e360e31b948581528881806112f760018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1801561136b57611352575b509087939291611317886121a4565b526040519561132587612134565b601087528187016f383937b334b63298afb6b2b6b132b91960811b81526040516109c78482018093611f8b565b6113619098919493929861210b565b9690919238611308565b6040513d8b823e3d90fd5b8680fd5b9080935081813d83116113b2575b611392818361216a565b8101031261137657516001600160a01b03811681036113765791386112b7565b503d611388565b6040513d89823e3d90fd5b503461024d578060031936011261024d576040516113e181612134565b600d81526020918282016c3837b7b62fb6b0b730b3b2b91960991b815260405161140e8582018093611ef3565b600d815261141b81612134565b5190206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c75783916114ce575b50813b1561038657611499839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b03925af19081156114c257506114b3575b50604051908152f35b6114bc9061210b565b386114aa565b604051903d90823e3d90fd5b90508481813d8311611504575b6114e5818361216a565b8101031261038657516001600160a01b03811681036103865738611457565b503d6114db565b503461024d578060031936011261024d57601b546115288161218d565b90611536604051928361216a565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b838310611579576040518061043d8782611ff1565b60405161158581612134565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b81600784011061161a5784600197946002979460209794611608945491818110610ced57818110610cd157818110610cb557818110610c9957818110610c7d57818110610c6157818110610c475710610c335750038261216a565b83820152815201920192019190611564565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e08201520194019201916115ad565b503461024d578060031936011261024d576040516116a581612134565b600991828252602092681c9958da5c1a595b9d60ba1b848401526040519084835b82811061176057505082602983015281526116e081612134565b8381519101206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c75783916114ce5750813b1561038657611499839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b8181870101518282860101520185906116c6565b503461024d578060031936011261024d5760405161179181612134565b601081526020918282016f726563697069656e744164647265737360801b81526040516117c18582018093611f8b565b6010815261141b81612134565b503461024d578060031936011261024d576040516117eb81612134565b601081526020918282016f70726f66696c65325f6d656d6265723160801b81526040516117c18582018093611f8b565b503461024d578060031936011261024d5761043d60405161183b8161214f565b60028152604036602083013760405191829182611eaf565b503461024d578060031936011261024d57604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b8282106118b25761043d856104318189038261216a565b83546001600160a01b03168652948501946001938401939091019061189b565b503461024d578060031936011261024d57604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b8282106119315761043d856104318189038261216a565b83546001600160a01b03168652948501946001938401939091019061191a565b503461024d578060031936011261024d576020602154604051908152f35b503461024d578060031936011261024d576024546040516001600160a01b039091168152602090f35b503461024d578060031936011261024d57601d54906119b68261218d565b6119c3604051918261216a565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b828410611ac557858588604051916020830190602084525180915260408301600590604083831b860101939580925b848410611a305786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b828110611a9a575050505050602080600192990194019401929694939190611a23565b9091929394602080611ab8600193605f198782030189528951611fb1565b9701950193929101611a77565b604051611ad181612134565b82546001600160a01b0316815260018301805490611aee8261218d565b91611afc604051938461216a565b80835260208301918a5260208a208a925b828410611b335750505050600192826020928360029501528152019201930192906119f4565b60405182548d90600181811c9190811615611c03575b602082106001821614611bee578184528f919060018116908115611bc95750600114611b93575b505060019282611b858594602094038261216a565b815201920193019290611b0d565b909150848252602082205b818310611bb357505081016020018d82611b70565b6001816020925483868801015201920191611b9e565b60ff191660208681019190915291151560051b850190910192508f9150839050611b70565b50634e487b7160e01b8f52602260045260248ffd5b90607f1690611b49565b503461024d578060031936011261024d57604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b828210611c6c5761043d856104318189038261216a565b83546001600160a01b031686529485019460019384019390910190611c55565b503461024d578060031936011261024d57604051611ca981612134565b601081526020918282016f70726f66696c65315f6d656d6265723160801b81526040516117c18582018093611f8b565b503461024d578060031936011261024d57604051611cf681612134565b600e81526020918282016d383937b334b632992fb7bbb732b960911b8152604051611d248582018093611f65565b600e815261141b81612134565b503461024d578060031936011261024d576020602354604051908152f35b503461024d578060031936011261024d57602080546040516001600160a01b039091168152f35b503461024d578060031936011261024d576020604051308152f35b503461024d578060031936011261024d57604051611dae81612134565b600a8152602091828201693932b1b4b834b2b73a1960b11b8152604051611dd88582018093611f3f565b600a815261141b81612134565b503461024d578060031936011261024d57604051611e0281612134565b6013815260209182820172383937b334b63298afb737ba20a6b2b6b132b960691b8152604051611e358582018093611f19565b6013815261141b81612134565b905034611e8a5781600319360112611e8a57611e5d81612134565b600d81526020918282016c706f6f6c5f6d616e616765723160981b815260405161140e8582018093611ef3565b5080fd5b34611eaa576000366003190112611eaa57602060405160008152f35b600080fd5b6020908160408183019282815285518094520193019160005b828110611ed6575050505090565b83516001600160a01b031685529381019392810192600101611ec8565b60005b600d8110611f09575050600d6000910152565b8181015183820152602001611ef6565b60005b60138110611f2f57505060136000910152565b8181015183820152602001611f1c565b60005b600a8110611f55575050600a6000910152565b8181015183820152602001611f42565b60005b600e8110611f7b575050600e6000910152565b8181015183820152602001611f68565b60005b60108110611fa157505060106000910152565b8181015183820152602001611f8e565b919082519283825260005b848110611fdd575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611fbc565b602080820190808352835180925260409283810182858560051b840101960194600080935b86851061202857505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b8082106120855750505090806001929a019501950193969594929190612016565b82516001600160e01b03191684528a94938401939092019160019190910190612064565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106120dd5750505050505090565b90919293949584806120fb600193603f198682030187528a51611fb1565b98019301930191949392906120cd565b6001600160401b03811161211e57604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111761211e57604052565b606081019081106001600160401b0382111761211e57604052565b601f909101601f19168101906001600160401b0382119082101761211e57604052565b6001600160401b03811161211e5760051b60200190565b8051156121b15760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156121b15760400190565b60085460ff1680156121e65790565b50604051630667f9d760e41b81526020816044816000805160206122738339815191528060048301526519985a5b195960d21b60248301525afa90811561226657600091612235575b50151590565b906020823d821161225e575b8161224e6020938361216a565b8101031261024d5750513861222f565b3d9150612241565b6040513d6000823e3d90fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212200a77742cedd3057bfdc9feafd7b68ed1ed224394ca6583d44e7645542dd5b5dd64736f6c63430008130033","sourceMap":"833:2031:18:-:0;;;;;;;3166:4:24;833:2031:18;;;;3166:4:24;833:2031:18;;;3166:4:24;833:2031:18;1038:4:34;833:2031:18;;;1038:4:34;833:2031:18;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b600090813560e01c908162b1fad714611e4257508063030e400614611de55780630688b13514611d915780630f166ad414611d76578063174eedde14610e0b578063176effb314611d4f5780631854036114611d315780631b96dce614611cd95780631e7bcb2e14611c8c5780631ed7831c14611c0d5780632ade3880146119985780633554642a1461196f57806339f56f7f146119515780633e5e3c23146118d25780633f7286f4146118535780634bf4ba211461181b578063587c1243146117ce5780635aff59991461177457806366d003ac1461168857806366d9a9a01461150b5780636a38dd0a146113c457806370a329441461120857806374d9284e14610e0b578063759c9a861461119957806379e62d0d14610ff55780637b10399914610fc85780637b2edf3214610f7b5780637cbe79ed14610f34578063829e423f14610e0b57806385226c8114610e105780638c7408c414610e0b5780638e0d1a5014610dc45780638e3c249314610d77578063916a17c614610b1c578063a407c67a1461087d578063aa3744bd14610829578063b5508aa9146106f1578063ba414fa6146106cc578063c5d7d73b146106a3578063d1e82b5814610649578063d1f2cd88146105fe578063d5bee9f514610510578063da4bf087146104b9578063dac4eb1614610461578063e20c9f71146103d2578063ef0d790f14610273578063fa7626d4146102505763fd325c601461023057600080fd5b3461024d578060031936011261024d576020601f54604051908152f35b80fd5b503461024d578060031936011261024d57602060ff601e54166040519015158152f35b503461024d578060031936011261024d5760405161029081612134565b6013815260209182820172383937b334b632992fb737ba20a6b2b6b132b960691b81526040516102c38582018093611f19565b601381526102d081612134565b5190206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c757839161038a575b50813b156103865761034e839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b03925af1801561037b57610367575b5050604051908152f35b610371829161210b565b61024d578061035d565b6040513d84823e3d90fd5b8280fd5b90508481813d83116103c0575b6103a1818361216a565b8101031261038657516001600160a01b0381168103610386573861030c565b503d610397565b6040513d85823e3d90fd5b503461024d578060031936011261024d57604051601580548083529083526020808301937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b8282106104415761043d856104318189038261216a565b60405191829182611eaf565b0390f35b83546001600160a01b03168652948501946001938401939091019061041a565b503461024d578060031936011261024d5760405161047e81612134565b600e81526020918282016d3932b3b4b9ba393cafb7bbb732b960911b81526040516104ac8582018093611f65565b600e81526102d081612134565b503461024d578060031936011261024d576040516104d681612134565b600d81526020918282016c616c6c6f5f747265617375727960981b81526040516105038582018093611ef3565b600d81526102d081612134565b503461024d578060031936011261024d5760405161052d81612134565b600b918282526020926a1c985b991bdb4818da185960aa1b848401526040519084835b8281106105ea57505082602b830152815261056a81612134565b8381519101206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c757839161038a5750813b156103865761034e839283926040519485809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b818187010151828286010152018590610550565b503461024d578060031936011261024d5760405161061b81612134565b600e81526020918282016d383937b334b63298afb7bbb732b960911b81526040516104ac8582018093611f65565b503461024d578060031936011261024d5760405161066681612134565b601081526020918282016f3837b7b62fb737ba20a6b0b730b3b2b960811b81526040516106968582018093611f8b565b601081526102d081612134565b503461024d578060031936011261024d576022546040516001600160a01b039091168152602090f35b503461024d578060031936011261024d5760206106e76121d7565b6040519015158152f35b503461024d578060031936011261024d5760195461070e8161218d565b9061071c604051928361216a565b808252601983527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695928060208085015b848310610761576040518061043d88826120a9565b604051849188549160019280841c90848116801561081f575b878310811461080b57828452879493929181156107ef57506001146107b7575b506107a981600196038261216a565b81520197019201919561074c565b8b8952838920955088905b8082106107d857508101830194506107a961079a565b8654838301860152958501958794909101906107c2565b60ff19168584015250151560051b8101830194506107a961079a565b634e487b7160e01b8a52602260045260248afd5b91607f169161077a565b503461024d578060031936011261024d5760405161084681612134565b600a815260209182820169726563697069656e743160b01b81526040516108708582018093611f3f565b600a81526102d081612134565b503461024d578060031936011261024d5760405161089a8161214f565b600281526020604036828401376040516108b381612134565b60108152838282016f70726f66696c65325f6d656d6265723160801b81526040516108e18582018093611f8b565b601081526108ee81612134565b519020926040519063ffa1864960e01b948583526004830152600080516020612273833981519152908083602481855afa928315610a69578493610add575b50813b15610a7457604051946318caf8e360e31b9586815285818061096d60018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1908115610ad2578691610aba575b505061098c886121a4565b526040519561099a87612134565b601087528187016f383937b334b632992fb6b2b6b132b91960811b81526040516109c78482018093611f8b565b601081526109d481612134565b51902060405191825260048201528181602481865afa918215610aaf578592610a78575b5050813b15610a745783610a2b956040519687958694859384521698896004840152604060248401526044830190611fb1565b03925af18015610a6957610a55575b61043d8383610a48826121c7565b5260405191829182611eaf565b610a5f849161210b565b6103865782610a3a565b6040513d86823e3d90fd5b8380fd5b90809250813d8311610aa8575b610a8f818361216a565b81010312610a7457518281168103610a745738806109f8565b503d610a85565b6040513d87823e3d90fd5b610ac39061210b565b610ace578438610981565b8480fd5b6040513d88823e3d90fd5b9080935081813d8311610b15575b610af5818361216a565b81010312610a7457516001600160a01b0381168103610a7457913861092d565b503d610aeb565b503461024d578060031936011261024d57601c54610b398161218d565b90610b47604051928361216a565b808252601c8352827f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610b8a576040518061043d8782611ff1565b604051610b9681612134565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b816007840110610d095784600197946002979460209794610c21945491818110610ced575b818110610cd1575b818110610cb5575b818110610c99575b818110610c7d575b818110610c61575b818110610c47575b10610c33575b50038261216a565b83820152815201920192019190610b75565b6001600160e01b0319168152860138610c19565b828a1b6001600160e01b0319168452928901928b01610c13565b604083901b6001600160e01b0319168452928901928b01610c0b565b606083901b6001600160e01b0319168452928901928b01610c03565b608083901b6001600160e01b0319168452928901928b01610bfb565b60a083901b6001600160e01b0319168452928901928b01610bf3565b60c083901b6001600160e01b0319168452928901928b01610beb565b60e083901b6001600160e01b0319168452928901928b01610be3565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e0820152019401920191610bbe565b503461024d578060031936011261024d57604051610d9481612134565b601081526020918282016f383937b334b632992fb6b2b6b132b91960811b81526040516106968582018093611f8b565b503461024d578060031936011261024d57604051610de181612134565b600a8152602091828201693837b7b62fb0b236b4b760b11b81526040516108708582018093611f3f565b611e8e565b503461024d578060031936011261024d57601a54610e2d8161218d565b90610e3b604051928361216a565b808252601a83527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e928060208085015b848310610e80576040518061043d88826120a9565b604051849188549160019280841c908481168015610f2a575b878310811461080b5782845287949392918115610f0e5750600114610ed6575b50610ec881600196038261216a565b815201970192019195610e6b565b8b8952838920955088905b808210610ef75750810183019450610ec8610eb9565b865483830186015295850195879490910190610ee1565b60ff19168584015250151560051b810183019450610ec8610eb9565b91607f1691610e99565b503461024d578060031936011261024d57604051610f5181612134565b600a81526020918282016930b63637afb7bbb732b960b11b81526040516108708582018093611f3f565b503461024d578060031936011261024d57604051610f9881612134565b601081526020918282016f383937b334b63298afb6b2b6b132b91960811b81526040516106968582018093611f8b565b503461024d578060031936011261024d57601e5460405160089190911c6001600160a01b03168152602090f35b503461024d578060031936011261024d576040516110128161214f565b6002815260206040368284013760405161102b81612134565b600d8152838282016c706f6f6c5f6d616e616765723160981b81526040516110568582018093611ef3565b600d815261106381612134565b519020926040519063ffa1864960e01b948583526004830152600080516020612273833981519152908083602481855afa928315610a6957849361115a575b50813b15610a7457604051946318caf8e360e31b958681528581806110e260018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1908115610ad2578691611146575b5050611101886121a4565b526040519561110f87612134565b600d87528187016c3837b7b62fb6b0b730b3b2b91960991b81526040516111398482018093611ef3565b600d81526109d481612134565b61114f9061210b565b610ace5784386110f6565b9080935081813d8311611192575b611172818361216a565b81010312610a7457516001600160a01b0381168103610a745791386110a2565b503d611168565b503461024d578060031936011261024d576040516111b681612134565b600c918282526020926b1b9bd7dc9958da5c1a595b9d60a21b848401526040519084835b8281106111f457505082602c830152815261056a81612134565b8181870101518282860101520185906111da565b503461024d578060031936011261024d576040516112258161214f565b6002815260206040368284013760405161123e81612134565b601081528181016f70726f66696c65315f6d656d6265723160801b815260405161126b8482018093611f8b565b6010815261127881612134565b519020916040519063ffa1864960e01b938483526004830152600080516020612273833981519152908083602481855afa9283156113b957879361137a575b50813b1561137657604051936318caf8e360e31b948581528881806112f760018060a01b0380991695866004840152604060248401526044830190611fb1565b038183885af1801561136b57611352575b509087939291611317886121a4565b526040519561132587612134565b601087528187016f383937b334b63298afb6b2b6b132b91960811b81526040516109c78482018093611f8b565b6113619098919493929861210b565b9690919238611308565b6040513d8b823e3d90fd5b8680fd5b9080935081813d83116113b2575b611392818361216a565b8101031261137657516001600160a01b03811681036113765791386112b7565b503d611388565b6040513d89823e3d90fd5b503461024d578060031936011261024d576040516113e181612134565b600d81526020918282016c3837b7b62fb6b0b730b3b2b91960991b815260405161140e8582018093611ef3565b600d815261141b81612134565b5190206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c75783916114ce575b50813b1561038657611499839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b03925af19081156114c257506114b3575b50604051908152f35b6114bc9061210b565b386114aa565b604051903d90823e3d90fd5b90508481813d8311611504575b6114e5818361216a565b8101031261038657516001600160a01b03811681036103865738611457565b503d6114db565b503461024d578060031936011261024d57601b546115288161218d565b90611536604051928361216a565b808252601b8352827f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1602084015b838310611579576040518061043d8782611ff1565b60405161158581612134565b82546001600160a01b031681526040516001840180548083529089526020808a20908301918a915b81600784011061161a5784600197946002979460209794611608945491818110610ced57818110610cd157818110610cb557818110610c9957818110610c7d57818110610c6157818110610c475710610c335750038261216a565b83820152815201920192019190611564565b926001610100600892865463ffffffff60e01b90818160e01b16835260c08282821b16602085015260a08383821b1660408601526080848460608282851b16818a01521b1690860152838360401b1690850152828260201b16908401521660e08201520194019201916115ad565b503461024d578060031936011261024d576040516116a581612134565b600991828252602092681c9958da5c1a595b9d60ba1b848401526040519084835b82811061176057505082602983015281526116e081612134565b8381519101206040519063ffa1864960e01b82526004820152600080516020612273833981519152908481602481855afa9081156103c75783916114ce5750813b1561038657611499839283926040519586809481936318caf8e360e31b835260018060a01b0316998a6004840152604060248401526044830190611fb1565b8181870101518282860101520185906116c6565b503461024d578060031936011261024d5760405161179181612134565b601081526020918282016f726563697069656e744164647265737360801b81526040516117c18582018093611f8b565b6010815261141b81612134565b503461024d578060031936011261024d576040516117eb81612134565b601081526020918282016f70726f66696c65325f6d656d6265723160801b81526040516117c18582018093611f8b565b503461024d578060031936011261024d5761043d60405161183b8161214f565b60028152604036602083013760405191829182611eaf565b503461024d578060031936011261024d57604051601780548083529083526020808301937fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1592915b8282106118b25761043d856104318189038261216a565b83546001600160a01b03168652948501946001938401939091019061189b565b503461024d578060031936011261024d57604051601880548083529083526020808301937fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e92915b8282106119315761043d856104318189038261216a565b83546001600160a01b03168652948501946001938401939091019061191a565b503461024d578060031936011261024d576020602154604051908152f35b503461024d578060031936011261024d576024546040516001600160a01b039091168152602090f35b503461024d578060031936011261024d57601d54906119b68261218d565b6119c3604051918261216a565b828152601d8252602081019282907f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f855b828410611ac557858588604051916020830190602084525180915260408301600590604083831b860101939580925b848410611a305786860387f35b9091929394603f198782030184528751906020604082019260018060a01b03815116835201519160406020830152825180915260609060208284019282871b850101940192865b828110611a9a575050505050602080600192990194019401929694939190611a23565b9091929394602080611ab8600193605f198782030189528951611fb1565b9701950193929101611a77565b604051611ad181612134565b82546001600160a01b0316815260018301805490611aee8261218d565b91611afc604051938461216a565b80835260208301918a5260208a208a925b828410611b335750505050600192826020928360029501528152019201930192906119f4565b60405182548d90600181811c9190811615611c03575b602082106001821614611bee578184528f919060018116908115611bc95750600114611b93575b505060019282611b858594602094038261216a565b815201920193019290611b0d565b909150848252602082205b818310611bb357505081016020018d82611b70565b6001816020925483868801015201920191611b9e565b60ff191660208681019190915291151560051b850190910192508f9150839050611b70565b50634e487b7160e01b8f52602260045260248ffd5b90607f1690611b49565b503461024d578060031936011261024d57604051601680548083529083526020808301937fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428992915b828210611c6c5761043d856104318189038261216a565b83546001600160a01b031686529485019460019384019390910190611c55565b503461024d578060031936011261024d57604051611ca981612134565b601081526020918282016f70726f66696c65315f6d656d6265723160801b81526040516117c18582018093611f8b565b503461024d578060031936011261024d57604051611cf681612134565b600e81526020918282016d383937b334b632992fb7bbb732b960911b8152604051611d248582018093611f65565b600e815261141b81612134565b503461024d578060031936011261024d576020602354604051908152f35b503461024d578060031936011261024d57602080546040516001600160a01b039091168152f35b503461024d578060031936011261024d576020604051308152f35b503461024d578060031936011261024d57604051611dae81612134565b600a8152602091828201693932b1b4b834b2b73a1960b11b8152604051611dd88582018093611f3f565b600a815261141b81612134565b503461024d578060031936011261024d57604051611e0281612134565b6013815260209182820172383937b334b63298afb737ba20a6b2b6b132b960691b8152604051611e358582018093611f19565b6013815261141b81612134565b905034611e8a5781600319360112611e8a57611e5d81612134565b600d81526020918282016c706f6f6c5f6d616e616765723160981b815260405161140e8582018093611ef3565b5080fd5b34611eaa576000366003190112611eaa57602060405160008152f35b600080fd5b6020908160408183019282815285518094520193019160005b828110611ed6575050505090565b83516001600160a01b031685529381019392810192600101611ec8565b60005b600d8110611f09575050600d6000910152565b8181015183820152602001611ef6565b60005b60138110611f2f57505060136000910152565b8181015183820152602001611f1c565b60005b600a8110611f55575050600a6000910152565b8181015183820152602001611f42565b60005b600e8110611f7b575050600e6000910152565b8181015183820152602001611f68565b60005b60108110611fa157505060106000910152565b8181015183820152602001611f8e565b919082519283825260005b848110611fdd575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611fbc565b602080820190808352835180925260409283810182858560051b840101960194600080935b86851061202857505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b8082106120855750505090806001929a019501950193969594929190612016565b82516001600160e01b03191684528a94938401939092019160019190910190612064565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106120dd5750505050505090565b90919293949584806120fb600193603f198682030187528a51611fb1565b98019301930191949392906120cd565b6001600160401b03811161211e57604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111761211e57604052565b606081019081106001600160401b0382111761211e57604052565b601f909101601f19168101906001600160401b0382119082101761211e57604052565b6001600160401b03811161211e5760051b60200190565b8051156121b15760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156121b15760400190565b60085460ff1680156121e65790565b50604051630667f9d760e41b81526020816044816000805160206122738339815191528060048301526519985a5b195960d21b60248301525afa90811561226657600091612235575b50151590565b906020823d821161225e575b8161224e6020938361216a565b8101031261024d5750513861222f565b3d9150612241565b6040513d6000823e3d90fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212200a77742cedd3057bfdc9feafd7b68ed1ed224394ca6583d44e7645542dd5b5dd64736f6c63430008130033","sourceMap":"833:2031:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2244:19;833:2031;2244:19;;;833:2031;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2131:15;833:2031;;;;;;;;;;;;;;;;;;;;;;;;;1016:26:34;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;192:59:23;;;;20344:19:25;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;291:59;833:2031:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;833:2031:18;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;833:2031:18;;;;;;;;;20373:20:25;;;;;:::i;:::-;833:2031:18;;20373:20:25;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20373:20:25;833:2031:18;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;833:2031:18;;;;;;;;;;;;;;;2421:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;833:2031:18;;;20303:22:25;;20293:33;833:2031:18;;192:59:23;;;;20344:19:25;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;20373:20;;;;;;291:59;833:2031:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;833:2031:18;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;2543:16;833:2031;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2273:18:27;833:2031:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2273:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;833:2031:18;;;;;;;;-1:-1:-1;833:2031:18;;;;;-1:-1:-1;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;-1:-1:-1;833:2031:18;;;;;;;;;-1:-1:-1;833:2031:18;;;;-1:-1:-1;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;3726:1:16;833:2031:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;;192:59:23;;;;20344:19:25;;;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;833:2031:18;;192:59:23;;;;20373:20:25;;;;833:2031:18;;;291:59:25;192::23;833:2031:18;;;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;833:2031:18;3738:32:16;;;;;:::i;:::-;833:2031:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;20344:19:25;;;833:2031:18;20344:19:25;;833:2031:18;20344:19:25;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;;833:2031:18;291:59:25;833:2031:18;;;20373:20:25;;;;;;;;;833:2031:18;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;833:2031:18;;3780:32:16;;;;;:::i;:::-;833:2031:18;;;;;;;;:::i;20373:20:25:-;;;;;:::i;:::-;833:2031:18;;20373:20:25;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20373:20:25;833:2031:18;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;833:2031:18;;;291:59:25;;;;20344:19;;;;;;;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20373:20:25;;;;:::i;:::-;833:2031:18;;20373:20:25;;;;833:2031:18;;;;20373:20:25;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20344:19:25;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;;833:2031:18;;;;;;;;;;;;;3190:18:27;833:2031:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3190:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;833:2031:18;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;192:59:23;;;;-1:-1:-1;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;192:59:23;;;-1:-1:-1;;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;833:2031:18;192:59:23;833:2031:18;;;192:59:23;;;;;;833:2031:18;;;;;192:59:23;;;;;833:2031:18;;;;192:59:23;833:2031:18;;;192:59:23;;;;;833:2031:18;;;;192:59:23;;833:2031:18;;;;192:59:23;;833:2031:18;192:59:23;;833:2031:18;;;;192:59:23;;833:2031:18;192:59:23;;833:2031:18;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;2707:18:27;833:2031:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2707:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;833:2031:18;;;;;;;;-1:-1:-1;833:2031:18;;;;;-1:-1:-1;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;-1:-1:-1;833:2031:18;;;;;;;;;-1:-1:-1;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;678:10;833:2031;;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2108:1:16;833:2031:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;;192:59:23;;;;20344:19:25;;;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;833:2031:18;;192:59:23;;;;20373:20:25;;;;833:2031:18;;;291:59:25;192::23;833:2031:18;;;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;833:2031:18;2120:29:16;;;;;:::i;:::-;833:2031:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;20373:20::-;;;;:::i;:::-;833:2031:18;;20373:20:25;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;;833:2031:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2914:1:16;833:2031:18;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;;192:59:23;;;;20344:19:25;;;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;833:2031:18;;192:59:23;;;;20373:20:25;;;;833:2031:18;;;291:59:25;192::23;833:2031:18;;;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;833:2031:18;2926:32:16;;;;;;;;;:::i;:::-;833:2031:18;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;20373:20:25:-;;;;;;;;;;:::i;:::-;;;;;;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;20373:20:25;833:2031:18;;;20344:19:25;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;;;833:2031:18;;192:59:23;833:2031:18;;192:59:23;;;;833:2031:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;:::-;833:2031:18;20293:33:25;;833:2031:18;;192:59:23;;;;20344:19:25;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;833:2031:18;20373:20:25;;;;;;291:59;833:2031:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;833:2031:18;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;833:2031:18;;;;;;;;20373:20:25;;;;:::i;:::-;;;;;833:2031:18;;192:59:23;;;;;;;;20344:19:25;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;833:2031:18;;291:59:25;;;;20344:19;;;;;;;;833:2031:18;;;;;;;;;;;;;2883:26:27;833:2031:18;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2883:26:27;833:2031:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;;;833:2031:18;192:59:23;833:2031:18;;;192:59:23;;;;;;833:2031:18;;;;;192:59:23;;;;;833:2031:18;;;;192:59:23;833:2031:18;;;192:59:23;;;;;833:2031:18;;;;192:59:23;;833:2031:18;;;;192:59:23;;833:2031:18;192:59:23;;833:2031:18;;;;192:59:23;;833:2031:18;192:59:23;;833:2031:18;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;20303:22:25;;;;;:::i;:::-;833:2031:18;;;20303:22:25;;20293:33;833:2031:18;;192:59:23;;;;20344:19:25;;833:2031:18;20344:19:25;;833:2031:18;-1:-1:-1;;;;;;;;;;;20344:19:25;;;291:59;20344:19;;;;;;;;;;;;;20373:20;;;;;;291:59;833:2031:18;;;;;;192:59:23;;;;;;;;;20373:20:25;;192:59:23;833:2031:18;;;;;20373:20:25;;833:2031:18;20373:20:25;;833:2031:18;;291:59:25;;;;;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;1440:1:16;833:2031:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;3038:18:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3331:16:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:12;833:2031;;;;;;;;;;;;;;;;;;;;2839:16;833:2031;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;3485:19:27;833:2031:18;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3485:19:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;192:59:23;833:2031:18;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;833:2031:18;;-1:-1:-1;833:2031:18;;-1:-1:-1;833:2031:18;;;-1:-1:-1;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2563:16:27;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;2650:12;833:2031;;;;;;;;;;;;;;;;;;;;2244:19;833:2031;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;306:4:16;833:2031:18;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;20303:22:25;;;;;:::i;833:2031:18:-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;833:2031:18;;;;;20303:22:25;;;833:2031:18;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:23;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;833:2031:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;:::o;:::-;;;;;-1:-1:-1;;833:2031:18;;;;-1:-1:-1;;;;;833:2031:18;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;833:2031:18;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2977:1:16;833:2031:18;;;;;;;:::o;1243:204:23:-;1302:7;833:2031:18;;;;;;;1325:14:23;:::o;1298:143::-;833:2031:18;;;192:59:23;;;1377:39;;;833:2031:18;192:59:23;833:2031:18;-1:-1:-1;;;;;;;;;;;1377:39:23;;;;833:2031:18;192:59:23;;;;;;833:2031:18;1377:39:23;;;;;;;-1:-1:-1;1377:39:23;;;1298:143;1377:53;;;1370:60;:::o;1377:39::-;;;;;;;;;;;;;;;;:::i;:::-;;;192:59;;;;;;1377:39;;;;;;-1:-1:-1;1377:39:23;;;833:2031:18;;192:59:23;-1:-1:-1;192:59:23;;;;","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetupFull\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup a Registry contract with two identities for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetupFull\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetupFull"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5146,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5179,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5181,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5185,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5187,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5339,"exportedSymbols":{"Accounts":[5068],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5174],"RegistrySetupFull":[5338],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"Test":[17877],"TestBase":[5876],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"42:2823:18","nodes":[{"id":5131,"nodeType":"PragmaDirective","src":"42:24:18","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5132,"nodeType":"ImportDirective","src":"68:28:18","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":5134,"nodeType":"ImportDirective","src":"98:62:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5133,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5136,"nodeType":"ImportDirective","src":"161:72:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5135,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5138,"nodeType":"ImportDirective","src":"234:40:18","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":5069,"symbolAliases":[{"foreign":{"id":5137,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5068,"src":"242:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5174,"nodeType":"ContractDefinition","src":"393:304:18","nodes":[{"id":5146,"nodeType":"VariableDeclaration","src":"440:28:18","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:18","scope":5174,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5145,"nodeType":"UserDefinedTypeName","pathNode":{"id":5144,"name":"Registry","nameLocations":["440:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:18"},"referencedDeclaration":2295,"src":"440:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5164,"nodeType":"FunctionDefinition","src":"475:129:18","nodes":[],"body":{"id":5163,"nodeType":"Block","src":"511:93:18","nodes":[],"statements":[{"expression":{"id":5154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5149,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"521:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:18","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5151,"nodeType":"UserDefinedTypeName","pathNode":{"id":5150,"name":"Registry","nameLocations":["538:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:18"},"referencedDeclaration":2295,"src":"538:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5155,"nodeType":"ExpressionStatement","src":"521:27:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5159,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4717,"src":"580:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5156,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"558:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:18","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5162,"nodeType":"ExpressionStatement","src":"558:39:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:18","parameters":{"id":5147,"nodeType":"ParameterList","parameters":[],"src":"499:2:18"},"returnParameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"511:0:18"},"scope":5174,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5173,"nodeType":"FunctionDefinition","src":"610:85:18","nodes":[],"body":{"id":5172,"nodeType":"Block","src":"661:34:18","nodes":[],"statements":[{"expression":{"id":5170,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"678:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5169,"id":5171,"nodeType":"Return","src":"671:17:18"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:18","parameters":{"id":5165,"nodeType":"ParameterList","parameters":[],"src":"627:2:18"},"returnParameters":{"id":5169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5173,"src":"651:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5167,"nodeType":"UserDefinedTypeName","pathNode":{"id":5166,"name":"Registry","nameLocations":["651:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:18"},"referencedDeclaration":2295,"src":"651:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:18"},"scope":5174,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5140,"name":"Test","nameLocations":["419:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"419:4:18"},"id":5141,"nodeType":"InheritanceSpecifier","src":"419:4:18"},{"baseName":{"id":5142,"name":"Accounts","nameLocations":["425:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":5068,"src":"425:8:18"},"id":5143,"nodeType":"InheritanceSpecifier","src":"425:8:18"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5139,"nodeType":"StructuredDocumentation","src":"276:117:18","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetup","nameLocation":"402:13:18","scope":5339,"usedErrors":[]},{"id":5338,"nodeType":"ContractDefinition","src":"833:2031:18","nodes":[{"id":5179,"nodeType":"VariableDeclaration","src":"883:32:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5181,"nodeType":"VariableDeclaration","src":"921:36:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5180,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5183,"nodeType":"VariableDeclaration","src":"964:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5185,"nodeType":"VariableDeclaration","src":"999:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5184,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5187,"nodeType":"VariableDeclaration","src":"1039:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5189,"nodeType":"VariableDeclaration","src":"1074:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5188,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5289,"nodeType":"FunctionDefinition","src":"1114:930:18","nodes":[],"body":{"id":5288,"nodeType":"Block","src":"1154:890:18","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5192,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5164,"src":"1164:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5194,"nodeType":"ExpressionStatement","src":"1164:17:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5198,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1201:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1192:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1192:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5201,"nodeType":"ExpressionStatement","src":"1192:22:18"},{"expression":{"id":5216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5202,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1224:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5207,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:18","1324:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5211,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1351:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5213,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"1365:13:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5203,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1242:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5217,"nodeType":"ExpressionStatement","src":"1224:166:18"},{"expression":{"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5218,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"1400:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5221,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1448:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5219,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1422:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5225,"nodeType":"ExpressionStatement","src":"1400:71:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5229,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1491:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5226,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1482:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1482:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5232,"nodeType":"ExpressionStatement","src":"1482:26:18"},{"expression":{"id":5247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5233,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1518:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5238,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:18","1610:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5242,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1633:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5244,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4933,"src":"1651:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5234,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1533:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5248,"nodeType":"ExpressionStatement","src":"1518:161:18"},{"expression":{"id":5255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5249,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"1689:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5252,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1734:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5250,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1708:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5256,"nodeType":"ExpressionStatement","src":"1689:65:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5260,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1774:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1765:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1765:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5263,"nodeType":"ExpressionStatement","src":"1765:26:18"},{"expression":{"id":5278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5264,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"1801:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5269,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:18","1893:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5273,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1916:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5275,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5007,"src":"1934:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5265,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1816:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5279,"nodeType":"ExpressionStatement","src":"1801:161:18"},{"expression":{"id":5286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5280,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"1972:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5283,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2017:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5281,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1991:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5287,"nodeType":"ExpressionStatement","src":"1972:65:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:18","parameters":{"id":5190,"nodeType":"ParameterList","parameters":[],"src":"1142:2:18"},"returnParameters":{"id":5191,"nodeType":"ParameterList","parameters":[],"src":"1154:0:18"},"scope":5338,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5297,"nodeType":"FunctionDefinition","src":"2050:103:18","nodes":[],"body":{"id":5296,"nodeType":"Block","src":"2114:39:18","nodes":[],"statements":[{"expression":{"id":5294,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"2131:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5293,"id":5295,"nodeType":"Return","src":"2124:22:18"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:18","parameters":{"id":5290,"nodeType":"ParameterList","parameters":[],"src":"2073:2:18"},"returnParameters":{"id":5293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5297,"src":"2105:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5305,"nodeType":"FunctionDefinition","src":"2159:111:18","nodes":[],"body":{"id":5304,"nodeType":"Block","src":"2227:43:18","nodes":[],"statements":[{"expression":{"id":5302,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"2244:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5301,"id":5303,"nodeType":"Return","src":"2237:26:18"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:18","parameters":{"id":5298,"nodeType":"ParameterList","parameters":[],"src":"2186:2:18"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5305,"src":"2218:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5299,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5313,"nodeType":"FunctionDefinition","src":"2276:97:18","nodes":[],"body":{"id":5312,"nodeType":"Block","src":"2337:36:18","nodes":[],"statements":[{"expression":{"id":5310,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"2354:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5309,"id":5311,"nodeType":"Return","src":"2347:19:18"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:18","parameters":{"id":5306,"nodeType":"ParameterList","parameters":[],"src":"2296:2:18"},"returnParameters":{"id":5309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5313,"src":"2328:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5321,"nodeType":"FunctionDefinition","src":"2461:105:18","nodes":[],"body":{"id":5320,"nodeType":"Block","src":"2526:40:18","nodes":[],"statements":[{"expression":{"id":5318,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"2543:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5317,"id":5319,"nodeType":"Return","src":"2536:23:18"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:18","parameters":{"id":5314,"nodeType":"ParameterList","parameters":[],"src":"2485:2:18"},"returnParameters":{"id":5317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5321,"src":"2517:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5315,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5329,"nodeType":"FunctionDefinition","src":"2572:97:18","nodes":[],"body":{"id":5328,"nodeType":"Block","src":"2633:36:18","nodes":[],"statements":[{"expression":{"id":5326,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2650:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5325,"id":5327,"nodeType":"Return","src":"2643:19:18"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:18","parameters":{"id":5322,"nodeType":"ParameterList","parameters":[],"src":"2592:2:18"},"returnParameters":{"id":5325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"2624:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5337,"nodeType":"FunctionDefinition","src":"2757:105:18","nodes":[],"body":{"id":5336,"nodeType":"Block","src":"2822:40:18","nodes":[],"statements":[{"expression":{"id":5334,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"2839:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5333,"id":5335,"nodeType":"Return","src":"2832:23:18"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:18","parameters":{"id":5330,"nodeType":"ParameterList","parameters":[],"src":"2781:2:18"},"returnParameters":{"id":5333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5337,"src":"2813:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5331,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5176,"name":"RegistrySetup","nameLocations":["863:13:18"],"nodeType":"IdentifierPath","referencedDeclaration":5174,"src":"863:13:18"},"id":5177,"nodeType":"InheritanceSpecifier","src":"863:13:18"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5175,"nodeType":"StructuredDocumentation","src":"699:134:18","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5338,5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetupFull","nameLocation":"842:17:18","scope":5339,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":18}
\ No newline at end of file
diff --git a/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json b/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json
index 6428d6a2f..3fd329f59 100644
--- a/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json
+++ b/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"arbitrableTribunalSafe","inputs":[{"name":"arbitrable","type":"address","internalType":"address"}],"outputs":[{"name":"safe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_choices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"disputes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrated","type":"address","internalType":"contract IArbitrable"},{"name":"arbitratorExtraData","type":"bytes","internalType":"bytes"},{"name":"choices","type":"uint256","internalType":"uint256"},{"name":"arbitrationFee","type":"uint256","internalType":"uint256"},{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"status","type":"uint8","internalType":"enum SafeArbitrator.DisputeStatus"}],"stateMutability":"view"},{"type":"function","name":"executeRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"},{"name":"_arbitrable","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitrationFee","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OnlySafe","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"safe","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a08060405234610031573060805261169390816100378239608051818181610ac201528181610bbd0152610de20152f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c80631c3db16d1461104e57806326a0754c146110125780633659cfe614610dbd5780634f1ef28614610b6e57806352d1902d14610aaf578063564a565d1461096b5780635ea7b4fc14610948578063715018a6146108fd5780637a1d3756146106d057806388d5b7321461068a5780638da5cb5b14610661578063c13517e114610374578063d98493f614610329578063f2fde38b14610298578063f6506db414610257578063f7434ea9146102135763fe4b84df146100d857600080fd5b3461021057602036600319011261021057805460ff8160081c161590818092610203575b80156101ec575b156101905760ff19811660011783558161017f575b5061013260ff835460081c1661012d816114a8565b6114a8565b61013b33611276565b6004356065556101485780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117825538610118565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101035750600160ff821614610103565b50600160ff8216106100fc565b80fd5b5034610210576020366003190112610210576004356001600160401b038111610253576102449036906004016111f1565b50506020606554604051908152f35b5080fd5b5034610210576080366003190112610210576024356001600160401b038111610253576102889036906004016111f1565b505061029261109c565b50611508565b5034610210576020366003190112610210576102b2611086565b6102ba61121e565b6001600160a01b038116156102d5576102d290611276565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610210576040366003190112610210576004356001600160401b0381116102535761035a9036906004016111f1565b50506024356001600160a01b03811614611508575b600080fd5b506040366003190112610210576001600160401b0390602435828111610253576103a29036906004016111f1565b9092606554341061061c57606654916040519460c086019186831084841117610606576103d692604052338752369161110b565b906020850191825260043560408601523460608601528360808601528360a0860152600160401b8310156105f2576001830160665561041483611142565b9290926105de57855183546001600160a01b0319166001600160a01b03919091161783555180519182116105ca5761044f6001840154611177565b601f8111610586575b50602090601f831160011461051757918060a09492600594889261050c575b50508160011b916000199060031b1c19161760018201555b604086015160028201556060860151600382015560808601516004820155019301519260028410156104f85760209360ff8019835416911617905560405191817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995339280a38152f35b634e487b7160e01b83526021600452602483fd5b015190503880610477565b600184018652602086209190601f198416875b81811061056e575092600192859260059660a0989610610555575b505050811b01600182015561048f565b015160001960f88460031b161c19169055388080610545565b9293602060018192878601518155019501930161052a565b60018401865260208620601f840160051c8101602085106105c3575b601f830160051c820181106105b8575050610458565b8781556001016105a2565b50806105a2565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601d60248201527f4172626974726174696f6e20666565733a206e6f7420656e6f7567682e0000006044820152606490fd5b50346102105780600319360112610210576033546040516001600160a01b039091168152602090f35b5034610210576020366003190112610210576106a4611086565b33825260676020526040822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5034610210576060366003190112610210576004356001600160a01b036024803590826106fb61109c565b16928386526067602052806040872054168033146000146108e0575061072085611142565b509060028201548410156108aa57600582019182549260ff8416600281101561089757600114610853576001600483019487865560ff1916179055878080806003850154335af161076f6113db565b501561081d57549154879392909116803b156108195760448492604051958693849263188d362b60e11b84528b6004850152878401525af1801561080e576107d0575b5050602060008051602061161e83398151915291604051908152a380f35b9194916001600160401b0382116107fc575060405292602060008051602061161e8339815191526107b2565b634e487b7160e01b8352604160045282fd5b6040513d88823e3d90fd5b8380fd5b60405162461bcd60e51b815260206004820152600f818601526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601f818701527f5468652064697370757465206d757374206e6f7420626520736f6c7665642e006044820152606490fd5b634e487b7160e01b8a526021600452858afd5b60405162461bcd60e51b815260206004820152600f818501526e24b73b30b634b210393ab634b7339760891b6044820152606490fd5b826044916040519163d0774c9960e01b8352336004840152820152fd5b503461021057806003193601126102105761091661121e565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061159e8339815191528280a380f35b50346102105760203660031901126102105761096261121e565b60043560655580f35b50346102105760208060031936011261025357600435606654811015610aab5761099490611142565b5060018060a01b0381541691600191828101604051809487908354936109b985611177565b94858552878382169182600014610a89575050600114610a4d575b50506109e2925003846110cd565b600281015492610a1460038301549160c060ff60056004870154960154169560405198895288015260c08701906111b1565b936040860152606085015260808401526002811015610a395782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b86925089528189209089915b858310610a715750506109e2935082010138806109d4565b8054838a018501528894508793909201918101610a59565b92509350506109e294915060ff191682840152151560051b82010138806109d4565b8280fd5b50346102105780600319360112610210577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b0857602060405160008051602061157e8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261021057610b83611086565b6024356001600160401b038111610aab5736602382011215610aab57610bb390369060248160040135910161110b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190610bed308514156112ad565b610c0a60008051602061157e8339815191529482865416146112fc565b610c1261121e565b60008051602061153e8339815191525460ff1615610c365750506102d2915061134b565b82919216604051936352d1902d60e01b85526020948581600481865afa879181610d8a575b50610caa5760405162461bcd60e51b815260048101879052602e602482015260008051602061163e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403610d4557610cbb8261134b565b6000805160206115be8339815191528580a283835115801590610d3d575b610ce5575b5050505080f35b80610d339460405194610cf7866110b2565b602786526000805160206115fe83398151915281870152660819985a5b195960ca1b604087015281519101845af4610d2d6113db565b9161140b565b5038808083610cde565b506001610cd9565b60405162461bcd60e51b815260048101849052602960248201526000805160206115de8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610db6575b610da281836110cd565b81010312610db257519038610c5b565b8780fd5b503d610d98565b50346102105760208060031936011261025357610dd8611086565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610e0f308214156112ad565b610e2c60008051602061157e8339815191529183835416146112fc565b610e3461121e565b604051848101929091906001600160401b03841183851017610ffe578360405286835260ff60008051602061153e8339815191525416600014610e7f57505050506102d2915061134b565b84939416906040516352d1902d60e01b81528681600481865afa889181610fcb575b50610ef05760405162461bcd60e51b815260048101889052602e602482015260008051602061163e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503610f8657908591610f048461134b565b6000805160206115be8339815191528380a2805115801590610f7f575b610f2e575b505050505080f35b610f749482916000805160206115fe83398151915260405196610f50886110b2565b60278852870152660819985a5b195960ca1b60408701525190845af4610d2d6113db565b503880808381610f26565b5081610f21565b60405162461bcd60e51b815260048101859052602960248201526000805160206115de8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d8311610ff7575b610fe381836110cd565b81010312610ff357519038610ea1565b8880fd5b503d610fd9565b634e487b7160e01b87526041600452602487fd5b5034610210576020366003190112610210576020906001600160a01b03906040908261103c611086565b16815260678452205416604051908152f35b503461021057602036600319011261021057606090600461106f8135611142565b500154906040519182528060208301526040820152f35b600435906001600160a01b038216820361036f57565b604435906001600160a01b038216820361036f57565b606081019081106001600160401b0382111761060657604052565b601f909101601f19168101906001600160401b0382119082101761060657604052565b6001600160401b03811161060657601f01601f191660200190565b929192611117826110f0565b9161112560405193846110cd565b82948184528183011161036f578281602093846000960137010152565b6066548110156111615760666000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156111a7575b602083101461119157565b634e487b7160e01b600052602260045260246000fd5b91607f1691611186565b919082519283825260005b8481106111dd575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111bc565b9181601f8401121561036f578235916001600160401b03831161036f576020838186019501011161036f57565b6033546001600160a01b0316330361123257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061159e833981519152600080a3565b156112b457565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155e83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561130357565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155e83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156113805760008051602061157e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15611406573d906113ec826110f0565b916113fa60405193846110cd565b82523d6000602084013e565b606090565b9192901561146d575081511561141f575090565b3b156114285790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156114805750805190602001fd5b60405162461bcd60e51b8152602060048201529081906114a49060248301906111b1565b0390fd5b156114af57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fdfe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e7562227645524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220472d05ebe26f6073c8c90df86bdd72372984531abc071f97fee4a0d8626be71c64736f6c63430008130033","sourceMap":"577:4654:120:-:0;;;;;;;1088:4:66;1080:13;;577:4654:120;;;;;;1080:13:66;577:4654:120;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b6000803560e01c80631c3db16d1461104e57806326a0754c146110125780633659cfe614610dbd5780634f1ef28614610b6e57806352d1902d14610aaf578063564a565d1461096b5780635ea7b4fc14610948578063715018a6146108fd5780637a1d3756146106d057806388d5b7321461068a5780638da5cb5b14610661578063c13517e114610374578063d98493f614610329578063f2fde38b14610298578063f6506db414610257578063f7434ea9146102135763fe4b84df146100d857600080fd5b3461021057602036600319011261021057805460ff8160081c161590818092610203575b80156101ec575b156101905760ff19811660011783558161017f575b5061013260ff835460081c1661012d816114a8565b6114a8565b61013b33611276565b6004356065556101485780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117825538610118565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101035750600160ff821614610103565b50600160ff8216106100fc565b80fd5b5034610210576020366003190112610210576004356001600160401b038111610253576102449036906004016111f1565b50506020606554604051908152f35b5080fd5b5034610210576080366003190112610210576024356001600160401b038111610253576102889036906004016111f1565b505061029261109c565b50611508565b5034610210576020366003190112610210576102b2611086565b6102ba61121e565b6001600160a01b038116156102d5576102d290611276565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610210576040366003190112610210576004356001600160401b0381116102535761035a9036906004016111f1565b50506024356001600160a01b03811614611508575b600080fd5b506040366003190112610210576001600160401b0390602435828111610253576103a29036906004016111f1565b9092606554341061061c57606654916040519460c086019186831084841117610606576103d692604052338752369161110b565b906020850191825260043560408601523460608601528360808601528360a0860152600160401b8310156105f2576001830160665561041483611142565b9290926105de57855183546001600160a01b0319166001600160a01b03919091161783555180519182116105ca5761044f6001840154611177565b601f8111610586575b50602090601f831160011461051757918060a09492600594889261050c575b50508160011b916000199060031b1c19161760018201555b604086015160028201556060860151600382015560808601516004820155019301519260028410156104f85760209360ff8019835416911617905560405191817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995339280a38152f35b634e487b7160e01b83526021600452602483fd5b015190503880610477565b600184018652602086209190601f198416875b81811061056e575092600192859260059660a0989610610555575b505050811b01600182015561048f565b015160001960f88460031b161c19169055388080610545565b9293602060018192878601518155019501930161052a565b60018401865260208620601f840160051c8101602085106105c3575b601f830160051c820181106105b8575050610458565b8781556001016105a2565b50806105a2565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601d60248201527f4172626974726174696f6e20666565733a206e6f7420656e6f7567682e0000006044820152606490fd5b50346102105780600319360112610210576033546040516001600160a01b039091168152602090f35b5034610210576020366003190112610210576106a4611086565b33825260676020526040822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5034610210576060366003190112610210576004356001600160a01b036024803590826106fb61109c565b16928386526067602052806040872054168033146000146108e0575061072085611142565b509060028201548410156108aa57600582019182549260ff8416600281101561089757600114610853576001600483019487865560ff1916179055878080806003850154335af161076f6113db565b501561081d57549154879392909116803b156108195760448492604051958693849263188d362b60e11b84528b6004850152878401525af1801561080e576107d0575b5050602060008051602061161e83398151915291604051908152a380f35b9194916001600160401b0382116107fc575060405292602060008051602061161e8339815191526107b2565b634e487b7160e01b8352604160045282fd5b6040513d88823e3d90fd5b8380fd5b60405162461bcd60e51b815260206004820152600f818601526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601f818701527f5468652064697370757465206d757374206e6f7420626520736f6c7665642e006044820152606490fd5b634e487b7160e01b8a526021600452858afd5b60405162461bcd60e51b815260206004820152600f818501526e24b73b30b634b210393ab634b7339760891b6044820152606490fd5b826044916040519163d0774c9960e01b8352336004840152820152fd5b503461021057806003193601126102105761091661121e565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061159e8339815191528280a380f35b50346102105760203660031901126102105761096261121e565b60043560655580f35b50346102105760208060031936011261025357600435606654811015610aab5761099490611142565b5060018060a01b0381541691600191828101604051809487908354936109b985611177565b94858552878382169182600014610a89575050600114610a4d575b50506109e2925003846110cd565b600281015492610a1460038301549160c060ff60056004870154960154169560405198895288015260c08701906111b1565b936040860152606085015260808401526002811015610a395782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b86925089528189209089915b858310610a715750506109e2935082010138806109d4565b8054838a018501528894508793909201918101610a59565b92509350506109e294915060ff191682840152151560051b82010138806109d4565b8280fd5b50346102105780600319360112610210577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b0857602060405160008051602061157e8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261021057610b83611086565b6024356001600160401b038111610aab5736602382011215610aab57610bb390369060248160040135910161110b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190610bed308514156112ad565b610c0a60008051602061157e8339815191529482865416146112fc565b610c1261121e565b60008051602061153e8339815191525460ff1615610c365750506102d2915061134b565b82919216604051936352d1902d60e01b85526020948581600481865afa879181610d8a575b50610caa5760405162461bcd60e51b815260048101879052602e602482015260008051602061163e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403610d4557610cbb8261134b565b6000805160206115be8339815191528580a283835115801590610d3d575b610ce5575b5050505080f35b80610d339460405194610cf7866110b2565b602786526000805160206115fe83398151915281870152660819985a5b195960ca1b604087015281519101845af4610d2d6113db565b9161140b565b5038808083610cde565b506001610cd9565b60405162461bcd60e51b815260048101849052602960248201526000805160206115de8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610db6575b610da281836110cd565b81010312610db257519038610c5b565b8780fd5b503d610d98565b50346102105760208060031936011261025357610dd8611086565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610e0f308214156112ad565b610e2c60008051602061157e8339815191529183835416146112fc565b610e3461121e565b604051848101929091906001600160401b03841183851017610ffe578360405286835260ff60008051602061153e8339815191525416600014610e7f57505050506102d2915061134b565b84939416906040516352d1902d60e01b81528681600481865afa889181610fcb575b50610ef05760405162461bcd60e51b815260048101889052602e602482015260008051602061163e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503610f8657908591610f048461134b565b6000805160206115be8339815191528380a2805115801590610f7f575b610f2e575b505050505080f35b610f749482916000805160206115fe83398151915260405196610f50886110b2565b60278852870152660819985a5b195960ca1b60408701525190845af4610d2d6113db565b503880808381610f26565b5081610f21565b60405162461bcd60e51b815260048101859052602960248201526000805160206115de8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d8311610ff7575b610fe381836110cd565b81010312610ff357519038610ea1565b8880fd5b503d610fd9565b634e487b7160e01b87526041600452602487fd5b5034610210576020366003190112610210576020906001600160a01b03906040908261103c611086565b16815260678452205416604051908152f35b503461021057602036600319011261021057606090600461106f8135611142565b500154906040519182528060208301526040820152f35b600435906001600160a01b038216820361036f57565b604435906001600160a01b038216820361036f57565b606081019081106001600160401b0382111761060657604052565b601f909101601f19168101906001600160401b0382119082101761060657604052565b6001600160401b03811161060657601f01601f191660200190565b929192611117826110f0565b9161112560405193846110cd565b82948184528183011161036f578281602093846000960137010152565b6066548110156111615760666000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156111a7575b602083101461119157565b634e487b7160e01b600052602260045260246000fd5b91607f1691611186565b919082519283825260005b8481106111dd575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111bc565b9181601f8401121561036f578235916001600160401b03831161036f576020838186019501011161036f57565b6033546001600160a01b0316330361123257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061159e833981519152600080a3565b156112b457565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155e83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561130357565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155e83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156113805760008051602061157e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15611406573d906113ec826110f0565b916113fa60405193846110cd565b82523d6000602084013e565b606090565b9192901561146d575081511561141f575090565b3b156114285790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156114805750805190602001fd5b60405162461bcd60e51b8152602060048201529081906114a49060248301906111b1565b0390fd5b156114af57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fdfe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e7562227645524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220472d05ebe26f6073c8c90df86bdd72372984531abc071f97fee4a0d8626be71c64736f6c63430008130033","sourceMap":"577:4654:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;;;;;;3301:14:49;3347:34;;;;;;577:4654:120;3346:108:49;;;;577:4654:120;;;;-1:-1:-1;;577:4654:120;;;;;;;3562:65:49;;577:4654:120;;5366:69:49;577:4654:120;;;;;;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;577:4654:120;;2052:32;577:4654;3647:99:49;;577:4654:120;;3647:99:49;577:4654:120;;;;;;;3721:14:49;577:4654:120;;;;;;3721:14:49;577:4654:120;;3562:65:49;-1:-1:-1;;577:4654:120;;;;;3562:65:49;;;577:4654:120;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;3346:108:49;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;577:4654:120;;;;;3436:17:49;3346:108;;3347:34;577:4654:120;;;;;3365:16:49;3347:34;;577:4654:120;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;:::i;:::-;;;;4596:14;577:4654;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;:::i;:::-;;;;;;;-1:-1:-1;;577:4654:120;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;577:4654:120;;2423:22:47;577:4654:120;;2517:8:47;;;:::i;:::-;577:4654:120;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;:::i;:::-;-1:-1:-1;;577:4654:120;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;-1:-1:-1;577:4654:120;;-1:-1:-1;;577:4654:120;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;:::i;:::-;;;4596:14;577:4654;2674:9;:40;577:4654;;2770:8;577:4654;;;;;;;;;;;;;;;;;;;;;;2878:10;577:4654;;;;;:::i;:::-;2822:283;577:4654;2822:283;;577:4654;;;;;;2822:283;;577:4654;2674:9;2822:283;;;577:4654;2822:283;;;;577:4654;2822:283;;;;577:4654;;;;;;;;;;;;2770:8;577:4654;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;;577:4654:120;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2822:283;577:4654;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2822:283;;577:4654;;;;;2822:283;;;577:4654;;;;;2822:283;;;577:4654;;;;;;2822:283;;577:4654;;;;;;;;;;;;;;;;;;;;;;;2878:10;;3131:51;2878:10;3131:51;;;577:4654;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;577:4654:120;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;;;;;;;;;;;;2822:283;577:4654;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;577:4654:120;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1534:6:47;577:4654:120;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;:::i;:::-;2434:10;577:4654;;2411:22;577:4654;;;;;;;-1:-1:-1;;;;;;577:4654:120;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;:::i;:::-;;;;;;1782:22;577:4654;;;;;;;;1768:10;;:49;1764:176;1768:49;;;3915:20;;;;:::i;:::-;3963:15;;;;;577:4654;3953:25;;577:4654;;;4016:14;;;577:4654;;;;;;;3963:15;577:4654;;;;;;4016:38;577:4654;;;;4101:14;;577:4654;;;;;;;;;;4233:22;;;;577:4654;4233:22;;577:4654;1768:10;4201:59;;;;:::i;:::-;;577:4654;;;;;;;;;;;;4315:51;;;;;577:4654;;;;;689:66:62;;;;;;;;4315:51:120;;;577:4654;4315:51;;577:4654;;;;;4315:51;;;;;;;;1764:176;577:4654;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;;4381:53;577:4654;;4315:51;577:4654;;;-1:-1:-1;;;;;577:4654:120;;;;-1:-1:-1;577:4654:120;;;;-1:-1:-1;;;;;;;;;;;4315:51:120;;577:4654;-1:-1:-1;;;577:4654:120;;;;;;;4315:51;577:4654;;689:66:62;577:4654:120;;689:66:62;;;;4315:51:120;577:4654;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;1764:176;577:4654;;;;;1872:57;;;;;;1768:10;577:4654;1872:57;;577:4654;;;;1872:57;577:4654;;;;;;;;;;;;;1324:62:47;;:::i;:::-;2779:6;577:4654:120;;-1:-1:-1;;;;;;577:4654:120;;;;;;;-1:-1:-1;;;;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;2827:40:47;577:4654:120;;;;;;;;;-1:-1:-1;;577:4654:120;;;;1324:62:47;;:::i;:::-;577:4654:120;;2310:32;577:4654;;;;;;;;;;;;;;;;;;;1448:31;577:4654;1448:31;;;;;;;;:::i;:::-;577:4654;;;;;;;;;;;1448:31;;;;577:4654;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1448:31;;;577:4654;1448:31;577:4654;;1448:31;;577:4654;1448:31;577:4654;;1448:31;577:4654;1448:31;;577:4654;1448:31;;577:4654;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1448:31;577:4654;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1448:31;;;;577:4654;;;;;;;;;;;;;2089:6:66;-1:-1:-1;;;;;577:4654:120;2080:4:66;2072:23;577:4654:120;;;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;-1:-1:-1;577:4654:120;;-1:-1:-1;;577:4654:120;;;;;;:::i;:::-;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;577:4654:120;;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:62;577:4654:120;;;;;2993:17:62;;;;;;:::i;2906:504::-;577:4654:120;;;;;;689:66:62;;;;3046:52;;;;;;577:4654:120;3046:52:62;;;;;;;;;2906:504;-1:-1:-1;3042:291:62;;577:4654:120;;-1:-1:-1;;;3262:56:62;;577:4654:120;3262:56:62;;689:66;;;;577:4654:120;689:66:62;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:62;;;577:4654:120;;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;577:4654:120;;2204:112:62;577:4654:120;7307:69:78;577:4654:120;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;-1:-1:-1;;;577:4654:120;;;;7265:25:78;;;;;;;;;:::i;:::-;7307:69;;:::i;:::-;;2204:112:62;;;;;;2208:28;;577:4654:120;2208:28:62;;689:66;577:4654:120;;-1:-1:-1;;;689:66:62;;577:4654:120;689:66:62;;;;;;577:4654:120;689:66:62;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;577:4654:120;;;3046:52:62;;;;;577:4654:120;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;577:4654:120;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;577:4654:120;;;;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;689:66:62;577:4654:120;2906:504:62;577:4654:120;;;2993:17:62;;;;;;;;:::i;2906:504::-;577:4654:120;;;;;;;689:66:62;;;3046:52;;;;577:4654:120;3046:52:62;;;;;;;;;2906:504;-1:-1:-1;3042:291:62;;577:4654:120;;-1:-1:-1;;;3262:56:62;;577:4654:120;3262:56:62;;689:66;;;;;;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;3042:291;;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:62;;;577:4654:120;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;;577:4654:120;;2204:112:62;7307:69:78;577:4654:120;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;577:4654:120;;;;7265:25:78;;;;;;;:::i;7307:69::-;;2204:112:62;;;;;;;2208:28;;;;;689:66;577:4654:120;;-1:-1:-1;;;689:66:62;;577:4654:120;689:66:62;;;;;;;;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;577:4654:120;;;3046:52:62;;;;;577:4654:120;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;:::i;:::-;;;;1534:73;577:4654;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;;5015:20;577:4654;;5015:20;:::i;:::-;5054:14;;577:4654;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;577:4654:120;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;:::o;:::-;;;;;-1:-1:-1;;577:4654:120;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;577:4654:120;;;;;;-1:-1:-1;;577:4654:120;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;577:4654:120;;;;;;:::o;:::-;5015:8;577:4654;;;;;;5015:8;-1:-1:-1;577:4654:120;;;-1:-1:-1;577:4654:120;;;;;-1:-1:-1;577:4654:120;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;:::o;1620:130:47:-;1534:6;577:4654:120;-1:-1:-1;;;;;577:4654:120;965:10:53;1683:23:47;577:4654:120;;1620:130:47:o;577:4654:120:-;;;;689:66:62;;;577:4654:120;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;577:4654:120;;-1:-1:-1;;;;;577:4654:120;;;-1:-1:-1;;;;;;577:4654:120;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;577:4654:120:-;;;;:::o;:::-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;-1:-1:-1;;;577:4654:120;;;;;;;1406:259:62;1702:19:78;;:23;577:4654:120;;-1:-1:-1;;;;;;;;;;;577:4654:120;;-1:-1:-1;;;;;;577:4654:120;-1:-1:-1;;;;;577:4654:120;;;;;;;;;1406:259:62:o;577:4654:120:-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;577:4654:120;;;;:::o;:::-;;;:::o;7671:628:78:-;;;;7875:418;;;577:4654:120;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;577:4654:120;;8201:17:78;:::o;577:4654:120:-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;7875:418:78;577:4654:120;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;577:4654:120;;-1:-1:-1;;;9324:20:78;;577:4654:120;9324:20:78;;;577:4654:120;;;;;;;;;;;:::i;:::-;9324:20:78;;;577:4654:120;;;;:::o;:::-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;3227:241;577:4654;;-1:-1:-1;;;3438:23:120;;577:4654;3438:23;;;577:4654;;;;;;-1:-1:-1;;;577:4654:120;;;;;;3438:23","linkReferences":{},"immutableReferences":{"55653":[{"start":2754,"length":32},{"start":3005,"length":32},{"start":3554,"length":32}]}},"methodIdentifiers":{"arbitrableTribunalSafe(address)":"26a0754c","arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","disputes(uint256)":"564a565d","executeRuling(uint256,uint256,address)":"7a1d3756","initialize(uint256)":"fe4b84df","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registerSafe(address)":"88d5b732","renounceOwnership()":"715018a6","setArbitrationFee(uint256)":"5ea7b4fc","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"name\":\"OnlySafe\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"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\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"arbitrable\",\"type\":\"address\"}],\"name\":\"arbitrableTribunalSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_choices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputes\",\"outputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"arbitrated\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"arbitratorExtraData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"choices\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrationFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"enum SafeArbitrator.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"executeRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"setArbitrationFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an arbitrator middleware that will allow a safe to decide on the result of disputes.\",\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"fee\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"_0\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"_0\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"executeRuling(uint256,uint256,address)\":{\"details\":\"Give a ruling to a dispute.\",\"params\":{\"_arbitrable\":\"Address of the arbitrable that the safe rules for\\\".\",\"_disputeID\":\"ID of the dispute to rule.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \\\"Refused to rule\\\".\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setArbitrationFee(uint256)\":{\"details\":\"Set the arbitration fee. Only callable by the owner.\",\"params\":{\"_arbitrationFee\":\"Amount to be paid for arbitration.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"Safe Arbitrator\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/SafeArbitrator.sol\":\"SafeArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x20452495715dd291198ebea55a34ce2ba66e5076f55d39ba19682e5a4620c59c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b912a7e38c05361be4f20728b95b13e6eff561365ac4cb934359dd6500ce577\",\"dweb:/ipfs/QmUMEmWceTTvpXGcfDD6ZczyWubcHTsTh6qFv91mHuaUdD\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"safe","type":"address"}],"type":"error","name":"OnlySafe"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"arbitrable","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrableTribunalSafe","outputs":[{"internalType":"address","name":"safe","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_choices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputes","outputs":[{"internalType":"contract IArbitrable","name":"arbitrated","type":"address"},{"internalType":"bytes","name":"arbitratorExtraData","type":"bytes"},{"internalType":"uint256","name":"choices","type":"uint256"},{"internalType":"uint256","name":"arbitrationFee","type":"uint256"},{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"enum SafeArbitrator.DisputeStatus","name":"status","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"},{"internalType":"address","name":"_arbitrable","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"executeRuling"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setArbitrationFee"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"fee":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"_0":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"_0":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"executeRuling(uint256,uint256,address)":{"details":"Give a ruling to a dispute.","params":{"_arbitrable":"Address of the arbitrable that the safe rules for\".","_disputeID":"ID of the dispute to rule.","_ruling":"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\"."}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setArbitrationFee(uint256)":{"details":"Set the arbitration fee. Only callable by the owner.","params":{"_arbitrationFee":"Amount to be paid for arbitration."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/SafeArbitrator.sol":"SafeArbitrator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x20452495715dd291198ebea55a34ce2ba66e5076f55d39ba19682e5a4620c59c","urls":["bzz-raw://7b912a7e38c05361be4f20728b95b13e6eff561365ac4cb934359dd6500ce577","dweb:/ipfs/QmUMEmWceTTvpXGcfDD6ZczyWubcHTsTh6qFv91mHuaUdD"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":79109,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"101","type":"t_uint256"},{"astId":79113,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"disputes","offset":0,"slot":"102","type":"t_array(t_struct(DisputeStruct)79107_storage)dyn_storage"},{"astId":79117,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrableTribunalSafe","offset":0,"slot":"103","type":"t_mapping(t_address,t_address)"},{"astId":79423,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(DisputeStruct)79107_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct SafeArbitrator.DisputeStruct[]","numberOfBytes":"32","base":"t_struct(DisputeStruct)79107_storage"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(IArbitrable)79502":{"encoding":"inplace","label":"contract IArbitrable","numberOfBytes":"20"},"t_enum(DisputeStatus)79092":{"encoding":"inplace","label":"enum SafeArbitrator.DisputeStatus","numberOfBytes":"1"},"t_mapping(t_address,t_address)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address)","numberOfBytes":"32","value":"t_address"},"t_struct(DisputeStruct)79107_storage":{"encoding":"inplace","label":"struct SafeArbitrator.DisputeStruct","numberOfBytes":"192","members":[{"astId":79095,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrated","offset":0,"slot":"0","type":"t_contract(IArbitrable)79502"},{"astId":79097,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitratorExtraData","offset":0,"slot":"1","type":"t_bytes_storage"},{"astId":79099,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"choices","offset":0,"slot":"2","type":"t_uint256"},{"astId":79101,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"3","type":"t_uint256"},{"astId":79103,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"ruling","offset":0,"slot":"4","type":"t_uint256"},{"astId":79106,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"status","offset":0,"slot":"5","type":"t_enum(DisputeStatus)79092"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/SafeArbitrator.sol","id":79425,"exportedSymbols":{"IArbitrable":[79502],"IArbitrator":[79606],"IERC20":[56609],"OwnableUpgradeable":[52984],"SafeArbitrator":[79424],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"33:5199:120","nodes":[{"id":79072,"nodeType":"PragmaDirective","src":"33:24:120","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79074,"nodeType":"ImportDirective","src":"59:70:120","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":79425,"sourceUnit":56610,"symbolAliases":[{"foreign":{"id":79073,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56609,"src":"67:6:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79076,"nodeType":"ImportDirective","src":"130:88:120","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79425,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":79075,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"138:15:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79078,"nodeType":"ImportDirective","src":"219:110:120","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79425,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":79077,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"227:18:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79080,"nodeType":"ImportDirective","src":"331:57:120","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":79425,"sourceUnit":79503,"symbolAliases":[{"foreign":{"id":79079,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79502,"src":"339:11:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79082,"nodeType":"ImportDirective","src":"389:57:120","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":79425,"sourceUnit":79607,"symbolAliases":[{"foreign":{"id":79081,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79606,"src":"397:11:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79424,"nodeType":"ContractDefinition","src":"577:4654:120","nodes":[{"id":79092,"nodeType":"EnumDefinition","src":"659:144:120","nodes":[],"canonicalName":"SafeArbitrator.DisputeStatus","members":[{"id":79090,"name":"Waiting","nameLocation":"688:7:120","nodeType":"EnumValue","src":"688:7:120"},{"id":79091,"name":"Solved","nameLocation":"762:6:120","nodeType":"EnumValue","src":"762:6:120"}],"name":"DisputeStatus","nameLocation":"664:13:120"},{"id":79107,"nodeType":"StructDefinition","src":"809:509:120","nodes":[],"canonicalName":"SafeArbitrator.DisputeStruct","members":[{"constant":false,"id":79095,"mutability":"mutable","name":"arbitrated","nameLocation":"852:10:120","nodeType":"VariableDeclaration","scope":79107,"src":"840:22:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"},"typeName":{"id":79094,"nodeType":"UserDefinedTypeName","pathNode":{"id":79093,"name":"IArbitrable","nameLocations":["840:11:120"],"nodeType":"IdentifierPath","referencedDeclaration":79502,"src":"840:11:120"},"referencedDeclaration":79502,"src":"840:11:120","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":79097,"mutability":"mutable","name":"arbitratorExtraData","nameLocation":"921:19:120","nodeType":"VariableDeclaration","scope":79107,"src":"915:25:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":79096,"name":"bytes","nodeType":"ElementaryTypeName","src":"915:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79099,"mutability":"mutable","name":"choices","nameLocation":"992:7:120","nodeType":"VariableDeclaration","scope":79107,"src":"984:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79098,"name":"uint256","nodeType":"ElementaryTypeName","src":"984:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79101,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1074:14:120","nodeType":"VariableDeclaration","scope":79107,"src":"1066:22:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79100,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79103,"mutability":"mutable","name":"ruling","nameLocation":"1204:6:120","nodeType":"VariableDeclaration","scope":79107,"src":"1196:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79102,"name":"uint256","nodeType":"ElementaryTypeName","src":"1196:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79106,"mutability":"mutable","name":"status","nameLocation":"1269:6:120","nodeType":"VariableDeclaration","scope":79107,"src":"1255:20:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":79105,"nodeType":"UserDefinedTypeName","pathNode":{"id":79104,"name":"DisputeStatus","nameLocations":["1255:13:120"],"nodeType":"IdentifierPath","referencedDeclaration":79092,"src":"1255:13:120"},"referencedDeclaration":79092,"src":"1255:13:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"name":"DisputeStruct","nameLocation":"816:13:120","scope":79424,"visibility":"public"},{"id":79109,"nodeType":"VariableDeclaration","src":"1324:30:120","nodes":[],"constant":false,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1340:14:120","scope":79424,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79108,"name":"uint256","nodeType":"ElementaryTypeName","src":"1324:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":79113,"nodeType":"VariableDeclaration","src":"1448:31:120","nodes":[],"constant":false,"functionSelector":"564a565d","mutability":"mutable","name":"disputes","nameLocation":"1471:8:120","scope":79424,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79107_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct[]"},"typeName":{"baseType":{"id":79111,"nodeType":"UserDefinedTypeName","pathNode":{"id":79110,"name":"DisputeStruct","nameLocations":["1448:13:120"],"nodeType":"IdentifierPath","referencedDeclaration":79107,"src":"1448:13:120"},"referencedDeclaration":79107,"src":"1448:13:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"id":79112,"nodeType":"ArrayTypeName","src":"1448:15:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79107_storage_$dyn_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct[]"}},"visibility":"public"},{"id":79117,"nodeType":"VariableDeclaration","src":"1534:73:120","nodes":[],"constant":false,"functionSelector":"26a0754c","mutability":"mutable","name":"arbitrableTribunalSafe","nameLocation":"1585:22:120","scope":79424,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":79116,"keyName":"arbitrable","keyNameLocation":"1550:10:120","keyType":{"id":79114,"name":"address","nodeType":"ElementaryTypeName","src":"1542:7:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1534:43:120","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"safe","valueNameLocation":"1572:4:120","valueType":{"id":79115,"name":"address","nodeType":"ElementaryTypeName","src":"1564:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":79123,"nodeType":"ErrorDefinition","src":"1664:45:120","nodes":[],"errorSelector":"d0774c99","name":"OnlySafe","nameLocation":"1670:8:120","parameters":{"id":79122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79119,"mutability":"mutable","name":"sender","nameLocation":"1687:6:120","nodeType":"VariableDeclaration","scope":79123,"src":"1679:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79118,"name":"address","nodeType":"ElementaryTypeName","src":"1679:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79121,"mutability":"mutable","name":"safe","nameLocation":"1703:4:120","nodeType":"VariableDeclaration","scope":79123,"src":"1695:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79120,"name":"address","nodeType":"ElementaryTypeName","src":"1695:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1678:30:120"}},{"id":79146,"nodeType":"ModifierDefinition","src":"1715:231:120","nodes":[],"body":{"id":79145,"nodeType":"Block","src":"1754:192:120","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79127,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1768:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1772:6:120","memberName":"sender","nodeType":"MemberAccess","src":"1768:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":79129,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79117,"src":"1782:22:120","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":79131,"indexExpression":{"id":79130,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79125,"src":"1805:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1782:35:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1768:49:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79143,"nodeType":"Block","src":"1851:89:120","statements":[{"errorCall":{"arguments":[{"expression":{"id":79136,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1881:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1885:6:120","memberName":"sender","nodeType":"MemberAccess","src":"1881:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":79138,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79117,"src":"1893:22:120","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":79140,"indexExpression":{"id":79139,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79125,"src":"1916:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1893:35:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":79135,"name":"OnlySafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79123,"src":"1872:8:120","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":79141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1872:57:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79142,"nodeType":"RevertStatement","src":"1865:64:120"}]},"id":79144,"nodeType":"IfStatement","src":"1764:176:120","trueBody":{"id":79134,"nodeType":"Block","src":"1819:26:120","statements":[{"id":79133,"nodeType":"PlaceholderStatement","src":"1833:1:120"}]}}]},"name":"onlySafe","nameLocation":"1724:8:120","parameters":{"id":79126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79125,"mutability":"mutable","name":"_arbitrable","nameLocation":"1741:11:120","nodeType":"VariableDeclaration","scope":79146,"src":"1733:19:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79124,"name":"address","nodeType":"ElementaryTypeName","src":"1733:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1732:21:120"},"virtual":false,"visibility":"internal"},{"id":79161,"nodeType":"FunctionDefinition","src":"1952:139:120","nodes":[],"body":{"id":79160,"nodeType":"Block","src":"2016:75:120","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":79153,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"2026:14:120","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":79154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2026:16:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79155,"nodeType":"ExpressionStatement","src":"2026:16:120"},{"expression":{"id":79158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79156,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79109,"src":"2052:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79157,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79148,"src":"2069:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2052:32:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79159,"nodeType":"ExpressionStatement","src":"2052:32:120"}]},"functionSelector":"fe4b84df","implemented":true,"kind":"function","modifiers":[{"id":79151,"kind":"modifierInvocation","modifierName":{"id":79150,"name":"initializer","nameLocations":["2004:11:120"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"2004:11:120"},"nodeType":"ModifierInvocation","src":"2004:11:120"}],"name":"initialize","nameLocation":"1961:10:120","parameters":{"id":79149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79148,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"1980:15:120","nodeType":"VariableDeclaration","scope":79161,"src":"1972:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79147,"name":"uint256","nodeType":"ElementaryTypeName","src":"1972:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1971:25:120"},"returnParameters":{"id":79152,"nodeType":"ParameterList","parameters":[],"src":"2016:0:120"},"scope":79424,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":79174,"nodeType":"FunctionDefinition","src":"2229:120:120","nodes":[],"body":{"id":79173,"nodeType":"Block","src":"2300:49:120","nodes":[],"statements":[{"expression":{"id":79171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79169,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79109,"src":"2310:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79170,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79164,"src":"2327:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2310:32:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79172,"nodeType":"ExpressionStatement","src":"2310:32:120"}]},"documentation":{"id":79162,"nodeType":"StructuredDocumentation","src":"2097:127:120","text":"@dev Set the arbitration fee. Only callable by the owner.\n @param _arbitrationFee Amount to be paid for arbitration."},"functionSelector":"5ea7b4fc","implemented":true,"kind":"function","modifiers":[{"id":79167,"kind":"modifierInvocation","modifierName":{"id":79166,"name":"onlyOwner","nameLocations":["2290:9:120"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"2290:9:120"},"nodeType":"ModifierInvocation","src":"2290:9:120"}],"name":"setArbitrationFee","nameLocation":"2238:17:120","parameters":{"id":79165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79164,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2264:15:120","nodeType":"VariableDeclaration","scope":79174,"src":"2256:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79163,"name":"uint256","nodeType":"ElementaryTypeName","src":"2256:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2255:25:120"},"returnParameters":{"id":79168,"nodeType":"ParameterList","parameters":[],"src":"2300:0:120"},"scope":79424,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79187,"nodeType":"FunctionDefinition","src":"2355:105:120","nodes":[],"body":{"id":79186,"nodeType":"Block","src":"2401:59:120","nodes":[],"statements":[{"expression":{"id":79184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79179,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79117,"src":"2411:22:120","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":79182,"indexExpression":{"expression":{"id":79180,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2434:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2438:6:120","memberName":"sender","nodeType":"MemberAccess","src":"2434:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2411:34:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79183,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79176,"src":"2448:5:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2411:42:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79185,"nodeType":"ExpressionStatement","src":"2411:42:120"}]},"baseFunctions":[79605],"functionSelector":"88d5b732","implemented":true,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"2364:12:120","parameters":{"id":79177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79176,"mutability":"mutable","name":"_safe","nameLocation":"2385:5:120","nodeType":"VariableDeclaration","scope":79187,"src":"2377:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79175,"name":"address","nodeType":"ElementaryTypeName","src":"2377:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2376:15:120"},"returnParameters":{"id":79178,"nodeType":"ParameterList","parameters":[],"src":"2401:0:120"},"scope":79424,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79240,"nodeType":"FunctionDefinition","src":"2498:691:120","nodes":[],"body":{"id":79239,"nodeType":"Block","src":"2656:533:120","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79199,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2674:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2678:5:120","memberName":"value","nodeType":"MemberAccess","src":"2674:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[{"id":79202,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79192,"src":"2703:10:120","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":79201,"name":"arbitrationCost","nodeType":"Identifier","overloadedDeclarations":[79361,79378],"referencedDeclaration":79361,"src":"2687:15:120","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_calldata_ptr_$returns$_t_uint256_$","typeString":"function (bytes calldata) view returns (uint256)"}},"id":79203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2687:27:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2674:40:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4172626974726174696f6e20666565733a206e6f7420656e6f7567682e","id":79205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2716:31:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a750ceba22c8e429994d2dfcf1a5ce83656b959d786014e879d415babde938","typeString":"literal_string \"Arbitration fees: not enough.\""},"value":"Arbitration fees: not enough."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c0a750ceba22c8e429994d2dfcf1a5ce83656b959d786014e879d415babde938","typeString":"literal_string \"Arbitration fees: not enough.\""}],"id":79198,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2666:7:120","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2666:82:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79207,"nodeType":"ExpressionStatement","src":"2666:82:120"},{"expression":{"id":79211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79208,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79196,"src":"2758:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79209,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79113,"src":"2770:8:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79107_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":79210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2779:6:120","memberName":"length","nodeType":"MemberAccess","src":"2770:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2758:27:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79212,"nodeType":"ExpressionStatement","src":"2758:27:120"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":79218,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2878:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2882:6:120","memberName":"sender","nodeType":"MemberAccess","src":"2878:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79217,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79502,"src":"2866:11:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$79502_$","typeString":"type(contract IArbitrable)"}},"id":79220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2866:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"}},{"id":79221,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79192,"src":"2928:10:120","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":79222,"name":"_choices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79190,"src":"2965:8:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79223,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3007:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3011:5:120","memberName":"value","nodeType":"MemberAccess","src":"3007:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":79225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3042:1:120","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":79226,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"3069:13:120","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$79092_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":79227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3083:7:120","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":79090,"src":"3069:21:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":79216,"name":"DisputeStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79107,"src":"2822:13:120","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_DisputeStruct_$79107_storage_ptr_$","typeString":"type(struct SafeArbitrator.DisputeStruct storage pointer)"}},"id":79228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2854:10:120","2907:19:120","2956:7:120","2991:14:120","3034:6:120","3061:6:120"],"names":["arbitrated","arbitratorExtraData","choices","arbitrationFee","ruling","status"],"nodeType":"FunctionCall","src":"2822:283:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_DisputeStruct_$79107_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}],"expression":{"id":79213,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79113,"src":"2795:8:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79107_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":79215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2804:4:120","memberName":"push","nodeType":"MemberAccess","src":"2795:13:120","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_DisputeStruct_$79107_storage_$dyn_storage_ptr_$_t_struct$_DisputeStruct_$79107_storage_$returns$__$attached_to$_t_array$_t_struct$_DisputeStruct_$79107_storage_$dyn_storage_ptr_$","typeString":"function (struct SafeArbitrator.DisputeStruct storage ref[] storage pointer,struct SafeArbitrator.DisputeStruct storage ref)"}},"id":79229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2795:320:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79230,"nodeType":"ExpressionStatement","src":"2795:320:120"},{"eventCall":{"arguments":[{"id":79232,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79196,"src":"3147:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":79234,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3170:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3174:6:120","memberName":"sender","nodeType":"MemberAccess","src":"3170:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79233,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79502,"src":"3158:11:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$79502_$","typeString":"type(contract IArbitrable)"}},"id":79236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3158:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"}],"id":79231,"name":"DisputeCreation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79515,"src":"3131:15:120","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrable_$79502_$returns$__$","typeString":"function (uint256,contract IArbitrable)"}},"id":79237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3131:51:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79238,"nodeType":"EmitStatement","src":"3126:56:120"}]},"baseFunctions":[79553],"documentation":{"id":79188,"nodeType":"StructuredDocumentation","src":"2466:27:120","text":"@inheritdoc IArbitrator"},"functionSelector":"c13517e1","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2507:13:120","overrides":{"id":79194,"nodeType":"OverrideSpecifier","overrides":[],"src":"2607:8:120"},"parameters":{"id":79193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79190,"mutability":"mutable","name":"_choices","nameLocation":"2529:8:120","nodeType":"VariableDeclaration","scope":79240,"src":"2521:16:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79189,"name":"uint256","nodeType":"ElementaryTypeName","src":"2521:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79192,"mutability":"mutable","name":"_extraData","nameLocation":"2554:10:120","nodeType":"VariableDeclaration","scope":79240,"src":"2539:25:120","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79191,"name":"bytes","nodeType":"ElementaryTypeName","src":"2539:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2520:45:120"},"returnParameters":{"id":79197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79196,"mutability":"mutable","name":"disputeID","nameLocation":"2641:9:120","nodeType":"VariableDeclaration","scope":79240,"src":"2633:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79195,"name":"uint256","nodeType":"ElementaryTypeName","src":"2633:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2632:19:120"},"scope":79424,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79261,"nodeType":"FunctionDefinition","src":"3227:241:120","nodes":[],"body":{"id":79260,"nodeType":"Block","src":"3428:40:120","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":79257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3445:15:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":79256,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3438:6:120","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":79258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3438:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79259,"nodeType":"ExpressionStatement","src":"3438:23:120"}]},"baseFunctions":[79568],"documentation":{"id":79241,"nodeType":"StructuredDocumentation","src":"3195:27:120","text":"@inheritdoc IArbitrator"},"functionSelector":"f6506db4","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3236:13:120","overrides":{"id":79252,"nodeType":"OverrideSpecifier","overrides":[],"src":"3401:8:120"},"parameters":{"id":79251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79243,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79261,"src":"3259:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79242,"name":"uint256","nodeType":"ElementaryTypeName","src":"3259:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79261,"src":"3289:14:120","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79244,"name":"bytes","nodeType":"ElementaryTypeName","src":"3289:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79261,"src":"3328:6:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79247,"nodeType":"UserDefinedTypeName","pathNode":{"id":79246,"name":"IERC20","nameLocations":["3328:6:120"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3328:6:120"},"referencedDeclaration":56609,"src":"3328:6:120","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":79250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79261,"src":"3358:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79249,"name":"uint256","nodeType":"ElementaryTypeName","src":"3358:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3249:137:120"},"returnParameters":{"id":79255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79254,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79261,"src":"3419:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79253,"name":"uint256","nodeType":"ElementaryTypeName","src":"3419:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3418:9:120"},"scope":79424,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":79349,"nodeType":"FunctionDefinition","src":"3761:680:120","nodes":[],"body":{"id":79348,"nodeType":"Block","src":"3873:568:120","nodes":[],"statements":[{"assignments":[79276],"declarations":[{"constant":false,"id":79276,"mutability":"mutable","name":"dispute","nameLocation":"3905:7:120","nodeType":"VariableDeclaration","scope":79348,"src":"3883:29:120","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":79275,"nodeType":"UserDefinedTypeName","pathNode":{"id":79274,"name":"DisputeStruct","nameLocations":["3883:13:120"],"nodeType":"IdentifierPath","referencedDeclaration":79107,"src":"3883:13:120"},"referencedDeclaration":79107,"src":"3883:13:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":79280,"initialValue":{"baseExpression":{"id":79277,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79113,"src":"3915:8:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79107_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":79279,"indexExpression":{"id":79278,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79264,"src":"3924:10:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3915:20:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3883:52:120"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79282,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79266,"src":"3953:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79283,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79276,"src":"3963:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3971:7:120","memberName":"choices","nodeType":"MemberAccess","referencedDeclaration":79099,"src":"3963:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3953:25:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c69642072756c696e672e","id":79286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3980:17:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6","typeString":"literal_string \"Invalid ruling.\""},"value":"Invalid ruling."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6","typeString":"literal_string \"Invalid ruling.\""}],"id":79281,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3945:7:120","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3945:53:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79288,"nodeType":"ExpressionStatement","src":"3945:53:120"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"},"id":79294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79290,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79276,"src":"4016:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4024:6:120","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":79106,"src":"4016:14:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":79292,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"4034:13:120","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$79092_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":79293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4048:6:120","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":79091,"src":"4034:20:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4016:38:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5468652064697370757465206d757374206e6f7420626520736f6c7665642e","id":79295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4056:33:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_095ade82bf7104c16c921c8df855d9db6a5c31d55ff2258cf5b2af059d12680f","typeString":"literal_string \"The dispute must not be solved.\""},"value":"The dispute must not be solved."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_095ade82bf7104c16c921c8df855d9db6a5c31d55ff2258cf5b2af059d12680f","typeString":"literal_string \"The dispute must not be solved.\""}],"id":79289,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4008:7:120","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:82:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79297,"nodeType":"ExpressionStatement","src":"4008:82:120"},{"expression":{"id":79302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79298,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79276,"src":"4101:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4109:6:120","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":79103,"src":"4101:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79301,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79266,"src":"4118:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4101:24:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79303,"nodeType":"ExpressionStatement","src":"4101:24:120"},{"expression":{"id":79309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79304,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79276,"src":"4135:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4143:6:120","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":79106,"src":"4135:14:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79307,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"4152:13:120","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$79092_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":79308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4166:6:120","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":79091,"src":"4152:20:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4135:37:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79092","typeString":"enum SafeArbitrator.DisputeStatus"}},"id":79310,"nodeType":"ExpressionStatement","src":"4135:37:120"},{"assignments":[79312,null],"declarations":[{"constant":false,"id":79312,"mutability":"mutable","name":"success","nameLocation":"4189:7:120","nodeType":"VariableDeclaration","scope":79348,"src":"4184:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79311,"name":"bool","nodeType":"ElementaryTypeName","src":"4184:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":79324,"initialValue":{"arguments":[{"hexValue":"","id":79322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4257:2:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"expression":{"id":79315,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4209:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4213:6:120","memberName":"sender","nodeType":"MemberAccess","src":"4209:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4201:8:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":79313,"name":"address","nodeType":"ElementaryTypeName","src":"4201:8:120","stateMutability":"payable","typeDescriptions":{}}},"id":79317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4201:19:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":79318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4221:4:120","memberName":"call","nodeType":"MemberAccess","src":"4201:24:120","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":79321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":79319,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79276,"src":"4233:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79320,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4241:14:120","memberName":"arbitrationFee","nodeType":"MemberAccess","referencedDeclaration":79101,"src":"4233:22:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4201:55:120","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":79323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4201:59:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4183:77:120"},{"expression":{"arguments":[{"id":79326,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79312,"src":"4278:7:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5472616e73666572206661696c6564","id":79327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4287:17:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""},"value":"Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""}],"id":79325,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4270:7:120","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4270:35:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79329,"nodeType":"ExpressionStatement","src":"4270:35:120"},{"expression":{"arguments":[{"id":79335,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79264,"src":"4339:10:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79336,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79276,"src":"4351:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4359:6:120","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":79103,"src":"4351:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":79330,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79276,"src":"4315:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4323:10:120","memberName":"arbitrated","nodeType":"MemberAccess","referencedDeclaration":79095,"src":"4315:18:120","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"}},"id":79334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4334:4:120","memberName":"rule","nodeType":"MemberAccess","referencedDeclaration":79501,"src":"4315:23:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":79338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4315:51:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79339,"nodeType":"ExpressionStatement","src":"4315:51:120"},{"eventCall":{"arguments":[{"arguments":[{"id":79342,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79268,"src":"4400:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79341,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79502,"src":"4388:11:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$79502_$","typeString":"type(contract IArbitrable)"}},"id":79343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4388:24:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"}},{"id":79344,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79264,"src":"4414:10:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79345,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79266,"src":"4426:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$79502","typeString":"contract IArbitrable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79340,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79525,"src":"4381:6:120","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrable_$79502_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrable,uint256,uint256)"}},"id":79346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4381:53:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79347,"nodeType":"EmitStatement","src":"4376:58:120"}]},"documentation":{"id":79262,"nodeType":"StructuredDocumentation","src":"3474:282:120","text":"@dev Give a ruling to a dispute.\n @param _disputeID ID of the dispute to rule.\n @param _ruling Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\".\n @param _arbitrable Address of the arbitrable that the safe rules for\"."},"functionSelector":"7a1d3756","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":79271,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79268,"src":"3860:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":79272,"kind":"modifierInvocation","modifierName":{"id":79270,"name":"onlySafe","nameLocations":["3851:8:120"],"nodeType":"IdentifierPath","referencedDeclaration":79146,"src":"3851:8:120"},"nodeType":"ModifierInvocation","src":"3851:21:120"}],"name":"executeRuling","nameLocation":"3770:13:120","parameters":{"id":79269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79264,"mutability":"mutable","name":"_disputeID","nameLocation":"3792:10:120","nodeType":"VariableDeclaration","scope":79349,"src":"3784:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79263,"name":"uint256","nodeType":"ElementaryTypeName","src":"3784:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79266,"mutability":"mutable","name":"_ruling","nameLocation":"3812:7:120","nodeType":"VariableDeclaration","scope":79349,"src":"3804:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79265,"name":"uint256","nodeType":"ElementaryTypeName","src":"3804:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79268,"mutability":"mutable","name":"_arbitrable","nameLocation":"3829:11:120","nodeType":"VariableDeclaration","scope":79349,"src":"3821:19:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79267,"name":"address","nodeType":"ElementaryTypeName","src":"3821:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3783:58:120"},"returnParameters":{"id":79273,"nodeType":"ParameterList","parameters":[],"src":"3873:0:120"},"scope":79424,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79361,"nodeType":"FunctionDefinition","src":"4479:138:120","nodes":[],"body":{"id":79360,"nodeType":"Block","src":"4579:38:120","nodes":[],"statements":[{"expression":{"id":79358,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79109,"src":"4596:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79357,"id":79359,"nodeType":"Return","src":"4589:21:120"}]},"baseFunctions":[79576],"documentation":{"id":79350,"nodeType":"StructuredDocumentation","src":"4447:27:120","text":"@inheritdoc IArbitrator"},"functionSelector":"f7434ea9","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4488:15:120","overrides":{"id":79354,"nodeType":"OverrideSpecifier","overrides":[],"src":"4548:8:120"},"parameters":{"id":79353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79352,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79361,"src":"4504:14:120","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79351,"name":"bytes","nodeType":"ElementaryTypeName","src":"4504:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4503:32:120"},"returnParameters":{"id":79357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79356,"mutability":"mutable","name":"fee","nameLocation":"4574:3:120","nodeType":"VariableDeclaration","scope":79361,"src":"4566:11:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79355,"name":"uint256","nodeType":"ElementaryTypeName","src":"4566:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4565:13:120"},"scope":79424,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79378,"nodeType":"FunctionDefinition","src":"4655:204:120","nodes":[],"body":{"id":79377,"nodeType":"Block","src":"4819:40:120","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":79374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4836:15:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":79373,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4829:6:120","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":79375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4829:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79376,"nodeType":"ExpressionStatement","src":"4829:23:120"}]},"baseFunctions":[79587],"documentation":{"id":79362,"nodeType":"StructuredDocumentation","src":"4623:27:120","text":"@inheritdoc IArbitrator"},"functionSelector":"d98493f6","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4664:15:120","overrides":{"id":79369,"nodeType":"OverrideSpecifier","overrides":[],"src":"4770:8:120"},"parameters":{"id":79368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79364,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79378,"src":"4680:14:120","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79363,"name":"bytes","nodeType":"ElementaryTypeName","src":"4680:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79378,"src":"4711:6:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79366,"nodeType":"UserDefinedTypeName","pathNode":{"id":79365,"name":"IERC20","nameLocations":["4711:6:120"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"4711:6:120"},"referencedDeclaration":56609,"src":"4711:6:120","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"4679:54:120"},"returnParameters":{"id":79372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79378,"src":"4796:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79370,"name":"uint256","nodeType":"ElementaryTypeName","src":"4796:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4795:19:120"},"scope":79424,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":79410,"nodeType":"FunctionDefinition","src":"4865:260:120","nodes":[],"body":{"id":79409,"nodeType":"Block","src":"4973:152:120","nodes":[],"statements":[{"assignments":[79391],"declarations":[{"constant":false,"id":79391,"mutability":"mutable","name":"dispute","nameLocation":"5005:7:120","nodeType":"VariableDeclaration","scope":79409,"src":"4983:29:120","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":79390,"nodeType":"UserDefinedTypeName","pathNode":{"id":79389,"name":"DisputeStruct","nameLocations":["4983:13:120"],"nodeType":"IdentifierPath","referencedDeclaration":79107,"src":"4983:13:120"},"referencedDeclaration":79107,"src":"4983:13:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":79395,"initialValue":{"baseExpression":{"id":79392,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79113,"src":"5015:8:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79107_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":79394,"indexExpression":{"id":79393,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79380,"src":"5024:10:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5015:20:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4983:52:120"},{"expression":{"id":79399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79396,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79383,"src":"5045:6:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79397,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79391,"src":"5054:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79107_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5062:6:120","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":79103,"src":"5054:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5045:23:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79400,"nodeType":"ExpressionStatement","src":"5045:23:120"},{"expression":{"id":79403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79401,"name":"tied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79385,"src":"5078:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":79402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5085:5:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5078:12:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79404,"nodeType":"ExpressionStatement","src":"5078:12:120"},{"expression":{"id":79407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79405,"name":"overridden","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79387,"src":"5100:10:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":79406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5113:5:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5100:18:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79408,"nodeType":"ExpressionStatement","src":"5100:18:120"}]},"baseFunctions":[79599],"functionSelector":"1c3db16d","implemented":true,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"4874:13:120","parameters":{"id":79381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79380,"mutability":"mutable","name":"_disputeID","nameLocation":"4896:10:120","nodeType":"VariableDeclaration","scope":79410,"src":"4888:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79379,"name":"uint256","nodeType":"ElementaryTypeName","src":"4888:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4887:20:120"},"returnParameters":{"id":79388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79383,"mutability":"mutable","name":"ruling","nameLocation":"4937:6:120","nodeType":"VariableDeclaration","scope":79410,"src":"4929:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79382,"name":"uint256","nodeType":"ElementaryTypeName","src":"4929:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79385,"mutability":"mutable","name":"tied","nameLocation":"4950:4:120","nodeType":"VariableDeclaration","scope":79410,"src":"4945:9:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79384,"name":"bool","nodeType":"ElementaryTypeName","src":"4945:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":79387,"mutability":"mutable","name":"overridden","nameLocation":"4961:10:120","nodeType":"VariableDeclaration","scope":79410,"src":"4956:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79386,"name":"bool","nodeType":"ElementaryTypeName","src":"4956:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4928:44:120"},"scope":79424,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79419,"nodeType":"FunctionDefinition","src":"5131:66:120","nodes":[],"body":{"id":79418,"nodeType":"Block","src":"5195:2:120","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":79416,"kind":"modifierInvocation","modifierName":{"id":79415,"name":"onlyOwner","nameLocations":["5185:9:120"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"5185:9:120"},"nodeType":"ModifierInvocation","src":"5185:9:120"}],"name":"_authorizeUpgrade","nameLocation":"5140:17:120","overrides":{"id":79414,"nodeType":"OverrideSpecifier","overrides":[],"src":"5176:8:120"},"parameters":{"id":79413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79419,"src":"5158:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79411,"name":"address","nodeType":"ElementaryTypeName","src":"5158:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5157:9:120"},"returnParameters":{"id":79417,"nodeType":"ParameterList","parameters":[],"src":"5195:0:120"},"scope":79424,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79423,"nodeType":"VariableDeclaration","src":"5203:25:120","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5223:5:120","scope":79424,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":79420,"name":"uint256","nodeType":"ElementaryTypeName","src":"5203:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79422,"length":{"hexValue":"3530","id":79421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5211:2:120","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5203:11:120","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":79084,"name":"IArbitrator","nameLocations":["604:11:120"],"nodeType":"IdentifierPath","referencedDeclaration":79606,"src":"604:11:120"},"id":79085,"nodeType":"InheritanceSpecifier","src":"604:11:120"},{"baseName":{"id":79086,"name":"UUPSUpgradeable","nameLocations":["617:15:120"],"nodeType":"IdentifierPath","referencedDeclaration":55753,"src":"617:15:120"},"id":79087,"nodeType":"InheritanceSpecifier","src":"617:15:120"},{"baseName":{"id":79088,"name":"OwnableUpgradeable","nameLocations":["634:18:120"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"634:18:120"},"id":79089,"nodeType":"InheritanceSpecifier","src":"634:18:120"}],"canonicalName":"SafeArbitrator","contractDependencies":[],"contractKind":"contract","documentation":{"id":79083,"nodeType":"StructuredDocumentation","src":"448:129:120","text":"@title Safe Arbitrator\n @dev This is an arbitrator middleware that will allow a safe to decide on the result of disputes."},"fullyImplemented":true,"linearizedBaseContracts":[79424,52984,53777,53233,55753,55406,55055,55065,79606],"name":"SafeArbitrator","nameLocation":"586:14:120","scope":79425,"usedErrors":[79123]}],"license":"MIT"},"id":120}
\ No newline at end of file
+{"abi":[{"type":"function","name":"arbitrableTribunalSafe","inputs":[{"name":"arbitrable","type":"address","internalType":"address"}],"outputs":[{"name":"safe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_choices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"disputes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrated","type":"address","internalType":"contract IArbitrable"},{"name":"arbitratorExtraData","type":"bytes","internalType":"bytes"},{"name":"choices","type":"uint256","internalType":"uint256"},{"name":"arbitrationFee","type":"uint256","internalType":"uint256"},{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"status","type":"uint8","internalType":"enum SafeArbitrator.DisputeStatus"}],"stateMutability":"view"},{"type":"function","name":"executeRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"},{"name":"_arbitrable","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitrationFee","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OnlySafe","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"safe","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a08060405234610031573060805261169390816100378239608051818181610ac201528181610bbd0152610de20152f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c80631c3db16d1461104e57806326a0754c146110125780633659cfe614610dbd5780634f1ef28614610b6e57806352d1902d14610aaf578063564a565d1461096b5780635ea7b4fc14610948578063715018a6146108fd5780637a1d3756146106d057806388d5b7321461068a5780638da5cb5b14610661578063c13517e114610374578063d98493f614610329578063f2fde38b14610298578063f6506db414610257578063f7434ea9146102135763fe4b84df146100d857600080fd5b3461021057602036600319011261021057805460ff8160081c161590818092610203575b80156101ec575b156101905760ff19811660011783558161017f575b5061013260ff835460081c1661012d816114a8565b6114a8565b61013b33611276565b6004356065556101485780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117825538610118565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101035750600160ff821614610103565b50600160ff8216106100fc565b80fd5b5034610210576020366003190112610210576004356001600160401b038111610253576102449036906004016111f1565b50506020606554604051908152f35b5080fd5b5034610210576080366003190112610210576024356001600160401b038111610253576102889036906004016111f1565b505061029261109c565b50611508565b5034610210576020366003190112610210576102b2611086565b6102ba61121e565b6001600160a01b038116156102d5576102d290611276565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610210576040366003190112610210576004356001600160401b0381116102535761035a9036906004016111f1565b50506024356001600160a01b03811614611508575b600080fd5b506040366003190112610210576001600160401b0390602435828111610253576103a29036906004016111f1565b9092606554341061061c57606654916040519460c086019186831084841117610606576103d692604052338752369161110b565b906020850191825260043560408601523460608601528360808601528360a0860152600160401b8310156105f2576001830160665561041483611142565b9290926105de57855183546001600160a01b0319166001600160a01b03919091161783555180519182116105ca5761044f6001840154611177565b601f8111610586575b50602090601f831160011461051757918060a09492600594889261050c575b50508160011b916000199060031b1c19161760018201555b604086015160028201556060860151600382015560808601516004820155019301519260028410156104f85760209360ff8019835416911617905560405191817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995339280a38152f35b634e487b7160e01b83526021600452602483fd5b015190503880610477565b600184018652602086209190601f198416875b81811061056e575092600192859260059660a0989610610555575b505050811b01600182015561048f565b015160001960f88460031b161c19169055388080610545565b9293602060018192878601518155019501930161052a565b60018401865260208620601f840160051c8101602085106105c3575b601f830160051c820181106105b8575050610458565b8781556001016105a2565b50806105a2565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601d60248201527f4172626974726174696f6e20666565733a206e6f7420656e6f7567682e0000006044820152606490fd5b50346102105780600319360112610210576033546040516001600160a01b039091168152602090f35b5034610210576020366003190112610210576106a4611086565b33825260676020526040822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5034610210576060366003190112610210576004356001600160a01b036024803590826106fb61109c565b16928386526067602052806040872054168033146000146108e0575061072085611142565b509060028201548410156108aa57600582019182549260ff8416600281101561089757600114610853576001600483019487865560ff1916179055878080806003850154335af161076f6113db565b501561081d57549154879392909116803b156108195760448492604051958693849263188d362b60e11b84528b6004850152878401525af1801561080e576107d0575b5050602060008051602061161e83398151915291604051908152a380f35b9194916001600160401b0382116107fc575060405292602060008051602061161e8339815191526107b2565b634e487b7160e01b8352604160045282fd5b6040513d88823e3d90fd5b8380fd5b60405162461bcd60e51b815260206004820152600f818601526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601f818701527f5468652064697370757465206d757374206e6f7420626520736f6c7665642e006044820152606490fd5b634e487b7160e01b8a526021600452858afd5b60405162461bcd60e51b815260206004820152600f818501526e24b73b30b634b210393ab634b7339760891b6044820152606490fd5b826044916040519163d0774c9960e01b8352336004840152820152fd5b503461021057806003193601126102105761091661121e565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061159e8339815191528280a380f35b50346102105760203660031901126102105761096261121e565b60043560655580f35b50346102105760208060031936011261025357600435606654811015610aab5761099490611142565b5060018060a01b0381541691600191828101604051809487908354936109b985611177565b94858552878382169182600014610a89575050600114610a4d575b50506109e2925003846110cd565b600281015492610a1460038301549160c060ff60056004870154960154169560405198895288015260c08701906111b1565b936040860152606085015260808401526002811015610a395782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b86925089528189209089915b858310610a715750506109e2935082010138806109d4565b8054838a018501528894508793909201918101610a59565b92509350506109e294915060ff191682840152151560051b82010138806109d4565b8280fd5b50346102105780600319360112610210577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b0857602060405160008051602061157e8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261021057610b83611086565b6024356001600160401b038111610aab5736602382011215610aab57610bb390369060248160040135910161110b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190610bed308514156112ad565b610c0a60008051602061157e8339815191529482865416146112fc565b610c1261121e565b60008051602061153e8339815191525460ff1615610c365750506102d2915061134b565b82919216604051936352d1902d60e01b85526020948581600481865afa879181610d8a575b50610caa5760405162461bcd60e51b815260048101879052602e602482015260008051602061163e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403610d4557610cbb8261134b565b6000805160206115be8339815191528580a283835115801590610d3d575b610ce5575b5050505080f35b80610d339460405194610cf7866110b2565b602786526000805160206115fe83398151915281870152660819985a5b195960ca1b604087015281519101845af4610d2d6113db565b9161140b565b5038808083610cde565b506001610cd9565b60405162461bcd60e51b815260048101849052602960248201526000805160206115de8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610db6575b610da281836110cd565b81010312610db257519038610c5b565b8780fd5b503d610d98565b50346102105760208060031936011261025357610dd8611086565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610e0f308214156112ad565b610e2c60008051602061157e8339815191529183835416146112fc565b610e3461121e565b604051848101929091906001600160401b03841183851017610ffe578360405286835260ff60008051602061153e8339815191525416600014610e7f57505050506102d2915061134b565b84939416906040516352d1902d60e01b81528681600481865afa889181610fcb575b50610ef05760405162461bcd60e51b815260048101889052602e602482015260008051602061163e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503610f8657908591610f048461134b565b6000805160206115be8339815191528380a2805115801590610f7f575b610f2e575b505050505080f35b610f749482916000805160206115fe83398151915260405196610f50886110b2565b60278852870152660819985a5b195960ca1b60408701525190845af4610d2d6113db565b503880808381610f26565b5081610f21565b60405162461bcd60e51b815260048101859052602960248201526000805160206115de8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d8311610ff7575b610fe381836110cd565b81010312610ff357519038610ea1565b8880fd5b503d610fd9565b634e487b7160e01b87526041600452602487fd5b5034610210576020366003190112610210576020906001600160a01b03906040908261103c611086565b16815260678452205416604051908152f35b503461021057602036600319011261021057606090600461106f8135611142565b500154906040519182528060208301526040820152f35b600435906001600160a01b038216820361036f57565b604435906001600160a01b038216820361036f57565b606081019081106001600160401b0382111761060657604052565b601f909101601f19168101906001600160401b0382119082101761060657604052565b6001600160401b03811161060657601f01601f191660200190565b929192611117826110f0565b9161112560405193846110cd565b82948184528183011161036f578281602093846000960137010152565b6066548110156111615760666000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156111a7575b602083101461119157565b634e487b7160e01b600052602260045260246000fd5b91607f1691611186565b919082519283825260005b8481106111dd575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111bc565b9181601f8401121561036f578235916001600160401b03831161036f576020838186019501011161036f57565b6033546001600160a01b0316330361123257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061159e833981519152600080a3565b156112b457565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155e83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561130357565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155e83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156113805760008051602061157e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15611406573d906113ec826110f0565b916113fa60405193846110cd565b82523d6000602084013e565b606090565b9192901561146d575081511561141f575090565b3b156114285790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156114805750805190602001fd5b60405162461bcd60e51b8152602060048201529081906114a49060248301906111b1565b0390fd5b156114af57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fdfe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e7562227645524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220ff55ed2920ef317be4d00359b9f7cd940f0ebb0ca0859d8966602a58c7584e3d64736f6c63430008130033","sourceMap":"577:4654:120:-:0;;;;;;;1088:4:66;1080:13;;577:4654:120;;;;;;1080:13:66;577:4654:120;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b6000803560e01c80631c3db16d1461104e57806326a0754c146110125780633659cfe614610dbd5780634f1ef28614610b6e57806352d1902d14610aaf578063564a565d1461096b5780635ea7b4fc14610948578063715018a6146108fd5780637a1d3756146106d057806388d5b7321461068a5780638da5cb5b14610661578063c13517e114610374578063d98493f614610329578063f2fde38b14610298578063f6506db414610257578063f7434ea9146102135763fe4b84df146100d857600080fd5b3461021057602036600319011261021057805460ff8160081c161590818092610203575b80156101ec575b156101905760ff19811660011783558161017f575b5061013260ff835460081c1661012d816114a8565b6114a8565b61013b33611276565b6004356065556101485780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117825538610118565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101035750600160ff821614610103565b50600160ff8216106100fc565b80fd5b5034610210576020366003190112610210576004356001600160401b038111610253576102449036906004016111f1565b50506020606554604051908152f35b5080fd5b5034610210576080366003190112610210576024356001600160401b038111610253576102889036906004016111f1565b505061029261109c565b50611508565b5034610210576020366003190112610210576102b2611086565b6102ba61121e565b6001600160a01b038116156102d5576102d290611276565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610210576040366003190112610210576004356001600160401b0381116102535761035a9036906004016111f1565b50506024356001600160a01b03811614611508575b600080fd5b506040366003190112610210576001600160401b0390602435828111610253576103a29036906004016111f1565b9092606554341061061c57606654916040519460c086019186831084841117610606576103d692604052338752369161110b565b906020850191825260043560408601523460608601528360808601528360a0860152600160401b8310156105f2576001830160665561041483611142565b9290926105de57855183546001600160a01b0319166001600160a01b03919091161783555180519182116105ca5761044f6001840154611177565b601f8111610586575b50602090601f831160011461051757918060a09492600594889261050c575b50508160011b916000199060031b1c19161760018201555b604086015160028201556060860151600382015560808601516004820155019301519260028410156104f85760209360ff8019835416911617905560405191817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995339280a38152f35b634e487b7160e01b83526021600452602483fd5b015190503880610477565b600184018652602086209190601f198416875b81811061056e575092600192859260059660a0989610610555575b505050811b01600182015561048f565b015160001960f88460031b161c19169055388080610545565b9293602060018192878601518155019501930161052a565b60018401865260208620601f840160051c8101602085106105c3575b601f830160051c820181106105b8575050610458565b8781556001016105a2565b50806105a2565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601d60248201527f4172626974726174696f6e20666565733a206e6f7420656e6f7567682e0000006044820152606490fd5b50346102105780600319360112610210576033546040516001600160a01b039091168152602090f35b5034610210576020366003190112610210576106a4611086565b33825260676020526040822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5034610210576060366003190112610210576004356001600160a01b036024803590826106fb61109c565b16928386526067602052806040872054168033146000146108e0575061072085611142565b509060028201548410156108aa57600582019182549260ff8416600281101561089757600114610853576001600483019487865560ff1916179055878080806003850154335af161076f6113db565b501561081d57549154879392909116803b156108195760448492604051958693849263188d362b60e11b84528b6004850152878401525af1801561080e576107d0575b5050602060008051602061161e83398151915291604051908152a380f35b9194916001600160401b0382116107fc575060405292602060008051602061161e8339815191526107b2565b634e487b7160e01b8352604160045282fd5b6040513d88823e3d90fd5b8380fd5b60405162461bcd60e51b815260206004820152600f818601526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601f818701527f5468652064697370757465206d757374206e6f7420626520736f6c7665642e006044820152606490fd5b634e487b7160e01b8a526021600452858afd5b60405162461bcd60e51b815260206004820152600f818501526e24b73b30b634b210393ab634b7339760891b6044820152606490fd5b826044916040519163d0774c9960e01b8352336004840152820152fd5b503461021057806003193601126102105761091661121e565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061159e8339815191528280a380f35b50346102105760203660031901126102105761096261121e565b60043560655580f35b50346102105760208060031936011261025357600435606654811015610aab5761099490611142565b5060018060a01b0381541691600191828101604051809487908354936109b985611177565b94858552878382169182600014610a89575050600114610a4d575b50506109e2925003846110cd565b600281015492610a1460038301549160c060ff60056004870154960154169560405198895288015260c08701906111b1565b936040860152606085015260808401526002811015610a395782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b86925089528189209089915b858310610a715750506109e2935082010138806109d4565b8054838a018501528894508793909201918101610a59565b92509350506109e294915060ff191682840152151560051b82010138806109d4565b8280fd5b50346102105780600319360112610210577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b0857602060405160008051602061157e8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261021057610b83611086565b6024356001600160401b038111610aab5736602382011215610aab57610bb390369060248160040135910161110b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190610bed308514156112ad565b610c0a60008051602061157e8339815191529482865416146112fc565b610c1261121e565b60008051602061153e8339815191525460ff1615610c365750506102d2915061134b565b82919216604051936352d1902d60e01b85526020948581600481865afa879181610d8a575b50610caa5760405162461bcd60e51b815260048101879052602e602482015260008051602061163e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403610d4557610cbb8261134b565b6000805160206115be8339815191528580a283835115801590610d3d575b610ce5575b5050505080f35b80610d339460405194610cf7866110b2565b602786526000805160206115fe83398151915281870152660819985a5b195960ca1b604087015281519101845af4610d2d6113db565b9161140b565b5038808083610cde565b506001610cd9565b60405162461bcd60e51b815260048101849052602960248201526000805160206115de8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610db6575b610da281836110cd565b81010312610db257519038610c5b565b8780fd5b503d610d98565b50346102105760208060031936011261025357610dd8611086565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610e0f308214156112ad565b610e2c60008051602061157e8339815191529183835416146112fc565b610e3461121e565b604051848101929091906001600160401b03841183851017610ffe578360405286835260ff60008051602061153e8339815191525416600014610e7f57505050506102d2915061134b565b84939416906040516352d1902d60e01b81528681600481865afa889181610fcb575b50610ef05760405162461bcd60e51b815260048101889052602e602482015260008051602061163e83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503610f8657908591610f048461134b565b6000805160206115be8339815191528380a2805115801590610f7f575b610f2e575b505050505080f35b610f749482916000805160206115fe83398151915260405196610f50886110b2565b60278852870152660819985a5b195960ca1b60408701525190845af4610d2d6113db565b503880808381610f26565b5081610f21565b60405162461bcd60e51b815260048101859052602960248201526000805160206115de8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d8311610ff7575b610fe381836110cd565b81010312610ff357519038610ea1565b8880fd5b503d610fd9565b634e487b7160e01b87526041600452602487fd5b5034610210576020366003190112610210576020906001600160a01b03906040908261103c611086565b16815260678452205416604051908152f35b503461021057602036600319011261021057606090600461106f8135611142565b500154906040519182528060208301526040820152f35b600435906001600160a01b038216820361036f57565b604435906001600160a01b038216820361036f57565b606081019081106001600160401b0382111761060657604052565b601f909101601f19168101906001600160401b0382119082101761060657604052565b6001600160401b03811161060657601f01601f191660200190565b929192611117826110f0565b9161112560405193846110cd565b82948184528183011161036f578281602093846000960137010152565b6066548110156111615760666000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156111a7575b602083101461119157565b634e487b7160e01b600052602260045260246000fd5b91607f1691611186565b919082519283825260005b8481106111dd575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111bc565b9181601f8401121561036f578235916001600160401b03831161036f576020838186019501011161036f57565b6033546001600160a01b0316330361123257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061159e833981519152600080a3565b156112b457565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155e83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561130357565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155e83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156113805760008051602061157e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15611406573d906113ec826110f0565b916113fa60405193846110cd565b82523d6000602084013e565b606090565b9192901561146d575081511561141f575090565b3b156114285790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156114805750805190602001fd5b60405162461bcd60e51b8152602060048201529081906114a49060248301906111b1565b0390fd5b156114af57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fdfe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e7562227645524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220ff55ed2920ef317be4d00359b9f7cd940f0ebb0ca0859d8966602a58c7584e3d64736f6c63430008130033","sourceMap":"577:4654:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;;;;;;3301:14:49;3347:34;;;;;;577:4654:120;3346:108:49;;;;577:4654:120;;;;-1:-1:-1;;577:4654:120;;;;;;;3562:65:49;;577:4654:120;;5366:69:49;577:4654:120;;;;;;5366:69:49;;;:::i;:::-;;:::i;:::-;1216:12:47;965:10:53;1216:12:47;:::i;:::-;577:4654:120;;2052:32;577:4654;3647:99:49;;577:4654:120;;3647:99:49;577:4654:120;;;;;;;3721:14:49;577:4654:120;;;;;;3721:14:49;577:4654:120;;3562:65:49;-1:-1:-1;;577:4654:120;;;;;3562:65:49;;;577:4654:120;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;3346:108:49;3426:4;;1702:19:78;:23;3387:66:49;;3346:108;3387:66;577:4654:120;;;;;3436:17:49;3346:108;;3347:34;577:4654:120;;;;;3365:16:49;3347:34;;577:4654:120;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;:::i;:::-;;;;4596:14;577:4654;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;:::i;:::-;;;;;;;-1:-1:-1;;577:4654:120;;;;;;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;577:4654:120;;2423:22:47;577:4654:120;;2517:8:47;;;:::i;:::-;577:4654:120;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;:::i;:::-;-1:-1:-1;;577:4654:120;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;-1:-1:-1;577:4654:120;;-1:-1:-1;;577:4654:120;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;:::i;:::-;;;4596:14;577:4654;2674:9;:40;577:4654;;2770:8;577:4654;;;;;;;;;;;;;;;;;;;;;;2878:10;577:4654;;;;;:::i;:::-;2822:283;577:4654;2822:283;;577:4654;;;;;;2822:283;;577:4654;2674:9;2822:283;;;577:4654;2822:283;;;;577:4654;2822:283;;;;577:4654;;;;;;;;;;;;2770:8;577:4654;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;;577:4654:120;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2822:283;577:4654;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2822:283;;577:4654;;;;;2822:283;;;577:4654;;;;;2822:283;;;577:4654;;;;;;2822:283;;577:4654;;;;;;;;;;;;;;;;;;;;;;;2878:10;;3131:51;2878:10;3131:51;;;577:4654;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;577:4654:120;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;;;;;;;;;;;;2822:283;577:4654;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;577:4654:120;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1534:6:47;577:4654:120;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;:::i;:::-;2434:10;577:4654;;2411:22;577:4654;;;;;;;-1:-1:-1;;;;;;577:4654:120;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;:::i;:::-;;;;;;1782:22;577:4654;;;;;;;;1768:10;;:49;1764:176;1768:49;;;3915:20;;;;:::i;:::-;3963:15;;;;;577:4654;3953:25;;577:4654;;;4016:14;;;577:4654;;;;;;;3963:15;577:4654;;;;;;4016:38;577:4654;;;;4101:14;;577:4654;;;;;;;;;;4233:22;;;;577:4654;4233:22;;577:4654;1768:10;4201:59;;;;:::i;:::-;;577:4654;;;;;;;;;;;;4315:51;;;;;577:4654;;;;;689:66:62;;;;;;;;4315:51:120;;;577:4654;4315:51;;577:4654;;;;;4315:51;;;;;;;;1764:176;577:4654;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;;4381:53;577:4654;;4315:51;577:4654;;;-1:-1:-1;;;;;577:4654:120;;;;-1:-1:-1;577:4654:120;;;;-1:-1:-1;;;;;;;;;;;4315:51:120;;577:4654;-1:-1:-1;;;577:4654:120;;;;;;;4315:51;577:4654;;689:66:62;577:4654:120;;689:66:62;;;;4315:51:120;577:4654;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;1764:176;577:4654;;;;;1872:57;;;;;;1768:10;577:4654;1872:57;;577:4654;;;;1872:57;577:4654;;;;;;;;;;;;;1324:62:47;;:::i;:::-;2779:6;577:4654:120;;-1:-1:-1;;;;;;577:4654:120;;;;;;;-1:-1:-1;;;;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;2827:40:47;577:4654:120;;;;;;;;;-1:-1:-1;;577:4654:120;;;;1324:62:47;;:::i;:::-;577:4654:120;;2310:32;577:4654;;;;;;;;;;;;;;;;;;;1448:31;577:4654;1448:31;;;;;;;;:::i;:::-;577:4654;;;;;;;;;;;1448:31;;;;577:4654;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1448:31;;;577:4654;1448:31;577:4654;;1448:31;;577:4654;1448:31;577:4654;;1448:31;577:4654;1448:31;;577:4654;1448:31;;577:4654;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1448:31;577:4654;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1448:31;;;;577:4654;;;;;;;;;;;;;2089:6:66;-1:-1:-1;;;;;577:4654:120;2080:4:66;2072:23;577:4654:120;;;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;-1:-1:-1;577:4654:120;;-1:-1:-1;;577:4654:120;;;;;;:::i;:::-;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;577:4654:120;;;;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:62;577:4654:120;;;;;2993:17:62;;;;;;:::i;2906:504::-;577:4654:120;;;;;;689:66:62;;;;3046:52;;;;;;577:4654:120;3046:52:62;;;;;;;;;2906:504;-1:-1:-1;3042:291:62;;577:4654:120;;-1:-1:-1;;;3262:56:62;;577:4654:120;3262:56:62;;689:66;;;;577:4654:120;689:66:62;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:62;;;577:4654:120;;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;577:4654:120;;2204:112:62;577:4654:120;7307:69:78;577:4654:120;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;-1:-1:-1;;;577:4654:120;;;;7265:25:78;;;;;;;;;:::i;:::-;7307:69;;:::i;:::-;;2204:112:62;;;;;;2208:28;;577:4654:120;2208:28:62;;689:66;577:4654:120;;-1:-1:-1;;;689:66:62;;577:4654:120;689:66:62;;;;;;577:4654:120;689:66:62;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;577:4654:120;;;3046:52:62;;;;;577:4654:120;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:66;577:4654:120;;1629:80:66;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;1727:30:66;1719:87;:::i;:::-;1324:62:47;;:::i;:::-;577:4654:120;;;;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;689:66:62;577:4654:120;2906:504:62;577:4654:120;;;2993:17:62;;;;;;;;:::i;2906:504::-;577:4654:120;;;;;;;689:66:62;;;3046:52;;;;577:4654:120;3046:52:62;;;;;;;;;2906:504;-1:-1:-1;3042:291:62;;577:4654:120;;-1:-1:-1;;;3262:56:62;;577:4654:120;3262:56:62;;689:66;;;;;;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;3262:56;3042:291;3148:28;;;;689:66;;3042:291;;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:62;;;577:4654:120;;2208:15:62;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;;577:4654:120;;2204:112:62;7307:69:78;577:4654:120;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;577:4654:120;;;;7265:25:78;;;;;;;:::i;7307:69::-;;2204:112:62;;;;;;;2208:28;;;;;689:66;577:4654:120;;-1:-1:-1;;;689:66:62;;577:4654:120;689:66:62;;;;;;;;;577:4654:120;-1:-1:-1;;;;;;;;;;;577:4654:120;;;689:66:62;-1:-1:-1;;;689:66:62;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;577:4654:120;;;3046:52:62;;;;;577:4654:120;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;:::i;:::-;;;;1534:73;577:4654;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:4654:120;;;;;;;5015:20;577:4654;;5015:20;:::i;:::-;5054:14;;577:4654;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;577:4654:120;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;:::o;:::-;;;;;-1:-1:-1;;577:4654:120;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;577:4654:120;;;;;;-1:-1:-1;;577:4654:120;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;577:4654:120;;;;;;:::o;:::-;5015:8;577:4654;;;;;;5015:8;-1:-1:-1;577:4654:120;;;-1:-1:-1;577:4654:120;;;;;-1:-1:-1;577:4654:120;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;577:4654:120;;;;;;;;;;;;;;;:::o;1620:130:47:-;1534:6;577:4654:120;-1:-1:-1;;;;;577:4654:120;965:10:53;1683:23:47;577:4654:120;;1620:130:47:o;577:4654:120:-;;;;689:66:62;;;577:4654:120;;;;;;;;;;;;;;;;;;2687:187:47;2779:6;577:4654:120;;-1:-1:-1;;;;;577:4654:120;;;-1:-1:-1;;;;;;577:4654:120;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:47;2687:187::o;577:4654:120:-;;;;:::o;:::-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;577:4654:120;;;;-1:-1:-1;;;577:4654:120;;;;;;;1406:259:62;1702:19:78;;:23;577:4654:120;;-1:-1:-1;;;;;;;;;;;577:4654:120;;-1:-1:-1;;;;;;577:4654:120;-1:-1:-1;;;;;577:4654:120;;;;;;;;;1406:259:62:o;577:4654:120:-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;577:4654:120;;;;:::o;:::-;;;:::o;7671:628:78:-;;;;7875:418;;;577:4654:120;;;7906:22:78;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;577:4654:120;;8201:17:78;:::o;577:4654:120:-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;;;;7875:418:78;577:4654:120;;;;-1:-1:-1;8980:21:78;:17;;9152:142;;;;;;;8976:379;577:4654:120;;-1:-1:-1;;;9324:20:78;;577:4654:120;9324:20:78;;;577:4654:120;;;;;;;;;;;:::i;:::-;9324:20:78;;;577:4654:120;;;;:::o;:::-;;;-1:-1:-1;;;577:4654:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:4654:120;;;;;;;3227:241;577:4654;;-1:-1:-1;;;3438:23:120;;577:4654;3438:23;;;577:4654;;;;;;-1:-1:-1;;;577:4654:120;;;;;;3438:23","linkReferences":{},"immutableReferences":{"55653":[{"start":2754,"length":32},{"start":3005,"length":32},{"start":3554,"length":32}]}},"methodIdentifiers":{"arbitrableTribunalSafe(address)":"26a0754c","arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","disputes(uint256)":"564a565d","executeRuling(uint256,uint256,address)":"7a1d3756","initialize(uint256)":"fe4b84df","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registerSafe(address)":"88d5b732","renounceOwnership()":"715018a6","setArbitrationFee(uint256)":"5ea7b4fc","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"name\":\"OnlySafe\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"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\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"arbitrable\",\"type\":\"address\"}],\"name\":\"arbitrableTribunalSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_choices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputes\",\"outputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"arbitrated\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"arbitratorExtraData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"choices\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrationFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"enum SafeArbitrator.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"executeRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"setArbitrationFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an arbitrator middleware that will allow a safe to decide on the result of disputes.\",\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"fee\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"_0\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"_0\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"executeRuling(uint256,uint256,address)\":{\"details\":\"Give a ruling to a dispute.\",\"params\":{\"_arbitrable\":\"Address of the arbitrable that the safe rules for\\\".\",\"_disputeID\":\"ID of the dispute to rule.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \\\"Refused to rule\\\".\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setArbitrationFee(uint256)\":{\"details\":\"Set the arbitration fee. Only callable by the owner.\",\"params\":{\"_arbitrationFee\":\"Amount to be paid for arbitration.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"Safe Arbitrator\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/SafeArbitrator.sol\":\"SafeArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x20452495715dd291198ebea55a34ce2ba66e5076f55d39ba19682e5a4620c59c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b912a7e38c05361be4f20728b95b13e6eff561365ac4cb934359dd6500ce577\",\"dweb:/ipfs/QmUMEmWceTTvpXGcfDD6ZczyWubcHTsTh6qFv91mHuaUdD\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"safe","type":"address"}],"type":"error","name":"OnlySafe"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"arbitrable","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrableTribunalSafe","outputs":[{"internalType":"address","name":"safe","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_choices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputes","outputs":[{"internalType":"contract IArbitrable","name":"arbitrated","type":"address"},{"internalType":"bytes","name":"arbitratorExtraData","type":"bytes"},{"internalType":"uint256","name":"choices","type":"uint256"},{"internalType":"uint256","name":"arbitrationFee","type":"uint256"},{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"enum SafeArbitrator.DisputeStatus","name":"status","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"},{"internalType":"address","name":"_arbitrable","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"executeRuling"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setArbitrationFee"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"fee":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"_0":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"_0":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"executeRuling(uint256,uint256,address)":{"details":"Give a ruling to a dispute.","params":{"_arbitrable":"Address of the arbitrable that the safe rules for\".","_disputeID":"ID of the dispute to rule.","_ruling":"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\"."}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setArbitrationFee(uint256)":{"details":"Set the arbitration fee. Only callable by the owner.","params":{"_arbitrationFee":"Amount to be paid for arbitration."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/SafeArbitrator.sol":"SafeArbitrator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x20452495715dd291198ebea55a34ce2ba66e5076f55d39ba19682e5a4620c59c","urls":["bzz-raw://7b912a7e38c05361be4f20728b95b13e6eff561365ac4cb934359dd6500ce577","dweb:/ipfs/QmUMEmWceTTvpXGcfDD6ZczyWubcHTsTh6qFv91mHuaUdD"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53071,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53074,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53776,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52863,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52983,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":79169,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"101","type":"t_uint256"},{"astId":79173,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"disputes","offset":0,"slot":"102","type":"t_array(t_struct(DisputeStruct)79167_storage)dyn_storage"},{"astId":79177,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrableTribunalSafe","offset":0,"slot":"103","type":"t_mapping(t_address,t_address)"},{"astId":79483,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(DisputeStruct)79167_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct SafeArbitrator.DisputeStruct[]","numberOfBytes":"32","base":"t_struct(DisputeStruct)79167_storage"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(IArbitrable)79562":{"encoding":"inplace","label":"contract IArbitrable","numberOfBytes":"20"},"t_enum(DisputeStatus)79152":{"encoding":"inplace","label":"enum SafeArbitrator.DisputeStatus","numberOfBytes":"1"},"t_mapping(t_address,t_address)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address)","numberOfBytes":"32","value":"t_address"},"t_struct(DisputeStruct)79167_storage":{"encoding":"inplace","label":"struct SafeArbitrator.DisputeStruct","numberOfBytes":"192","members":[{"astId":79155,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrated","offset":0,"slot":"0","type":"t_contract(IArbitrable)79562"},{"astId":79157,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitratorExtraData","offset":0,"slot":"1","type":"t_bytes_storage"},{"astId":79159,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"choices","offset":0,"slot":"2","type":"t_uint256"},{"astId":79161,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"3","type":"t_uint256"},{"astId":79163,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"ruling","offset":0,"slot":"4","type":"t_uint256"},{"astId":79166,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"status","offset":0,"slot":"5","type":"t_enum(DisputeStatus)79152"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/SafeArbitrator.sol","id":79485,"exportedSymbols":{"IArbitrable":[79562],"IArbitrator":[79666],"IERC20":[56609],"OwnableUpgradeable":[52984],"SafeArbitrator":[79484],"UUPSUpgradeable":[55753]},"nodeType":"SourceUnit","src":"33:5199:120","nodes":[{"id":79132,"nodeType":"PragmaDirective","src":"33:24:120","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79134,"nodeType":"ImportDirective","src":"59:70:120","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":79485,"sourceUnit":56610,"symbolAliases":[{"foreign":{"id":79133,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56609,"src":"67:6:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79136,"nodeType":"ImportDirective","src":"130:88:120","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79485,"sourceUnit":55754,"symbolAliases":[{"foreign":{"id":79135,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55753,"src":"138:15:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79138,"nodeType":"ImportDirective","src":"219:110:120","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":79485,"sourceUnit":52985,"symbolAliases":[{"foreign":{"id":79137,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52984,"src":"227:18:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79140,"nodeType":"ImportDirective","src":"331:57:120","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":79485,"sourceUnit":79563,"symbolAliases":[{"foreign":{"id":79139,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"339:11:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79142,"nodeType":"ImportDirective","src":"389:57:120","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":79485,"sourceUnit":79667,"symbolAliases":[{"foreign":{"id":79141,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79666,"src":"397:11:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79484,"nodeType":"ContractDefinition","src":"577:4654:120","nodes":[{"id":79152,"nodeType":"EnumDefinition","src":"659:144:120","nodes":[],"canonicalName":"SafeArbitrator.DisputeStatus","members":[{"id":79150,"name":"Waiting","nameLocation":"688:7:120","nodeType":"EnumValue","src":"688:7:120"},{"id":79151,"name":"Solved","nameLocation":"762:6:120","nodeType":"EnumValue","src":"762:6:120"}],"name":"DisputeStatus","nameLocation":"664:13:120"},{"id":79167,"nodeType":"StructDefinition","src":"809:509:120","nodes":[],"canonicalName":"SafeArbitrator.DisputeStruct","members":[{"constant":false,"id":79155,"mutability":"mutable","name":"arbitrated","nameLocation":"852:10:120","nodeType":"VariableDeclaration","scope":79167,"src":"840:22:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"},"typeName":{"id":79154,"nodeType":"UserDefinedTypeName","pathNode":{"id":79153,"name":"IArbitrable","nameLocations":["840:11:120"],"nodeType":"IdentifierPath","referencedDeclaration":79562,"src":"840:11:120"},"referencedDeclaration":79562,"src":"840:11:120","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":79157,"mutability":"mutable","name":"arbitratorExtraData","nameLocation":"921:19:120","nodeType":"VariableDeclaration","scope":79167,"src":"915:25:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":79156,"name":"bytes","nodeType":"ElementaryTypeName","src":"915:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79159,"mutability":"mutable","name":"choices","nameLocation":"992:7:120","nodeType":"VariableDeclaration","scope":79167,"src":"984:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79158,"name":"uint256","nodeType":"ElementaryTypeName","src":"984:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79161,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1074:14:120","nodeType":"VariableDeclaration","scope":79167,"src":"1066:22:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79160,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79163,"mutability":"mutable","name":"ruling","nameLocation":"1204:6:120","nodeType":"VariableDeclaration","scope":79167,"src":"1196:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79162,"name":"uint256","nodeType":"ElementaryTypeName","src":"1196:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79166,"mutability":"mutable","name":"status","nameLocation":"1269:6:120","nodeType":"VariableDeclaration","scope":79167,"src":"1255:20:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":79165,"nodeType":"UserDefinedTypeName","pathNode":{"id":79164,"name":"DisputeStatus","nameLocations":["1255:13:120"],"nodeType":"IdentifierPath","referencedDeclaration":79152,"src":"1255:13:120"},"referencedDeclaration":79152,"src":"1255:13:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"name":"DisputeStruct","nameLocation":"816:13:120","scope":79484,"visibility":"public"},{"id":79169,"nodeType":"VariableDeclaration","src":"1324:30:120","nodes":[],"constant":false,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1340:14:120","scope":79484,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79168,"name":"uint256","nodeType":"ElementaryTypeName","src":"1324:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":79173,"nodeType":"VariableDeclaration","src":"1448:31:120","nodes":[],"constant":false,"functionSelector":"564a565d","mutability":"mutable","name":"disputes","nameLocation":"1471:8:120","scope":79484,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79167_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct[]"},"typeName":{"baseType":{"id":79171,"nodeType":"UserDefinedTypeName","pathNode":{"id":79170,"name":"DisputeStruct","nameLocations":["1448:13:120"],"nodeType":"IdentifierPath","referencedDeclaration":79167,"src":"1448:13:120"},"referencedDeclaration":79167,"src":"1448:13:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"id":79172,"nodeType":"ArrayTypeName","src":"1448:15:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79167_storage_$dyn_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct[]"}},"visibility":"public"},{"id":79177,"nodeType":"VariableDeclaration","src":"1534:73:120","nodes":[],"constant":false,"functionSelector":"26a0754c","mutability":"mutable","name":"arbitrableTribunalSafe","nameLocation":"1585:22:120","scope":79484,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":79176,"keyName":"arbitrable","keyNameLocation":"1550:10:120","keyType":{"id":79174,"name":"address","nodeType":"ElementaryTypeName","src":"1542:7:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1534:43:120","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"safe","valueNameLocation":"1572:4:120","valueType":{"id":79175,"name":"address","nodeType":"ElementaryTypeName","src":"1564:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":79183,"nodeType":"ErrorDefinition","src":"1664:45:120","nodes":[],"errorSelector":"d0774c99","name":"OnlySafe","nameLocation":"1670:8:120","parameters":{"id":79182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79179,"mutability":"mutable","name":"sender","nameLocation":"1687:6:120","nodeType":"VariableDeclaration","scope":79183,"src":"1679:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79178,"name":"address","nodeType":"ElementaryTypeName","src":"1679:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79181,"mutability":"mutable","name":"safe","nameLocation":"1703:4:120","nodeType":"VariableDeclaration","scope":79183,"src":"1695:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79180,"name":"address","nodeType":"ElementaryTypeName","src":"1695:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1678:30:120"}},{"id":79206,"nodeType":"ModifierDefinition","src":"1715:231:120","nodes":[],"body":{"id":79205,"nodeType":"Block","src":"1754:192:120","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79187,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1768:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1772:6:120","memberName":"sender","nodeType":"MemberAccess","src":"1768:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":79189,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79177,"src":"1782:22:120","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":79191,"indexExpression":{"id":79190,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79185,"src":"1805:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1782:35:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1768:49:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79203,"nodeType":"Block","src":"1851:89:120","statements":[{"errorCall":{"arguments":[{"expression":{"id":79196,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1881:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1885:6:120","memberName":"sender","nodeType":"MemberAccess","src":"1881:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":79198,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79177,"src":"1893:22:120","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":79200,"indexExpression":{"id":79199,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79185,"src":"1916:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1893:35:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":79195,"name":"OnlySafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79183,"src":"1872:8:120","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":79201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1872:57:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79202,"nodeType":"RevertStatement","src":"1865:64:120"}]},"id":79204,"nodeType":"IfStatement","src":"1764:176:120","trueBody":{"id":79194,"nodeType":"Block","src":"1819:26:120","statements":[{"id":79193,"nodeType":"PlaceholderStatement","src":"1833:1:120"}]}}]},"name":"onlySafe","nameLocation":"1724:8:120","parameters":{"id":79186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79185,"mutability":"mutable","name":"_arbitrable","nameLocation":"1741:11:120","nodeType":"VariableDeclaration","scope":79206,"src":"1733:19:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79184,"name":"address","nodeType":"ElementaryTypeName","src":"1733:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1732:21:120"},"virtual":false,"visibility":"internal"},{"id":79221,"nodeType":"FunctionDefinition","src":"1952:139:120","nodes":[],"body":{"id":79220,"nodeType":"Block","src":"2016:75:120","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":79213,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52879,"src":"2026:14:120","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":79214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2026:16:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79215,"nodeType":"ExpressionStatement","src":"2026:16:120"},{"expression":{"id":79218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79216,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79169,"src":"2052:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79217,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79208,"src":"2069:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2052:32:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79219,"nodeType":"ExpressionStatement","src":"2052:32:120"}]},"functionSelector":"fe4b84df","implemented":true,"kind":"function","modifiers":[{"id":79211,"kind":"modifierInvocation","modifierName":{"id":79210,"name":"initializer","nameLocations":["2004:11:120"],"nodeType":"IdentifierPath","referencedDeclaration":53135,"src":"2004:11:120"},"nodeType":"ModifierInvocation","src":"2004:11:120"}],"name":"initialize","nameLocation":"1961:10:120","parameters":{"id":79209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79208,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"1980:15:120","nodeType":"VariableDeclaration","scope":79221,"src":"1972:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79207,"name":"uint256","nodeType":"ElementaryTypeName","src":"1972:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1971:25:120"},"returnParameters":{"id":79212,"nodeType":"ParameterList","parameters":[],"src":"2016:0:120"},"scope":79484,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":79234,"nodeType":"FunctionDefinition","src":"2229:120:120","nodes":[],"body":{"id":79233,"nodeType":"Block","src":"2300:49:120","nodes":[],"statements":[{"expression":{"id":79231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79229,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79169,"src":"2310:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79230,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79224,"src":"2327:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2310:32:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79232,"nodeType":"ExpressionStatement","src":"2310:32:120"}]},"documentation":{"id":79222,"nodeType":"StructuredDocumentation","src":"2097:127:120","text":"@dev Set the arbitration fee. Only callable by the owner.\n @param _arbitrationFee Amount to be paid for arbitration."},"functionSelector":"5ea7b4fc","implemented":true,"kind":"function","modifiers":[{"id":79227,"kind":"modifierInvocation","modifierName":{"id":79226,"name":"onlyOwner","nameLocations":["2290:9:120"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"2290:9:120"},"nodeType":"ModifierInvocation","src":"2290:9:120"}],"name":"setArbitrationFee","nameLocation":"2238:17:120","parameters":{"id":79225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79224,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2264:15:120","nodeType":"VariableDeclaration","scope":79234,"src":"2256:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79223,"name":"uint256","nodeType":"ElementaryTypeName","src":"2256:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2255:25:120"},"returnParameters":{"id":79228,"nodeType":"ParameterList","parameters":[],"src":"2300:0:120"},"scope":79484,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79247,"nodeType":"FunctionDefinition","src":"2355:105:120","nodes":[],"body":{"id":79246,"nodeType":"Block","src":"2401:59:120","nodes":[],"statements":[{"expression":{"id":79244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79239,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79177,"src":"2411:22:120","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":79242,"indexExpression":{"expression":{"id":79240,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2434:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2438:6:120","memberName":"sender","nodeType":"MemberAccess","src":"2434:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2411:34:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79243,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79236,"src":"2448:5:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2411:42:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79245,"nodeType":"ExpressionStatement","src":"2411:42:120"}]},"baseFunctions":[79665],"functionSelector":"88d5b732","implemented":true,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"2364:12:120","parameters":{"id":79237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79236,"mutability":"mutable","name":"_safe","nameLocation":"2385:5:120","nodeType":"VariableDeclaration","scope":79247,"src":"2377:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79235,"name":"address","nodeType":"ElementaryTypeName","src":"2377:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2376:15:120"},"returnParameters":{"id":79238,"nodeType":"ParameterList","parameters":[],"src":"2401:0:120"},"scope":79484,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79300,"nodeType":"FunctionDefinition","src":"2498:691:120","nodes":[],"body":{"id":79299,"nodeType":"Block","src":"2656:533:120","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79259,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2674:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2678:5:120","memberName":"value","nodeType":"MemberAccess","src":"2674:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[{"id":79262,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79252,"src":"2703:10:120","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":79261,"name":"arbitrationCost","nodeType":"Identifier","overloadedDeclarations":[79421,79438],"referencedDeclaration":79421,"src":"2687:15:120","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_calldata_ptr_$returns$_t_uint256_$","typeString":"function (bytes calldata) view returns (uint256)"}},"id":79263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2687:27:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2674:40:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4172626974726174696f6e20666565733a206e6f7420656e6f7567682e","id":79265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2716:31:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a750ceba22c8e429994d2dfcf1a5ce83656b959d786014e879d415babde938","typeString":"literal_string \"Arbitration fees: not enough.\""},"value":"Arbitration fees: not enough."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c0a750ceba22c8e429994d2dfcf1a5ce83656b959d786014e879d415babde938","typeString":"literal_string \"Arbitration fees: not enough.\""}],"id":79258,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2666:7:120","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2666:82:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79267,"nodeType":"ExpressionStatement","src":"2666:82:120"},{"expression":{"id":79271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79268,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79256,"src":"2758:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79269,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79173,"src":"2770:8:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79167_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":79270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2779:6:120","memberName":"length","nodeType":"MemberAccess","src":"2770:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2758:27:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79272,"nodeType":"ExpressionStatement","src":"2758:27:120"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":79278,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2878:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2882:6:120","memberName":"sender","nodeType":"MemberAccess","src":"2878:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79277,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"2866:11:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$79562_$","typeString":"type(contract IArbitrable)"}},"id":79280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2866:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"}},{"id":79281,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79252,"src":"2928:10:120","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":79282,"name":"_choices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79250,"src":"2965:8:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79283,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3007:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3011:5:120","memberName":"value","nodeType":"MemberAccess","src":"3007:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":79285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3042:1:120","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":79286,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79152,"src":"3069:13:120","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$79152_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":79287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3083:7:120","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":79150,"src":"3069:21:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":79276,"name":"DisputeStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79167,"src":"2822:13:120","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_DisputeStruct_$79167_storage_ptr_$","typeString":"type(struct SafeArbitrator.DisputeStruct storage pointer)"}},"id":79288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2854:10:120","2907:19:120","2956:7:120","2991:14:120","3034:6:120","3061:6:120"],"names":["arbitrated","arbitratorExtraData","choices","arbitrationFee","ruling","status"],"nodeType":"FunctionCall","src":"2822:283:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_DisputeStruct_$79167_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}],"expression":{"id":79273,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79173,"src":"2795:8:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79167_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":79275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2804:4:120","memberName":"push","nodeType":"MemberAccess","src":"2795:13:120","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_DisputeStruct_$79167_storage_$dyn_storage_ptr_$_t_struct$_DisputeStruct_$79167_storage_$returns$__$attached_to$_t_array$_t_struct$_DisputeStruct_$79167_storage_$dyn_storage_ptr_$","typeString":"function (struct SafeArbitrator.DisputeStruct storage ref[] storage pointer,struct SafeArbitrator.DisputeStruct storage ref)"}},"id":79289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2795:320:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79290,"nodeType":"ExpressionStatement","src":"2795:320:120"},{"eventCall":{"arguments":[{"id":79292,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79256,"src":"3147:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":79294,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3170:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3174:6:120","memberName":"sender","nodeType":"MemberAccess","src":"3170:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79293,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"3158:11:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$79562_$","typeString":"type(contract IArbitrable)"}},"id":79296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3158:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"}],"id":79291,"name":"DisputeCreation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79575,"src":"3131:15:120","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrable_$79562_$returns$__$","typeString":"function (uint256,contract IArbitrable)"}},"id":79297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3131:51:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79298,"nodeType":"EmitStatement","src":"3126:56:120"}]},"baseFunctions":[79613],"documentation":{"id":79248,"nodeType":"StructuredDocumentation","src":"2466:27:120","text":"@inheritdoc IArbitrator"},"functionSelector":"c13517e1","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2507:13:120","overrides":{"id":79254,"nodeType":"OverrideSpecifier","overrides":[],"src":"2607:8:120"},"parameters":{"id":79253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79250,"mutability":"mutable","name":"_choices","nameLocation":"2529:8:120","nodeType":"VariableDeclaration","scope":79300,"src":"2521:16:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79249,"name":"uint256","nodeType":"ElementaryTypeName","src":"2521:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79252,"mutability":"mutable","name":"_extraData","nameLocation":"2554:10:120","nodeType":"VariableDeclaration","scope":79300,"src":"2539:25:120","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79251,"name":"bytes","nodeType":"ElementaryTypeName","src":"2539:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2520:45:120"},"returnParameters":{"id":79257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79256,"mutability":"mutable","name":"disputeID","nameLocation":"2641:9:120","nodeType":"VariableDeclaration","scope":79300,"src":"2633:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79255,"name":"uint256","nodeType":"ElementaryTypeName","src":"2633:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2632:19:120"},"scope":79484,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":79321,"nodeType":"FunctionDefinition","src":"3227:241:120","nodes":[],"body":{"id":79320,"nodeType":"Block","src":"3428:40:120","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":79317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3445:15:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":79316,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3438:6:120","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":79318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3438:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79319,"nodeType":"ExpressionStatement","src":"3438:23:120"}]},"baseFunctions":[79628],"documentation":{"id":79301,"nodeType":"StructuredDocumentation","src":"3195:27:120","text":"@inheritdoc IArbitrator"},"functionSelector":"f6506db4","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3236:13:120","overrides":{"id":79312,"nodeType":"OverrideSpecifier","overrides":[],"src":"3401:8:120"},"parameters":{"id":79311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79303,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79321,"src":"3259:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79302,"name":"uint256","nodeType":"ElementaryTypeName","src":"3259:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79321,"src":"3289:14:120","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79304,"name":"bytes","nodeType":"ElementaryTypeName","src":"3289:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79321,"src":"3328:6:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79307,"nodeType":"UserDefinedTypeName","pathNode":{"id":79306,"name":"IERC20","nameLocations":["3328:6:120"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3328:6:120"},"referencedDeclaration":56609,"src":"3328:6:120","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":79310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79321,"src":"3358:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79309,"name":"uint256","nodeType":"ElementaryTypeName","src":"3358:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3249:137:120"},"returnParameters":{"id":79315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79321,"src":"3419:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79313,"name":"uint256","nodeType":"ElementaryTypeName","src":"3419:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3418:9:120"},"scope":79484,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":79409,"nodeType":"FunctionDefinition","src":"3761:680:120","nodes":[],"body":{"id":79408,"nodeType":"Block","src":"3873:568:120","nodes":[],"statements":[{"assignments":[79336],"declarations":[{"constant":false,"id":79336,"mutability":"mutable","name":"dispute","nameLocation":"3905:7:120","nodeType":"VariableDeclaration","scope":79408,"src":"3883:29:120","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":79335,"nodeType":"UserDefinedTypeName","pathNode":{"id":79334,"name":"DisputeStruct","nameLocations":["3883:13:120"],"nodeType":"IdentifierPath","referencedDeclaration":79167,"src":"3883:13:120"},"referencedDeclaration":79167,"src":"3883:13:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":79340,"initialValue":{"baseExpression":{"id":79337,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79173,"src":"3915:8:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79167_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":79339,"indexExpression":{"id":79338,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79324,"src":"3924:10:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3915:20:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3883:52:120"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79342,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79326,"src":"3953:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79343,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"3963:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3971:7:120","memberName":"choices","nodeType":"MemberAccess","referencedDeclaration":79159,"src":"3963:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3953:25:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c69642072756c696e672e","id":79346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3980:17:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6","typeString":"literal_string \"Invalid ruling.\""},"value":"Invalid ruling."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6","typeString":"literal_string \"Invalid ruling.\""}],"id":79341,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3945:7:120","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3945:53:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79348,"nodeType":"ExpressionStatement","src":"3945:53:120"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"},"id":79354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79350,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"4016:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4024:6:120","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":79166,"src":"4016:14:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":79352,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79152,"src":"4034:13:120","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$79152_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":79353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4048:6:120","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":79151,"src":"4034:20:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4016:38:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5468652064697370757465206d757374206e6f7420626520736f6c7665642e","id":79355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4056:33:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_095ade82bf7104c16c921c8df855d9db6a5c31d55ff2258cf5b2af059d12680f","typeString":"literal_string \"The dispute must not be solved.\""},"value":"The dispute must not be solved."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_095ade82bf7104c16c921c8df855d9db6a5c31d55ff2258cf5b2af059d12680f","typeString":"literal_string \"The dispute must not be solved.\""}],"id":79349,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4008:7:120","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:82:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79357,"nodeType":"ExpressionStatement","src":"4008:82:120"},{"expression":{"id":79362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79358,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"4101:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4109:6:120","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":79163,"src":"4101:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79361,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79326,"src":"4118:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4101:24:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79363,"nodeType":"ExpressionStatement","src":"4101:24:120"},{"expression":{"id":79369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79364,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"4135:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4143:6:120","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":79166,"src":"4135:14:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79367,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79152,"src":"4152:13:120","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$79152_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":79368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4166:6:120","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":79151,"src":"4152:20:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4135:37:120","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79152","typeString":"enum SafeArbitrator.DisputeStatus"}},"id":79370,"nodeType":"ExpressionStatement","src":"4135:37:120"},{"assignments":[79372,null],"declarations":[{"constant":false,"id":79372,"mutability":"mutable","name":"success","nameLocation":"4189:7:120","nodeType":"VariableDeclaration","scope":79408,"src":"4184:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79371,"name":"bool","nodeType":"ElementaryTypeName","src":"4184:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":79384,"initialValue":{"arguments":[{"hexValue":"","id":79382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4257:2:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"expression":{"id":79375,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4209:3:120","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4213:6:120","memberName":"sender","nodeType":"MemberAccess","src":"4209:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4201:8:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":79373,"name":"address","nodeType":"ElementaryTypeName","src":"4201:8:120","stateMutability":"payable","typeDescriptions":{}}},"id":79377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4201:19:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":79378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4221:4:120","memberName":"call","nodeType":"MemberAccess","src":"4201:24:120","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":79381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":79379,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"4233:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4241:14:120","memberName":"arbitrationFee","nodeType":"MemberAccess","referencedDeclaration":79161,"src":"4233:22:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4201:55:120","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":79383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4201:59:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4183:77:120"},{"expression":{"arguments":[{"id":79386,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79372,"src":"4278:7:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5472616e73666572206661696c6564","id":79387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4287:17:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""},"value":"Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""}],"id":79385,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4270:7:120","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4270:35:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79389,"nodeType":"ExpressionStatement","src":"4270:35:120"},{"expression":{"arguments":[{"id":79395,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79324,"src":"4339:10:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79396,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"4351:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4359:6:120","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":79163,"src":"4351:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":79390,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"4315:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4323:10:120","memberName":"arbitrated","nodeType":"MemberAccess","referencedDeclaration":79155,"src":"4315:18:120","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"}},"id":79394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4334:4:120","memberName":"rule","nodeType":"MemberAccess","referencedDeclaration":79561,"src":"4315:23:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":79398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4315:51:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79399,"nodeType":"ExpressionStatement","src":"4315:51:120"},{"eventCall":{"arguments":[{"arguments":[{"id":79402,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79328,"src":"4400:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79401,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"4388:11:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$79562_$","typeString":"type(contract IArbitrable)"}},"id":79403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4388:24:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"}},{"id":79404,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79324,"src":"4414:10:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79405,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79326,"src":"4426:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$79562","typeString":"contract IArbitrable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79400,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79585,"src":"4381:6:120","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrable_$79562_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrable,uint256,uint256)"}},"id":79406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4381:53:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79407,"nodeType":"EmitStatement","src":"4376:58:120"}]},"documentation":{"id":79322,"nodeType":"StructuredDocumentation","src":"3474:282:120","text":"@dev Give a ruling to a dispute.\n @param _disputeID ID of the dispute to rule.\n @param _ruling Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\".\n @param _arbitrable Address of the arbitrable that the safe rules for\"."},"functionSelector":"7a1d3756","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":79331,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79328,"src":"3860:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":79332,"kind":"modifierInvocation","modifierName":{"id":79330,"name":"onlySafe","nameLocations":["3851:8:120"],"nodeType":"IdentifierPath","referencedDeclaration":79206,"src":"3851:8:120"},"nodeType":"ModifierInvocation","src":"3851:21:120"}],"name":"executeRuling","nameLocation":"3770:13:120","parameters":{"id":79329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79324,"mutability":"mutable","name":"_disputeID","nameLocation":"3792:10:120","nodeType":"VariableDeclaration","scope":79409,"src":"3784:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79323,"name":"uint256","nodeType":"ElementaryTypeName","src":"3784:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79326,"mutability":"mutable","name":"_ruling","nameLocation":"3812:7:120","nodeType":"VariableDeclaration","scope":79409,"src":"3804:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79325,"name":"uint256","nodeType":"ElementaryTypeName","src":"3804:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79328,"mutability":"mutable","name":"_arbitrable","nameLocation":"3829:11:120","nodeType":"VariableDeclaration","scope":79409,"src":"3821:19:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79327,"name":"address","nodeType":"ElementaryTypeName","src":"3821:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3783:58:120"},"returnParameters":{"id":79333,"nodeType":"ParameterList","parameters":[],"src":"3873:0:120"},"scope":79484,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79421,"nodeType":"FunctionDefinition","src":"4479:138:120","nodes":[],"body":{"id":79420,"nodeType":"Block","src":"4579:38:120","nodes":[],"statements":[{"expression":{"id":79418,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79169,"src":"4596:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79417,"id":79419,"nodeType":"Return","src":"4589:21:120"}]},"baseFunctions":[79636],"documentation":{"id":79410,"nodeType":"StructuredDocumentation","src":"4447:27:120","text":"@inheritdoc IArbitrator"},"functionSelector":"f7434ea9","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4488:15:120","overrides":{"id":79414,"nodeType":"OverrideSpecifier","overrides":[],"src":"4548:8:120"},"parameters":{"id":79413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79421,"src":"4504:14:120","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79411,"name":"bytes","nodeType":"ElementaryTypeName","src":"4504:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4503:32:120"},"returnParameters":{"id":79417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79416,"mutability":"mutable","name":"fee","nameLocation":"4574:3:120","nodeType":"VariableDeclaration","scope":79421,"src":"4566:11:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79415,"name":"uint256","nodeType":"ElementaryTypeName","src":"4566:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4565:13:120"},"scope":79484,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79438,"nodeType":"FunctionDefinition","src":"4655:204:120","nodes":[],"body":{"id":79437,"nodeType":"Block","src":"4819:40:120","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":79434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4836:15:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":79433,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4829:6:120","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":79435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4829:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79436,"nodeType":"ExpressionStatement","src":"4829:23:120"}]},"baseFunctions":[79647],"documentation":{"id":79422,"nodeType":"StructuredDocumentation","src":"4623:27:120","text":"@inheritdoc IArbitrator"},"functionSelector":"d98493f6","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4664:15:120","overrides":{"id":79429,"nodeType":"OverrideSpecifier","overrides":[],"src":"4770:8:120"},"parameters":{"id":79428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79438,"src":"4680:14:120","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":79423,"name":"bytes","nodeType":"ElementaryTypeName","src":"4680:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79438,"src":"4711:6:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":79426,"nodeType":"UserDefinedTypeName","pathNode":{"id":79425,"name":"IERC20","nameLocations":["4711:6:120"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"4711:6:120"},"referencedDeclaration":56609,"src":"4711:6:120","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"4679:54:120"},"returnParameters":{"id":79432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79431,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79438,"src":"4796:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79430,"name":"uint256","nodeType":"ElementaryTypeName","src":"4796:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4795:19:120"},"scope":79484,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":79470,"nodeType":"FunctionDefinition","src":"4865:260:120","nodes":[],"body":{"id":79469,"nodeType":"Block","src":"4973:152:120","nodes":[],"statements":[{"assignments":[79451],"declarations":[{"constant":false,"id":79451,"mutability":"mutable","name":"dispute","nameLocation":"5005:7:120","nodeType":"VariableDeclaration","scope":79469,"src":"4983:29:120","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":79450,"nodeType":"UserDefinedTypeName","pathNode":{"id":79449,"name":"DisputeStruct","nameLocations":["4983:13:120"],"nodeType":"IdentifierPath","referencedDeclaration":79167,"src":"4983:13:120"},"referencedDeclaration":79167,"src":"4983:13:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":79455,"initialValue":{"baseExpression":{"id":79452,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79173,"src":"5015:8:120","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$79167_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":79454,"indexExpression":{"id":79453,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79440,"src":"5024:10:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5015:20:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4983:52:120"},{"expression":{"id":79459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79456,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79443,"src":"5045:6:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79457,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79451,"src":"5054:7:120","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$79167_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":79458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5062:6:120","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":79163,"src":"5054:14:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5045:23:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79460,"nodeType":"ExpressionStatement","src":"5045:23:120"},{"expression":{"id":79463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79461,"name":"tied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"5078:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":79462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5085:5:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5078:12:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79464,"nodeType":"ExpressionStatement","src":"5078:12:120"},{"expression":{"id":79467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79465,"name":"overridden","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79447,"src":"5100:10:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":79466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5113:5:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5100:18:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79468,"nodeType":"ExpressionStatement","src":"5100:18:120"}]},"baseFunctions":[79659],"functionSelector":"1c3db16d","implemented":true,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"4874:13:120","parameters":{"id":79441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79440,"mutability":"mutable","name":"_disputeID","nameLocation":"4896:10:120","nodeType":"VariableDeclaration","scope":79470,"src":"4888:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79439,"name":"uint256","nodeType":"ElementaryTypeName","src":"4888:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4887:20:120"},"returnParameters":{"id":79448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79443,"mutability":"mutable","name":"ruling","nameLocation":"4937:6:120","nodeType":"VariableDeclaration","scope":79470,"src":"4929:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79442,"name":"uint256","nodeType":"ElementaryTypeName","src":"4929:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79445,"mutability":"mutable","name":"tied","nameLocation":"4950:4:120","nodeType":"VariableDeclaration","scope":79470,"src":"4945:9:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79444,"name":"bool","nodeType":"ElementaryTypeName","src":"4945:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":79447,"mutability":"mutable","name":"overridden","nameLocation":"4961:10:120","nodeType":"VariableDeclaration","scope":79470,"src":"4956:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79446,"name":"bool","nodeType":"ElementaryTypeName","src":"4956:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4928:44:120"},"scope":79484,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79479,"nodeType":"FunctionDefinition","src":"5131:66:120","nodes":[],"body":{"id":79478,"nodeType":"Block","src":"5195:2:120","nodes":[],"statements":[]},"baseFunctions":[55752],"implemented":true,"kind":"function","modifiers":[{"id":79476,"kind":"modifierInvocation","modifierName":{"id":79475,"name":"onlyOwner","nameLocations":["5185:9:120"],"nodeType":"IdentifierPath","referencedDeclaration":52898,"src":"5185:9:120"},"nodeType":"ModifierInvocation","src":"5185:9:120"}],"name":"_authorizeUpgrade","nameLocation":"5140:17:120","overrides":{"id":79474,"nodeType":"OverrideSpecifier","overrides":[],"src":"5176:8:120"},"parameters":{"id":79473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79479,"src":"5158:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79471,"name":"address","nodeType":"ElementaryTypeName","src":"5158:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5157:9:120"},"returnParameters":{"id":79477,"nodeType":"ParameterList","parameters":[],"src":"5195:0:120"},"scope":79484,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79483,"nodeType":"VariableDeclaration","src":"5203:25:120","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5223:5:120","scope":79484,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":79480,"name":"uint256","nodeType":"ElementaryTypeName","src":"5203:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79482,"length":{"hexValue":"3530","id":79481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5211:2:120","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5203:11:120","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":79144,"name":"IArbitrator","nameLocations":["604:11:120"],"nodeType":"IdentifierPath","referencedDeclaration":79666,"src":"604:11:120"},"id":79145,"nodeType":"InheritanceSpecifier","src":"604:11:120"},{"baseName":{"id":79146,"name":"UUPSUpgradeable","nameLocations":["617:15:120"],"nodeType":"IdentifierPath","referencedDeclaration":55753,"src":"617:15:120"},"id":79147,"nodeType":"InheritanceSpecifier","src":"617:15:120"},{"baseName":{"id":79148,"name":"OwnableUpgradeable","nameLocations":["634:18:120"],"nodeType":"IdentifierPath","referencedDeclaration":52984,"src":"634:18:120"},"id":79149,"nodeType":"InheritanceSpecifier","src":"634:18:120"}],"canonicalName":"SafeArbitrator","contractDependencies":[],"contractKind":"contract","documentation":{"id":79143,"nodeType":"StructuredDocumentation","src":"448:129:120","text":"@title Safe Arbitrator\n @dev This is an arbitrator middleware that will allow a safe to decide on the result of disputes."},"fullyImplemented":true,"linearizedBaseContracts":[79484,52984,53777,53233,55753,55406,55055,55065,79666],"name":"SafeArbitrator","nameLocation":"586:14:120","scope":79485,"usedErrors":[79183]}],"license":"MIT"},"id":120}
\ No newline at end of file
diff --git a/pkg/contracts/out/SafeERC20.sol/SafeERC20.json b/pkg/contracts/out/SafeERC20.sol/SafeERC20.json
index 102a041f4..b1e19421f 100644
--- a/pkg/contracts/out/SafeERC20.sol/SafeERC20.json
+++ b/pkg/contracts/out/SafeERC20.sol/SafeERC20.json
@@ -1 +1 @@
-{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212205c2db136c1668257eb809457f6f70746770781838866c3d21d9379aa8e89a0d364736f6c63430008130033","sourceMap":"701:6211:75:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212205c2db136c1668257eb809457f6f70746770781838866c3d21d9379aa8e89a0d364736f6c63430008130033","sourceMap":"701:6211:75:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":57047,"exportedSymbols":{"Address":[57421],"IERC20":[56609],"IERC20Permit":[56670],"SafeERC20":[57046]},"nodeType":"SourceUnit","src":"115:6798:75","nodes":[{"id":56672,"nodeType":"PragmaDirective","src":"115:23:75","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56673,"nodeType":"ImportDirective","src":"140:23:75","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":57047,"sourceUnit":56610,"symbolAliases":[],"unitAlias":""},{"id":56674,"nodeType":"ImportDirective","src":"164:40:75","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"../extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":57047,"sourceUnit":56671,"symbolAliases":[],"unitAlias":""},{"id":56675,"nodeType":"ImportDirective","src":"205:36:75","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","file":"../../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":57047,"sourceUnit":57422,"symbolAliases":[],"unitAlias":""},{"id":57046,"nodeType":"ContractDefinition","src":"701:6211:75","nodes":[{"id":56679,"nodeType":"UsingForDirective","src":"725:26:75","nodes":[],"global":false,"libraryName":{"id":56677,"name":"Address","nameLocations":["731:7:75"],"nodeType":"IdentifierPath","referencedDeclaration":57421,"src":"731:7:75"},"typeName":{"id":56678,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":56703,"nodeType":"FunctionDefinition","src":"941:175:75","nodes":[],"body":{"id":56702,"nodeType":"Block","src":"1013:103:75","nodes":[],"statements":[{"expression":{"arguments":[{"id":56691,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56683,"src":"1043:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56694,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56683,"src":"1073:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1079:8:75","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":56576,"src":"1073:14:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1088:8:75","memberName":"selector","nodeType":"MemberAccess","src":"1073:23:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56697,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56685,"src":"1098:2:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56698,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56687,"src":"1102:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56692,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1050:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1050:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:58:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56690,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"1023:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1023:86:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56701,"nodeType":"ExpressionStatement","src":"1023:86:75"}]},"documentation":{"id":56680,"nodeType":"StructuredDocumentation","src":"757:179:75","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"950:12:75","parameters":{"id":56688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56683,"mutability":"mutable","name":"token","nameLocation":"970:5:75","nodeType":"VariableDeclaration","scope":56703,"src":"963:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56682,"nodeType":"UserDefinedTypeName","pathNode":{"id":56681,"name":"IERC20","nameLocations":["963:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"963:6:75"},"referencedDeclaration":56609,"src":"963:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56685,"mutability":"mutable","name":"to","nameLocation":"985:2:75","nodeType":"VariableDeclaration","scope":56703,"src":"977:10:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56684,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56687,"mutability":"mutable","name":"value","nameLocation":"997:5:75","nodeType":"VariableDeclaration","scope":56703,"src":"989:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56686,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"962:41:75"},"returnParameters":{"id":56689,"nodeType":"ParameterList","parameters":[],"src":"1013:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56730,"nodeType":"FunctionDefinition","src":"1355:203:75","nodes":[],"body":{"id":56729,"nodeType":"Block","src":"1445:113:75","nodes":[],"statements":[{"expression":{"arguments":[{"id":56717,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56707,"src":"1475:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56720,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56707,"src":"1505:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1511:12:75","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":56608,"src":"1505:18:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":56722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:8:75","memberName":"selector","nodeType":"MemberAccess","src":"1505:27:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56723,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56709,"src":"1534:4:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56724,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56711,"src":"1540:2:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56725,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56713,"src":"1544:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1482:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1486:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1482:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:68:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56716,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"1455:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:96:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56728,"nodeType":"ExpressionStatement","src":"1455:96:75"}]},"documentation":{"id":56704,"nodeType":"StructuredDocumentation","src":"1122:228:75","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1364:16:75","parameters":{"id":56714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56707,"mutability":"mutable","name":"token","nameLocation":"1388:5:75","nodeType":"VariableDeclaration","scope":56730,"src":"1381:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56706,"nodeType":"UserDefinedTypeName","pathNode":{"id":56705,"name":"IERC20","nameLocations":["1381:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1381:6:75"},"referencedDeclaration":56609,"src":"1381:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56709,"mutability":"mutable","name":"from","nameLocation":"1403:4:75","nodeType":"VariableDeclaration","scope":56730,"src":"1395:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56708,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56711,"mutability":"mutable","name":"to","nameLocation":"1417:2:75","nodeType":"VariableDeclaration","scope":56730,"src":"1409:10:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56710,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56713,"mutability":"mutable","name":"value","nameLocation":"1429:5:75","nodeType":"VariableDeclaration","scope":56730,"src":"1421:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56712,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1380:55:75"},"returnParameters":{"id":56715,"nodeType":"ParameterList","parameters":[],"src":"1445:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56774,"nodeType":"FunctionDefinition","src":"1818:573:75","nodes":[],"body":{"id":56773,"nodeType":"Block","src":"1894:497:75","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56742,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56738,"src":"2143:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2143:10:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56745,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2142:12:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":56750,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2183:4:75","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}],"id":56749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2175:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56748,"name":"address","nodeType":"ElementaryTypeName","src":"2175:7:75","typeDescriptions":{}}},"id":56751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:13:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56752,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56736,"src":"2190:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56746,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"2159:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:9:75","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56586,"src":"2159:15:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:39:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2202:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2159:44:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56756,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2158:46:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2142:62:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":56758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2218:56:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":56741,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2121:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:163:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56760,"nodeType":"ExpressionStatement","src":"2121:163:75"},{"expression":{"arguments":[{"id":56762,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"2314:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56765,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"2344:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"2344:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:75","memberName":"selector","nodeType":"MemberAccess","src":"2344:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56768,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56736,"src":"2368:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56769,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56738,"src":"2377:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56763,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2321:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2325:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2321:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:62:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56761,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"2294:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:90:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56772,"nodeType":"ExpressionStatement","src":"2294:90:75"}]},"documentation":{"id":56731,"nodeType":"StructuredDocumentation","src":"1564:249:75","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1827:11:75","parameters":{"id":56739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56734,"mutability":"mutable","name":"token","nameLocation":"1846:5:75","nodeType":"VariableDeclaration","scope":56774,"src":"1839:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56733,"nodeType":"UserDefinedTypeName","pathNode":{"id":56732,"name":"IERC20","nameLocations":["1839:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1839:6:75"},"referencedDeclaration":56609,"src":"1839:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56736,"mutability":"mutable","name":"spender","nameLocation":"1861:7:75","nodeType":"VariableDeclaration","scope":56774,"src":"1853:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56735,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56738,"mutability":"mutable","name":"value","nameLocation":"1878:5:75","nodeType":"VariableDeclaration","scope":56774,"src":"1870:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56737,"name":"uint256","nodeType":"ElementaryTypeName","src":"1870:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:46:75"},"returnParameters":{"id":56740,"nodeType":"ParameterList","parameters":[],"src":"1894:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56811,"nodeType":"FunctionDefinition","src":"2582:280:75","nodes":[],"body":{"id":56810,"nodeType":"Block","src":"2668:194:75","nodes":[],"statements":[{"assignments":[56786],"declarations":[{"constant":false,"id":56786,"mutability":"mutable","name":"oldAllowance","nameLocation":"2686:12:75","nodeType":"VariableDeclaration","scope":56810,"src":"2678:20:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56785,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56795,"initialValue":{"arguments":[{"arguments":[{"id":56791,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2725:4:75","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}],"id":56790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2717:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56789,"name":"address","nodeType":"ElementaryTypeName","src":"2717:7:75","typeDescriptions":{}}},"id":56792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:13:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56793,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56780,"src":"2732:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56787,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56778,"src":"2701:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2707:9:75","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56586,"src":"2701:15:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:39:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2678:62:75"},{"expression":{"arguments":[{"id":56797,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56778,"src":"2770:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56800,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56778,"src":"2800:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2806:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"2800:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:8:75","memberName":"selector","nodeType":"MemberAccess","src":"2800:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56803,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56780,"src":"2824:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56804,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56786,"src":"2833:12:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56805,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56782,"src":"2848:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2833:20:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56798,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2777:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2781:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2777:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:77:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56796,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"2750:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:105:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56809,"nodeType":"ExpressionStatement","src":"2750:105:75"}]},"documentation":{"id":56775,"nodeType":"StructuredDocumentation","src":"2397:180:75","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2591:21:75","parameters":{"id":56783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56778,"mutability":"mutable","name":"token","nameLocation":"2620:5:75","nodeType":"VariableDeclaration","scope":56811,"src":"2613:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56777,"nodeType":"UserDefinedTypeName","pathNode":{"id":56776,"name":"IERC20","nameLocations":["2613:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"2613:6:75"},"referencedDeclaration":56609,"src":"2613:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56780,"mutability":"mutable","name":"spender","nameLocation":"2635:7:75","nodeType":"VariableDeclaration","scope":56811,"src":"2627:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56779,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56782,"mutability":"mutable","name":"value","nameLocation":"2652:5:75","nodeType":"VariableDeclaration","scope":56811,"src":"2644:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56781,"name":"uint256","nodeType":"ElementaryTypeName","src":"2644:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2612:46:75"},"returnParameters":{"id":56784,"nodeType":"ParameterList","parameters":[],"src":"2668:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56856,"nodeType":"FunctionDefinition","src":"3053:407:75","nodes":[],"body":{"id":56855,"nodeType":"Block","src":"3139:321:75","nodes":[],"statements":[{"id":56854,"nodeType":"UncheckedBlock","src":"3149:305:75","statements":[{"assignments":[56823],"declarations":[{"constant":false,"id":56823,"mutability":"mutable","name":"oldAllowance","nameLocation":"3181:12:75","nodeType":"VariableDeclaration","scope":56854,"src":"3173:20:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56822,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56832,"initialValue":{"arguments":[{"arguments":[{"id":56828,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3220:4:75","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}],"id":56827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3212:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56826,"name":"address","nodeType":"ElementaryTypeName","src":"3212:7:75","typeDescriptions":{}}},"id":56829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:13:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56830,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56817,"src":"3227:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56824,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"3196:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3202:9:75","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56586,"src":"3196:15:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3196:39:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3173:62:75"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56834,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56823,"src":"3257:12:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56835,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56819,"src":"3273:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3257:21:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3280:43:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":56833,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3249:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3249:75:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56839,"nodeType":"ExpressionStatement","src":"3249:75:75"},{"expression":{"arguments":[{"id":56841,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"3358:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56844,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"3388:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"3388:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3402:8:75","memberName":"selector","nodeType":"MemberAccess","src":"3388:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56847,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56817,"src":"3412:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56848,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56823,"src":"3421:12:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56849,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56819,"src":"3436:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3421:20:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3365:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3369:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3365:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:77:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56840,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"3338:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3338:105:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56853,"nodeType":"ExpressionStatement","src":"3338:105:75"}]}]},"documentation":{"id":56812,"nodeType":"StructuredDocumentation","src":"2868:180:75","text":" @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"3062:21:75","parameters":{"id":56820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56815,"mutability":"mutable","name":"token","nameLocation":"3091:5:75","nodeType":"VariableDeclaration","scope":56856,"src":"3084:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56814,"nodeType":"UserDefinedTypeName","pathNode":{"id":56813,"name":"IERC20","nameLocations":["3084:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3084:6:75"},"referencedDeclaration":56609,"src":"3084:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56817,"mutability":"mutable","name":"spender","nameLocation":"3106:7:75","nodeType":"VariableDeclaration","scope":56856,"src":"3098:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56816,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56819,"mutability":"mutable","name":"value","nameLocation":"3123:5:75","nodeType":"VariableDeclaration","scope":56856,"src":"3115:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56818,"name":"uint256","nodeType":"ElementaryTypeName","src":"3115:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:46:75"},"returnParameters":{"id":56821,"nodeType":"ParameterList","parameters":[],"src":"3139:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56903,"nodeType":"FunctionDefinition","src":"3756:410:75","nodes":[],"body":{"id":56902,"nodeType":"Block","src":"3833:333:75","nodes":[],"statements":[{"assignments":[56868],"declarations":[{"constant":false,"id":56868,"mutability":"mutable","name":"approvalCall","nameLocation":"3856:12:75","nodeType":"VariableDeclaration","scope":56902,"src":"3843:25:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56867,"name":"bytes","nodeType":"ElementaryTypeName","src":"3843:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56877,"initialValue":{"arguments":[{"expression":{"expression":{"id":56871,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"3894:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3900:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"3894:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3908:8:75","memberName":"selector","nodeType":"MemberAccess","src":"3894:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56874,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56862,"src":"3918:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56875,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56864,"src":"3927:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56869,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3871:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3875:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3871:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:62:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3843:90:75"},{"condition":{"id":56882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3948:45:75","subExpression":{"arguments":[{"id":56879,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"3973:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"id":56880,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56868,"src":"3980:12:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56878,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57045,"src":"3949:23:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":56881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:44:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56901,"nodeType":"IfStatement","src":"3944:216:75","trueBody":{"id":56900,"nodeType":"Block","src":"3995:165:75","statements":[{"expression":{"arguments":[{"id":56884,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"4029:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56887,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"4059:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"4059:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4073:8:75","memberName":"selector","nodeType":"MemberAccess","src":"4059:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56890,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56862,"src":"4083:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":56891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":56885,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4036:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4040:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4036:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:58:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56883,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"4009:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4009:86:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56894,"nodeType":"ExpressionStatement","src":"4009:86:75"},{"expression":{"arguments":[{"id":56896,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"4129:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"id":56897,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56868,"src":"4136:12:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56895,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"4109:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:40:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56899,"nodeType":"ExpressionStatement","src":"4109:40:75"}]}}]},"documentation":{"id":56857,"nodeType":"StructuredDocumentation","src":"3466:285:75","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Compatible with tokens that require the approval to be set to\n 0 before setting it to a non-zero value."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"3765:12:75","parameters":{"id":56865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56860,"mutability":"mutable","name":"token","nameLocation":"3785:5:75","nodeType":"VariableDeclaration","scope":56903,"src":"3778:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56859,"nodeType":"UserDefinedTypeName","pathNode":{"id":56858,"name":"IERC20","nameLocations":["3778:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3778:6:75"},"referencedDeclaration":56609,"src":"3778:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56862,"mutability":"mutable","name":"spender","nameLocation":"3800:7:75","nodeType":"VariableDeclaration","scope":56903,"src":"3792:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56861,"name":"address","nodeType":"ElementaryTypeName","src":"3792:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56864,"mutability":"mutable","name":"value","nameLocation":"3817:5:75","nodeType":"VariableDeclaration","scope":56903,"src":"3809:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56863,"name":"uint256","nodeType":"ElementaryTypeName","src":"3809:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3777:46:75"},"returnParameters":{"id":56866,"nodeType":"ParameterList","parameters":[],"src":"3833:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56960,"nodeType":"FunctionDefinition","src":"4318:472:75","nodes":[],"body":{"id":56959,"nodeType":"Block","src":"4533:257:75","nodes":[],"statements":[{"assignments":[56925],"declarations":[{"constant":false,"id":56925,"mutability":"mutable","name":"nonceBefore","nameLocation":"4551:11:75","nodeType":"VariableDeclaration","scope":56959,"src":"4543:19:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56924,"name":"uint256","nodeType":"ElementaryTypeName","src":"4543:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56930,"initialValue":{"arguments":[{"id":56928,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56909,"src":"4578:5:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56926,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56907,"src":"4565:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"}},"id":56927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4571:6:75","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":56663,"src":"4565:12:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4565:19:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4543:41:75"},{"expression":{"arguments":[{"id":56934,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56909,"src":"4607:5:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56935,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56911,"src":"4614:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56936,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56913,"src":"4623:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56937,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56915,"src":"4630:8:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56938,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56917,"src":"4640:1:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56939,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56919,"src":"4643:1:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56940,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56921,"src":"4646:1:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56931,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56907,"src":"4594:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"}},"id":56933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4600:6:75","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":56655,"src":"4594:12:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":56941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:54:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56942,"nodeType":"ExpressionStatement","src":"4594:54:75"},{"assignments":[56944],"declarations":[{"constant":false,"id":56944,"mutability":"mutable","name":"nonceAfter","nameLocation":"4666:10:75","nodeType":"VariableDeclaration","scope":56959,"src":"4658:18:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56943,"name":"uint256","nodeType":"ElementaryTypeName","src":"4658:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56949,"initialValue":{"arguments":[{"id":56947,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56909,"src":"4692:5:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56945,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56907,"src":"4679:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"}},"id":56946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:6:75","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":56663,"src":"4679:12:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4679:19:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4658:40:75"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56951,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56944,"src":"4716:10:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56952,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"4730:11:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":56953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4744:1:75","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:15:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4716:29:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":56956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4747:35:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":56950,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4708:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:75:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56958,"nodeType":"ExpressionStatement","src":"4708:75:75"}]},"documentation":{"id":56904,"nodeType":"StructuredDocumentation","src":"4172:141:75","text":" @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`.\n Revert on invalid signature."},"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"4327:10:75","parameters":{"id":56922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56907,"mutability":"mutable","name":"token","nameLocation":"4360:5:75","nodeType":"VariableDeclaration","scope":56960,"src":"4347:18:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"},"typeName":{"id":56906,"nodeType":"UserDefinedTypeName","pathNode":{"id":56905,"name":"IERC20Permit","nameLocations":["4347:12:75"],"nodeType":"IdentifierPath","referencedDeclaration":56670,"src":"4347:12:75"},"referencedDeclaration":56670,"src":"4347:12:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":56909,"mutability":"mutable","name":"owner","nameLocation":"4383:5:75","nodeType":"VariableDeclaration","scope":56960,"src":"4375:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56908,"name":"address","nodeType":"ElementaryTypeName","src":"4375:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56911,"mutability":"mutable","name":"spender","nameLocation":"4406:7:75","nodeType":"VariableDeclaration","scope":56960,"src":"4398:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56910,"name":"address","nodeType":"ElementaryTypeName","src":"4398:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56913,"mutability":"mutable","name":"value","nameLocation":"4431:5:75","nodeType":"VariableDeclaration","scope":56960,"src":"4423:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56912,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56915,"mutability":"mutable","name":"deadline","nameLocation":"4454:8:75","nodeType":"VariableDeclaration","scope":56960,"src":"4446:16:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56914,"name":"uint256","nodeType":"ElementaryTypeName","src":"4446:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56917,"mutability":"mutable","name":"v","nameLocation":"4478:1:75","nodeType":"VariableDeclaration","scope":56960,"src":"4472:7:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56916,"name":"uint8","nodeType":"ElementaryTypeName","src":"4472:5:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56919,"mutability":"mutable","name":"r","nameLocation":"4497:1:75","nodeType":"VariableDeclaration","scope":56960,"src":"4489:9:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56918,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4489:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56921,"mutability":"mutable","name":"s","nameLocation":"4516:1:75","nodeType":"VariableDeclaration","scope":56960,"src":"4508:9:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56920,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4508:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4337:186:75"},"returnParameters":{"id":56923,"nodeType":"ParameterList","parameters":[],"src":"4533:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56997,"nodeType":"FunctionDefinition","src":"5173:642:75","nodes":[],"body":{"id":56996,"nodeType":"Block","src":"5243:572:75","nodes":[],"statements":[{"assignments":[56970],"declarations":[{"constant":false,"id":56970,"mutability":"mutable","name":"returndata","nameLocation":"5605:10:75","nodeType":"VariableDeclaration","scope":56996,"src":"5592:23:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56969,"name":"bytes","nodeType":"ElementaryTypeName","src":"5592:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56979,"initialValue":{"arguments":[{"id":56976,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"5646:4:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":56977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5652:34:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":56973,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56964,"src":"5626:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":56972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5618:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56971,"name":"address","nodeType":"ElementaryTypeName","src":"5618:7:75","typeDescriptions":{}}},"id":56974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:14:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5633:12:75","memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":57181,"src":"5618:27:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":56978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:69:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5592:95:75"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56981,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56970,"src":"5705:10:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5716:6:75","memberName":"length","nodeType":"MemberAccess","src":"5705:17:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5726:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5705:22:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56987,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56970,"src":"5742:10:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5755:4:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56988,"name":"bool","nodeType":"ElementaryTypeName","src":"5755:4:75","typeDescriptions":{}}}],"id":56990,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5754:6:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5731:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5735:6:75","memberName":"decode","nodeType":"MemberAccess","src":"5731:10:75","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5731:30:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5705:56:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":56993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:44:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":56980,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5697:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:111:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56995,"nodeType":"ExpressionStatement","src":"5697:111:75"}]},"documentation":{"id":56961,"nodeType":"StructuredDocumentation","src":"4796:372:75","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"5182:19:75","parameters":{"id":56967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56964,"mutability":"mutable","name":"token","nameLocation":"5209:5:75","nodeType":"VariableDeclaration","scope":56997,"src":"5202:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56963,"nodeType":"UserDefinedTypeName","pathNode":{"id":56962,"name":"IERC20","nameLocations":["5202:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"5202:6:75"},"referencedDeclaration":56609,"src":"5202:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56966,"mutability":"mutable","name":"data","nameLocation":"5229:4:75","nodeType":"VariableDeclaration","scope":56997,"src":"5216:17:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56965,"name":"bytes","nodeType":"ElementaryTypeName","src":"5216:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5201:33:75"},"returnParameters":{"id":56968,"nodeType":"ParameterList","parameters":[],"src":"5243:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":57045,"nodeType":"FunctionDefinition","src":"6316:594:75","nodes":[],"body":{"id":57044,"nodeType":"Block","src":"6405:505:75","nodes":[],"statements":[{"assignments":[57009,57011],"declarations":[{"constant":false,"id":57009,"mutability":"mutable","name":"success","nameLocation":"6706:7:75","nodeType":"VariableDeclaration","scope":57044,"src":"6701:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57008,"name":"bool","nodeType":"ElementaryTypeName","src":"6701:4:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57011,"mutability":"mutable","name":"returndata","nameLocation":"6728:10:75","nodeType":"VariableDeclaration","scope":57044,"src":"6715:23:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57010,"name":"bytes","nodeType":"ElementaryTypeName","src":"6715:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57019,"initialValue":{"arguments":[{"id":57017,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57003,"src":"6762:4:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":57014,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57001,"src":"6750:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":57013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6742:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57012,"name":"address","nodeType":"ElementaryTypeName","src":"6742:7:75","typeDescriptions":{}}},"id":57015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:14:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6757:4:75","memberName":"call","nodeType":"MemberAccess","src":"6742:19:75","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":57018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:25:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6700:67:75"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57020,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57009,"src":"6796:7:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57021,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57011,"src":"6808:10:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6819:6:75","memberName":"length","nodeType":"MemberAccess","src":"6808:17:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6829:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6808:22:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":57027,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57011,"src":"6845:10:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":57029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6858:4:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":57028,"name":"bool","nodeType":"ElementaryTypeName","src":"6858:4:75","typeDescriptions":{}}}],"id":57030,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6857:6:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":57025,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6834:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6838:6:75","memberName":"decode","nodeType":"MemberAccess","src":"6834:10:75","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":57031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6834:30:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6808:56:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":57033,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6807:58:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:69:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":57039,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57001,"src":"6896:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":57038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6888:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57037,"name":"address","nodeType":"ElementaryTypeName","src":"6888:7:75","typeDescriptions":{}}},"id":57040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6888:14:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57035,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57421,"src":"6869:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$57421_$","typeString":"type(library Address)"}},"id":57036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6877:10:75","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":57109,"src":"6869:18:75","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":57041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6869:34:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:107:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":57007,"id":57043,"nodeType":"Return","src":"6777:126:75"}]},"documentation":{"id":56998,"nodeType":"StructuredDocumentation","src":"5821:490:75","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"6325:23:75","parameters":{"id":57004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57001,"mutability":"mutable","name":"token","nameLocation":"6356:5:75","nodeType":"VariableDeclaration","scope":57045,"src":"6349:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":57000,"nodeType":"UserDefinedTypeName","pathNode":{"id":56999,"name":"IERC20","nameLocations":["6349:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"6349:6:75"},"referencedDeclaration":56609,"src":"6349:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57003,"mutability":"mutable","name":"data","nameLocation":"6376:4:75","nodeType":"VariableDeclaration","scope":57045,"src":"6363:17:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57002,"name":"bytes","nodeType":"ElementaryTypeName","src":"6363:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:33:75"},"returnParameters":{"id":57007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57045,"src":"6399:4:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57005,"name":"bool","nodeType":"ElementaryTypeName","src":"6399:4:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6398:6:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":56676,"nodeType":"StructuredDocumentation","src":"243:457:75","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[57046],"name":"SafeERC20","nameLocation":"709:9:75","scope":57047,"usedErrors":[]}],"license":"MIT"},"id":75}
\ No newline at end of file
+{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212205e4c265c725dff12d4919d0f0c3e837a986e56c7d8d8528c3402a54a245bade764736f6c63430008130033","sourceMap":"701:6211:75:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212205e4c265c725dff12d4919d0f0c3e837a986e56c7d8d8528c3402a54a245bade764736f6c63430008130033","sourceMap":"701:6211:75:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":57047,"exportedSymbols":{"Address":[57421],"IERC20":[56609],"IERC20Permit":[56670],"SafeERC20":[57046]},"nodeType":"SourceUnit","src":"115:6798:75","nodes":[{"id":56672,"nodeType":"PragmaDirective","src":"115:23:75","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56673,"nodeType":"ImportDirective","src":"140:23:75","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":57047,"sourceUnit":56610,"symbolAliases":[],"unitAlias":""},{"id":56674,"nodeType":"ImportDirective","src":"164:40:75","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"../extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":57047,"sourceUnit":56671,"symbolAliases":[],"unitAlias":""},{"id":56675,"nodeType":"ImportDirective","src":"205:36:75","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","file":"../../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":57047,"sourceUnit":57422,"symbolAliases":[],"unitAlias":""},{"id":57046,"nodeType":"ContractDefinition","src":"701:6211:75","nodes":[{"id":56679,"nodeType":"UsingForDirective","src":"725:26:75","nodes":[],"global":false,"libraryName":{"id":56677,"name":"Address","nameLocations":["731:7:75"],"nodeType":"IdentifierPath","referencedDeclaration":57421,"src":"731:7:75"},"typeName":{"id":56678,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":56703,"nodeType":"FunctionDefinition","src":"941:175:75","nodes":[],"body":{"id":56702,"nodeType":"Block","src":"1013:103:75","nodes":[],"statements":[{"expression":{"arguments":[{"id":56691,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56683,"src":"1043:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56694,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56683,"src":"1073:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1079:8:75","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":56576,"src":"1073:14:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1088:8:75","memberName":"selector","nodeType":"MemberAccess","src":"1073:23:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56697,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56685,"src":"1098:2:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56698,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56687,"src":"1102:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56692,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1050:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1050:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:58:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56690,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"1023:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1023:86:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56701,"nodeType":"ExpressionStatement","src":"1023:86:75"}]},"documentation":{"id":56680,"nodeType":"StructuredDocumentation","src":"757:179:75","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"950:12:75","parameters":{"id":56688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56683,"mutability":"mutable","name":"token","nameLocation":"970:5:75","nodeType":"VariableDeclaration","scope":56703,"src":"963:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56682,"nodeType":"UserDefinedTypeName","pathNode":{"id":56681,"name":"IERC20","nameLocations":["963:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"963:6:75"},"referencedDeclaration":56609,"src":"963:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56685,"mutability":"mutable","name":"to","nameLocation":"985:2:75","nodeType":"VariableDeclaration","scope":56703,"src":"977:10:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56684,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56687,"mutability":"mutable","name":"value","nameLocation":"997:5:75","nodeType":"VariableDeclaration","scope":56703,"src":"989:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56686,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"962:41:75"},"returnParameters":{"id":56689,"nodeType":"ParameterList","parameters":[],"src":"1013:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56730,"nodeType":"FunctionDefinition","src":"1355:203:75","nodes":[],"body":{"id":56729,"nodeType":"Block","src":"1445:113:75","nodes":[],"statements":[{"expression":{"arguments":[{"id":56717,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56707,"src":"1475:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56720,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56707,"src":"1505:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1511:12:75","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":56608,"src":"1505:18:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":56722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:8:75","memberName":"selector","nodeType":"MemberAccess","src":"1505:27:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56723,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56709,"src":"1534:4:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56724,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56711,"src":"1540:2:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56725,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56713,"src":"1544:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1482:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1486:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1482:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:68:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56716,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"1455:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:96:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56728,"nodeType":"ExpressionStatement","src":"1455:96:75"}]},"documentation":{"id":56704,"nodeType":"StructuredDocumentation","src":"1122:228:75","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1364:16:75","parameters":{"id":56714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56707,"mutability":"mutable","name":"token","nameLocation":"1388:5:75","nodeType":"VariableDeclaration","scope":56730,"src":"1381:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56706,"nodeType":"UserDefinedTypeName","pathNode":{"id":56705,"name":"IERC20","nameLocations":["1381:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1381:6:75"},"referencedDeclaration":56609,"src":"1381:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56709,"mutability":"mutable","name":"from","nameLocation":"1403:4:75","nodeType":"VariableDeclaration","scope":56730,"src":"1395:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56708,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56711,"mutability":"mutable","name":"to","nameLocation":"1417:2:75","nodeType":"VariableDeclaration","scope":56730,"src":"1409:10:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56710,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56713,"mutability":"mutable","name":"value","nameLocation":"1429:5:75","nodeType":"VariableDeclaration","scope":56730,"src":"1421:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56712,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1380:55:75"},"returnParameters":{"id":56715,"nodeType":"ParameterList","parameters":[],"src":"1445:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56774,"nodeType":"FunctionDefinition","src":"1818:573:75","nodes":[],"body":{"id":56773,"nodeType":"Block","src":"1894:497:75","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56742,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56738,"src":"2143:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2143:10:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56745,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2142:12:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":56750,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2183:4:75","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}],"id":56749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2175:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56748,"name":"address","nodeType":"ElementaryTypeName","src":"2175:7:75","typeDescriptions":{}}},"id":56751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:13:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56752,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56736,"src":"2190:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56746,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"2159:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:9:75","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56586,"src":"2159:15:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:39:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2202:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2159:44:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56756,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2158:46:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2142:62:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":56758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2218:56:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":56741,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2121:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:163:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56760,"nodeType":"ExpressionStatement","src":"2121:163:75"},{"expression":{"arguments":[{"id":56762,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"2314:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56765,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"2344:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"2344:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:75","memberName":"selector","nodeType":"MemberAccess","src":"2344:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56768,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56736,"src":"2368:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56769,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56738,"src":"2377:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56763,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2321:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2325:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2321:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:62:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56761,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"2294:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:90:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56772,"nodeType":"ExpressionStatement","src":"2294:90:75"}]},"documentation":{"id":56731,"nodeType":"StructuredDocumentation","src":"1564:249:75","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1827:11:75","parameters":{"id":56739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56734,"mutability":"mutable","name":"token","nameLocation":"1846:5:75","nodeType":"VariableDeclaration","scope":56774,"src":"1839:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56733,"nodeType":"UserDefinedTypeName","pathNode":{"id":56732,"name":"IERC20","nameLocations":["1839:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"1839:6:75"},"referencedDeclaration":56609,"src":"1839:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56736,"mutability":"mutable","name":"spender","nameLocation":"1861:7:75","nodeType":"VariableDeclaration","scope":56774,"src":"1853:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56735,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56738,"mutability":"mutable","name":"value","nameLocation":"1878:5:75","nodeType":"VariableDeclaration","scope":56774,"src":"1870:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56737,"name":"uint256","nodeType":"ElementaryTypeName","src":"1870:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:46:75"},"returnParameters":{"id":56740,"nodeType":"ParameterList","parameters":[],"src":"1894:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56811,"nodeType":"FunctionDefinition","src":"2582:280:75","nodes":[],"body":{"id":56810,"nodeType":"Block","src":"2668:194:75","nodes":[],"statements":[{"assignments":[56786],"declarations":[{"constant":false,"id":56786,"mutability":"mutable","name":"oldAllowance","nameLocation":"2686:12:75","nodeType":"VariableDeclaration","scope":56810,"src":"2678:20:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56785,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56795,"initialValue":{"arguments":[{"arguments":[{"id":56791,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2725:4:75","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}],"id":56790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2717:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56789,"name":"address","nodeType":"ElementaryTypeName","src":"2717:7:75","typeDescriptions":{}}},"id":56792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:13:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56793,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56780,"src":"2732:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56787,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56778,"src":"2701:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2707:9:75","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56586,"src":"2701:15:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:39:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2678:62:75"},{"expression":{"arguments":[{"id":56797,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56778,"src":"2770:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56800,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56778,"src":"2800:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2806:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"2800:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:8:75","memberName":"selector","nodeType":"MemberAccess","src":"2800:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56803,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56780,"src":"2824:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56804,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56786,"src":"2833:12:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56805,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56782,"src":"2848:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2833:20:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56798,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2777:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2781:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2777:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:77:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56796,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"2750:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:105:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56809,"nodeType":"ExpressionStatement","src":"2750:105:75"}]},"documentation":{"id":56775,"nodeType":"StructuredDocumentation","src":"2397:180:75","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2591:21:75","parameters":{"id":56783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56778,"mutability":"mutable","name":"token","nameLocation":"2620:5:75","nodeType":"VariableDeclaration","scope":56811,"src":"2613:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56777,"nodeType":"UserDefinedTypeName","pathNode":{"id":56776,"name":"IERC20","nameLocations":["2613:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"2613:6:75"},"referencedDeclaration":56609,"src":"2613:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56780,"mutability":"mutable","name":"spender","nameLocation":"2635:7:75","nodeType":"VariableDeclaration","scope":56811,"src":"2627:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56779,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56782,"mutability":"mutable","name":"value","nameLocation":"2652:5:75","nodeType":"VariableDeclaration","scope":56811,"src":"2644:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56781,"name":"uint256","nodeType":"ElementaryTypeName","src":"2644:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2612:46:75"},"returnParameters":{"id":56784,"nodeType":"ParameterList","parameters":[],"src":"2668:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56856,"nodeType":"FunctionDefinition","src":"3053:407:75","nodes":[],"body":{"id":56855,"nodeType":"Block","src":"3139:321:75","nodes":[],"statements":[{"id":56854,"nodeType":"UncheckedBlock","src":"3149:305:75","statements":[{"assignments":[56823],"declarations":[{"constant":false,"id":56823,"mutability":"mutable","name":"oldAllowance","nameLocation":"3181:12:75","nodeType":"VariableDeclaration","scope":56854,"src":"3173:20:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56822,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56832,"initialValue":{"arguments":[{"arguments":[{"id":56828,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3220:4:75","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57046","typeString":"library SafeERC20"}],"id":56827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3212:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56826,"name":"address","nodeType":"ElementaryTypeName","src":"3212:7:75","typeDescriptions":{}}},"id":56829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:13:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56830,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56817,"src":"3227:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56824,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"3196:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3202:9:75","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56586,"src":"3196:15:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3196:39:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3173:62:75"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56834,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56823,"src":"3257:12:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56835,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56819,"src":"3273:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3257:21:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3280:43:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":56833,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3249:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3249:75:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56839,"nodeType":"ExpressionStatement","src":"3249:75:75"},{"expression":{"arguments":[{"id":56841,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"3358:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56844,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"3388:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"3388:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3402:8:75","memberName":"selector","nodeType":"MemberAccess","src":"3388:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56847,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56817,"src":"3412:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56848,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56823,"src":"3421:12:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56849,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56819,"src":"3436:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3421:20:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3365:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3369:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3365:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:77:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56840,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"3338:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3338:105:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56853,"nodeType":"ExpressionStatement","src":"3338:105:75"}]}]},"documentation":{"id":56812,"nodeType":"StructuredDocumentation","src":"2868:180:75","text":" @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"3062:21:75","parameters":{"id":56820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56815,"mutability":"mutable","name":"token","nameLocation":"3091:5:75","nodeType":"VariableDeclaration","scope":56856,"src":"3084:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56814,"nodeType":"UserDefinedTypeName","pathNode":{"id":56813,"name":"IERC20","nameLocations":["3084:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3084:6:75"},"referencedDeclaration":56609,"src":"3084:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56817,"mutability":"mutable","name":"spender","nameLocation":"3106:7:75","nodeType":"VariableDeclaration","scope":56856,"src":"3098:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56816,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56819,"mutability":"mutable","name":"value","nameLocation":"3123:5:75","nodeType":"VariableDeclaration","scope":56856,"src":"3115:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56818,"name":"uint256","nodeType":"ElementaryTypeName","src":"3115:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:46:75"},"returnParameters":{"id":56821,"nodeType":"ParameterList","parameters":[],"src":"3139:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56903,"nodeType":"FunctionDefinition","src":"3756:410:75","nodes":[],"body":{"id":56902,"nodeType":"Block","src":"3833:333:75","nodes":[],"statements":[{"assignments":[56868],"declarations":[{"constant":false,"id":56868,"mutability":"mutable","name":"approvalCall","nameLocation":"3856:12:75","nodeType":"VariableDeclaration","scope":56902,"src":"3843:25:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56867,"name":"bytes","nodeType":"ElementaryTypeName","src":"3843:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56877,"initialValue":{"arguments":[{"expression":{"expression":{"id":56871,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"3894:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3900:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"3894:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3908:8:75","memberName":"selector","nodeType":"MemberAccess","src":"3894:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56874,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56862,"src":"3918:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56875,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56864,"src":"3927:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56869,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3871:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3875:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3871:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:62:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3843:90:75"},{"condition":{"id":56882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3948:45:75","subExpression":{"arguments":[{"id":56879,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"3973:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"id":56880,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56868,"src":"3980:12:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56878,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57045,"src":"3949:23:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":56881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:44:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56901,"nodeType":"IfStatement","src":"3944:216:75","trueBody":{"id":56900,"nodeType":"Block","src":"3995:165:75","statements":[{"expression":{"arguments":[{"id":56884,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"4029:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56887,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"4059:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":56888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:7:75","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"4059:13:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4073:8:75","memberName":"selector","nodeType":"MemberAccess","src":"4059:22:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56890,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56862,"src":"4083:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":56891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":56885,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4036:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4040:18:75","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4036:22:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:58:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56883,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"4009:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4009:86:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56894,"nodeType":"ExpressionStatement","src":"4009:86:75"},{"expression":{"arguments":[{"id":56896,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"4129:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},{"id":56897,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56868,"src":"4136:12:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56895,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56997,"src":"4109:19:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56609_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:40:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56899,"nodeType":"ExpressionStatement","src":"4109:40:75"}]}}]},"documentation":{"id":56857,"nodeType":"StructuredDocumentation","src":"3466:285:75","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Compatible with tokens that require the approval to be set to\n 0 before setting it to a non-zero value."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"3765:12:75","parameters":{"id":56865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56860,"mutability":"mutable","name":"token","nameLocation":"3785:5:75","nodeType":"VariableDeclaration","scope":56903,"src":"3778:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56859,"nodeType":"UserDefinedTypeName","pathNode":{"id":56858,"name":"IERC20","nameLocations":["3778:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"3778:6:75"},"referencedDeclaration":56609,"src":"3778:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56862,"mutability":"mutable","name":"spender","nameLocation":"3800:7:75","nodeType":"VariableDeclaration","scope":56903,"src":"3792:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56861,"name":"address","nodeType":"ElementaryTypeName","src":"3792:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56864,"mutability":"mutable","name":"value","nameLocation":"3817:5:75","nodeType":"VariableDeclaration","scope":56903,"src":"3809:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56863,"name":"uint256","nodeType":"ElementaryTypeName","src":"3809:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3777:46:75"},"returnParameters":{"id":56866,"nodeType":"ParameterList","parameters":[],"src":"3833:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56960,"nodeType":"FunctionDefinition","src":"4318:472:75","nodes":[],"body":{"id":56959,"nodeType":"Block","src":"4533:257:75","nodes":[],"statements":[{"assignments":[56925],"declarations":[{"constant":false,"id":56925,"mutability":"mutable","name":"nonceBefore","nameLocation":"4551:11:75","nodeType":"VariableDeclaration","scope":56959,"src":"4543:19:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56924,"name":"uint256","nodeType":"ElementaryTypeName","src":"4543:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56930,"initialValue":{"arguments":[{"id":56928,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56909,"src":"4578:5:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56926,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56907,"src":"4565:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"}},"id":56927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4571:6:75","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":56663,"src":"4565:12:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4565:19:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4543:41:75"},{"expression":{"arguments":[{"id":56934,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56909,"src":"4607:5:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56935,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56911,"src":"4614:7:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56936,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56913,"src":"4623:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56937,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56915,"src":"4630:8:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56938,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56917,"src":"4640:1:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56939,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56919,"src":"4643:1:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56940,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56921,"src":"4646:1:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56931,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56907,"src":"4594:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"}},"id":56933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4600:6:75","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":56655,"src":"4594:12:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":56941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:54:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56942,"nodeType":"ExpressionStatement","src":"4594:54:75"},{"assignments":[56944],"declarations":[{"constant":false,"id":56944,"mutability":"mutable","name":"nonceAfter","nameLocation":"4666:10:75","nodeType":"VariableDeclaration","scope":56959,"src":"4658:18:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56943,"name":"uint256","nodeType":"ElementaryTypeName","src":"4658:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56949,"initialValue":{"arguments":[{"id":56947,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56909,"src":"4692:5:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56945,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56907,"src":"4679:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"}},"id":56946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:6:75","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":56663,"src":"4679:12:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4679:19:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4658:40:75"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56951,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56944,"src":"4716:10:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56952,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"4730:11:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":56953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4744:1:75","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:15:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4716:29:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":56956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4747:35:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":56950,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4708:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:75:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56958,"nodeType":"ExpressionStatement","src":"4708:75:75"}]},"documentation":{"id":56904,"nodeType":"StructuredDocumentation","src":"4172:141:75","text":" @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`.\n Revert on invalid signature."},"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"4327:10:75","parameters":{"id":56922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56907,"mutability":"mutable","name":"token","nameLocation":"4360:5:75","nodeType":"VariableDeclaration","scope":56960,"src":"4347:18:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"},"typeName":{"id":56906,"nodeType":"UserDefinedTypeName","pathNode":{"id":56905,"name":"IERC20Permit","nameLocations":["4347:12:75"],"nodeType":"IdentifierPath","referencedDeclaration":56670,"src":"4347:12:75"},"referencedDeclaration":56670,"src":"4347:12:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56670","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":56909,"mutability":"mutable","name":"owner","nameLocation":"4383:5:75","nodeType":"VariableDeclaration","scope":56960,"src":"4375:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56908,"name":"address","nodeType":"ElementaryTypeName","src":"4375:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56911,"mutability":"mutable","name":"spender","nameLocation":"4406:7:75","nodeType":"VariableDeclaration","scope":56960,"src":"4398:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56910,"name":"address","nodeType":"ElementaryTypeName","src":"4398:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56913,"mutability":"mutable","name":"value","nameLocation":"4431:5:75","nodeType":"VariableDeclaration","scope":56960,"src":"4423:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56912,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56915,"mutability":"mutable","name":"deadline","nameLocation":"4454:8:75","nodeType":"VariableDeclaration","scope":56960,"src":"4446:16:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56914,"name":"uint256","nodeType":"ElementaryTypeName","src":"4446:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56917,"mutability":"mutable","name":"v","nameLocation":"4478:1:75","nodeType":"VariableDeclaration","scope":56960,"src":"4472:7:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56916,"name":"uint8","nodeType":"ElementaryTypeName","src":"4472:5:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56919,"mutability":"mutable","name":"r","nameLocation":"4497:1:75","nodeType":"VariableDeclaration","scope":56960,"src":"4489:9:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56918,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4489:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56921,"mutability":"mutable","name":"s","nameLocation":"4516:1:75","nodeType":"VariableDeclaration","scope":56960,"src":"4508:9:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56920,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4508:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4337:186:75"},"returnParameters":{"id":56923,"nodeType":"ParameterList","parameters":[],"src":"4533:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56997,"nodeType":"FunctionDefinition","src":"5173:642:75","nodes":[],"body":{"id":56996,"nodeType":"Block","src":"5243:572:75","nodes":[],"statements":[{"assignments":[56970],"declarations":[{"constant":false,"id":56970,"mutability":"mutable","name":"returndata","nameLocation":"5605:10:75","nodeType":"VariableDeclaration","scope":56996,"src":"5592:23:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56969,"name":"bytes","nodeType":"ElementaryTypeName","src":"5592:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56979,"initialValue":{"arguments":[{"id":56976,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"5646:4:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":56977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5652:34:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":56973,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56964,"src":"5626:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":56972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5618:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56971,"name":"address","nodeType":"ElementaryTypeName","src":"5618:7:75","typeDescriptions":{}}},"id":56974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:14:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5633:12:75","memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":57181,"src":"5618:27:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":56978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:69:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5592:95:75"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56981,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56970,"src":"5705:10:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5716:6:75","memberName":"length","nodeType":"MemberAccess","src":"5705:17:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5726:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5705:22:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56987,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56970,"src":"5742:10:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5755:4:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56988,"name":"bool","nodeType":"ElementaryTypeName","src":"5755:4:75","typeDescriptions":{}}}],"id":56990,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5754:6:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5731:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5735:6:75","memberName":"decode","nodeType":"MemberAccess","src":"5731:10:75","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5731:30:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5705:56:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":56993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:44:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":56980,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5697:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:111:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56995,"nodeType":"ExpressionStatement","src":"5697:111:75"}]},"documentation":{"id":56961,"nodeType":"StructuredDocumentation","src":"4796:372:75","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"5182:19:75","parameters":{"id":56967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56964,"mutability":"mutable","name":"token","nameLocation":"5209:5:75","nodeType":"VariableDeclaration","scope":56997,"src":"5202:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":56963,"nodeType":"UserDefinedTypeName","pathNode":{"id":56962,"name":"IERC20","nameLocations":["5202:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"5202:6:75"},"referencedDeclaration":56609,"src":"5202:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56966,"mutability":"mutable","name":"data","nameLocation":"5229:4:75","nodeType":"VariableDeclaration","scope":56997,"src":"5216:17:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56965,"name":"bytes","nodeType":"ElementaryTypeName","src":"5216:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5201:33:75"},"returnParameters":{"id":56968,"nodeType":"ParameterList","parameters":[],"src":"5243:0:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":57045,"nodeType":"FunctionDefinition","src":"6316:594:75","nodes":[],"body":{"id":57044,"nodeType":"Block","src":"6405:505:75","nodes":[],"statements":[{"assignments":[57009,57011],"declarations":[{"constant":false,"id":57009,"mutability":"mutable","name":"success","nameLocation":"6706:7:75","nodeType":"VariableDeclaration","scope":57044,"src":"6701:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57008,"name":"bool","nodeType":"ElementaryTypeName","src":"6701:4:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57011,"mutability":"mutable","name":"returndata","nameLocation":"6728:10:75","nodeType":"VariableDeclaration","scope":57044,"src":"6715:23:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57010,"name":"bytes","nodeType":"ElementaryTypeName","src":"6715:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57019,"initialValue":{"arguments":[{"id":57017,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57003,"src":"6762:4:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":57014,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57001,"src":"6750:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":57013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6742:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57012,"name":"address","nodeType":"ElementaryTypeName","src":"6742:7:75","typeDescriptions":{}}},"id":57015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:14:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6757:4:75","memberName":"call","nodeType":"MemberAccess","src":"6742:19:75","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":57018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:25:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6700:67:75"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57020,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57009,"src":"6796:7:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57021,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57011,"src":"6808:10:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6819:6:75","memberName":"length","nodeType":"MemberAccess","src":"6808:17:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6829:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6808:22:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":57027,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57011,"src":"6845:10:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":57029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6858:4:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":57028,"name":"bool","nodeType":"ElementaryTypeName","src":"6858:4:75","typeDescriptions":{}}}],"id":57030,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6857:6:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":57025,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6834:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6838:6:75","memberName":"decode","nodeType":"MemberAccess","src":"6834:10:75","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":57031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6834:30:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6808:56:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":57033,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6807:58:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:69:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":57039,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57001,"src":"6896:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}],"id":57038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6888:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57037,"name":"address","nodeType":"ElementaryTypeName","src":"6888:7:75","typeDescriptions":{}}},"id":57040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6888:14:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57035,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57421,"src":"6869:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$57421_$","typeString":"type(library Address)"}},"id":57036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6877:10:75","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":57109,"src":"6869:18:75","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":57041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6869:34:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:107:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":57007,"id":57043,"nodeType":"Return","src":"6777:126:75"}]},"documentation":{"id":56998,"nodeType":"StructuredDocumentation","src":"5821:490:75","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"6325:23:75","parameters":{"id":57004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57001,"mutability":"mutable","name":"token","nameLocation":"6356:5:75","nodeType":"VariableDeclaration","scope":57045,"src":"6349:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"},"typeName":{"id":57000,"nodeType":"UserDefinedTypeName","pathNode":{"id":56999,"name":"IERC20","nameLocations":["6349:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":56609,"src":"6349:6:75"},"referencedDeclaration":56609,"src":"6349:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57003,"mutability":"mutable","name":"data","nameLocation":"6376:4:75","nodeType":"VariableDeclaration","scope":57045,"src":"6363:17:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57002,"name":"bytes","nodeType":"ElementaryTypeName","src":"6363:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:33:75"},"returnParameters":{"id":57007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57045,"src":"6399:4:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57005,"name":"bool","nodeType":"ElementaryTypeName","src":"6399:4:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6398:6:75"},"scope":57046,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":56676,"nodeType":"StructuredDocumentation","src":"243:457:75","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[57046],"name":"SafeERC20","nameLocation":"709:9:75","scope":57047,"usedErrors":[]}],"license":"MIT"},"id":75}
\ No newline at end of file
diff --git a/pkg/contracts/out/TERC20.sol/TERC20.json b/pkg/contracts/out/TERC20.sol/TERC20.json
index 47b6558cd..4d83ccf32 100644
--- a/pkg/contracts/out/TERC20.sol/TERC20.json
+++ b/pkg/contracts/out/TERC20.sol/TERC20.json
@@ -1 +1 @@
-{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x6080604052346200033a5762000f9d803803806200001d816200033f565b9283398101906060818303126200033a5780516001600160401b03908181116200033a57836200004f91840162000365565b90602093848401518281116200033a576040916200006f91860162000365565b9301519260ff84168094036200033a57825190828211620003245760008054926001958685811c9516801562000319575b8986101462000305578190601f95868111620002b2575b5089908683116001146200024e57849262000242575b5050600019600383901b1c191690861b1781555b81519384116200022e5784548581811c9116801562000223575b888210146200020f57838111620001c7575b5086928411600114620001615783949596509262000155575b5050600019600383901b1c191690821b1790555b60ff196002541617600255604051610bc59081620003d88239f35b01519050388062000126565b9190601f1984169685845280842093905b888210620001af575050838596971062000195575b505050811b0190556200013a565b015160001960f88460031b161c1916905538808062000187565b80878596829496860151815501950193019062000172565b8582528782208480870160051c8201928a881062000205575b0160051c019086905b828110620001f95750506200010d565b838155018690620001e9565b92508192620001e0565b634e487b7160e01b82526022600452602482fd5b90607f1690620000fb565b634e487b7160e01b81526041600452602490fd5b015190503880620000cd565b8480528a85208994509190601f198416865b8d8282106200029b575050841162000281575b505050811b018155620000e1565b015160001960f88460031b161c1916905538808062000273565b8385015186558c9790950194938401930162000260565b9091508380528984208680850160051c8201928c8610620002fb575b918a91869594930160051c01915b828110620002ec575050620000b7565b8681558594508a9101620002dc565b92508192620002ce565b634e487b7160e01b83526022600452602483fd5b94607f1694620000a0565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200032457604052565b919080601f840112156200033a5782516001600160401b03811162000324576020906200039b601f8201601f191683016200033f565b928184528282870101116200033a5760005b818110620003c357508260009394955001015290565b8581018301518482018401528201620003ad56fe60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212206a3d0502e7473c4d697ce6853f26b1748414a9dca7c5c1387d1241ac70156f8464736f6c63430008130033","sourceMap":"290:2058:133:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2058:133;;;;;;;;;;;;;;;;541:21;290:2058;;;541:21;290:2058;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;-1:-1:-1;;290:2058:133;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;-1:-1:-1;290:2058:133;;-1:-1:-1;290:2058:133;;;;;;;;;-1:-1:-1;;290:2058:133;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212206a3d0502e7473c4d697ce6853f26b1748414a9dca7c5c1387d1241ac70156f8464736f6c63430008130033","sourceMap":"290:2058:133:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934:14;290:2058:133;11081:1934:14;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2259:81;;;;;;;;;;;;;21786:1164:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934;290:2058:133;11081:1934:14;;;;21786:1164;-1:-1:-1;;;;;;;;;;;21786:1164:14;;;290:2058:133;;21786:1164:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;5674:184:14;;;;;;;;;;290:2058:133;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;14252:18:14;;:::i;:::-;14323:2708;;;;;;;;;290:2058:133;11081:1934:14;290:2058:133;11081:1934:14;;;;14323:2708;;;;;;;;;;;;290:2058:133;14323:2708:14;;;;;;;;290:2058:133;14323:2708:14;;;;;;;;;;;;;;;;;290:2058:133;14323:2708:14;;;;;;290:2058:133;14323:2708:14;;;11081:1934;14323:2708;;;;;;;;;;;;;;;;290:2058:133;14323:2708:14;;;290:2058:133;;14323:2708:14;;290:2058:133;;;14323:2708:14;;;290:2058:133;14323:2708:14;290:2058:133;14323:2708:14;;;;;;;;;-1:-1:-1;;;14323:2708:14;;;;;;;;-1:-1:-1;;;;;;;;;;;14323:2708:14;;;290:2058:133;;14323:2708:14;;;;;;;;;;;;;;290:2058:133;;;;;;;;;;;;;:::i;:::-;2259:81;;;;;;;;23520:810:14;;;;;2259:81:133;;;23520:810:14;;;;;;;;11081:1934;;;23520:810;;;;290:2058:133;;;23520:810:14;;;;;;;;;;;;;;290:2058:133;;;23520:810:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;:::i;:::-;;;;2259:81;;;;;9295:1143:14;;;;;;;290:2058:133;9295:1143:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9295:1143:14;;;290:2058:133;;;;;9295:1143:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2259:81;;;;;290:2058;8037:861:14;;;;;;;;;;;;;;;;;;290:2058:133;8037:861:14;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8037:861:14;;;;290:2058:133;;;;;8037:861:14;;;;;;;290:2058:133;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;:::i;:::-;;;2259:81;;;;;20311:887:14;;;;;;;290:2058:133;20311:887:14;;;;;;;;;;;;;;;;;;;;;;;;;;290:2058:133;11081:1934:14;;;;20311:887;-1:-1:-1;;;;;;;;;;;290:2058:133;20311:887:14;;290:2058:133;;20311:887:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;;767:7;290:2058;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;-1:-1:-1;;290:2058:133;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;-1:-1:-1;;290:2058:133;;;;;;;;-1:-1:-1;290:2058:133;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;;;:::i;:::-;13632:205:14;;;;;;;;;290:2058:133;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;;;:::i;:::-;5240:148:14;;;;;;;;;290:2058:133;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;:::i;:::-;;;;2259:81;;;;;18729:946:14;;;;;;;;;;;;;;;;;;;;290:2058:133;18729:946:14;;;;;;;;290:2058:133;18729:946:14;;;;;;-1:-1:-1;;;;;;;;;;;290:2058:133;18729:946:14;;290:2058:133;;18729:946:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2259:81;;;;290:2058;6847:884:14;;;;;;;;;;;;;290:2058:133;;;6847:884:14;;;;;;;;;290:2058:133;6847:884:14;;;;;;;;;-1:-1:-1;;;;;;;;;;;6847:884:14;;;;290:2058:133;;;;;6847:884:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;869:9;290:2058;;;;;;;;;;;;;;;;;;:::i;:::-;2259:81;;;;;;;;;;;;11081:1934:14;;;;;;;;;;;;;;;;;;;;;;;;;;;290:2058:133;11081:1934:14;;;;;;;;;;;;;;;;;;-1:-1:-1;11081:1934:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11081:1934:14;-1:-1:-1;;;;;;;;;;;11081:1934:14;;;290:2058:133;;;;;11081:1934:14;;;;;;;;;;;;;;;;;;;;;;290:2058:133;;;;;;;;;;;;;;;4968:68:14;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;6128:413:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6128:413:14;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;-1:-1:-1;;290:2058:133;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2058:133;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;290:2058:133;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;11081:1934:14;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;:::o;17096:1062:14:-;17222:87;;661:5:133;290:2058;;;;;;;;;;;;;;;;;17096:1062:14;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;-1:-1:-1;;290:2058:133;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;17508:644:14;290:2058:133;17222:87:14;290:2058:133;;;17431:24:14;;17508:644;;;;;;17222:87;17508:644;;;;;;;;;;;;;;17096:1062;:::o;290:2058:133:-;;;;661:5;290:2058;;;;;661:5;290:2058;;;;;661:5;290:2058;;;661:5;290:2058;;;661:5;290:2058;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;-1:-1:-1;;290:2058:133;;;;;;;;-1:-1:-1;290:2058:133;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/shared/TERC20.sol\":\"TERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/test/shared/TERC20.sol\":{\"keccak256\":\"0xa2faa9aef871b8b542b2e66a356d96b7cd1b45e3e58bec5c4f3da100445b36ed\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://86b8a44cbe5cddef50d39cdc95d14ffc879ecbce145414c8953fd06bdf6c548e\",\"dweb:/ipfs/Qmbw6p2C7RuH1JuSLeNPW7AoGbMxxxvFz7qvd8WCjaMtHr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/shared/TERC20.sol":"TERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/test/shared/TERC20.sol":{"keccak256":"0xa2faa9aef871b8b542b2e66a356d96b7cd1b45e3e58bec5c4f3da100445b36ed","urls":["bzz-raw://86b8a44cbe5cddef50d39cdc95d14ffc879ecbce145414c8953fd06bdf6c548e","dweb:/ipfs/Qmbw6p2C7RuH1JuSLeNPW7AoGbMxxxvFz7qvd8WCjaMtHr"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":99691,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":99693,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":99695,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/test/shared/TERC20.sol","id":99906,"exportedSymbols":{"ERC20":[4533],"TERC20":[99905]},"nodeType":"SourceUnit","src":"42:2307:133","nodes":[{"id":99684,"nodeType":"PragmaDirective","src":"42:24:133","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":99686,"nodeType":"ImportDirective","src":"68:50:133","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":99906,"sourceUnit":4534,"symbolAliases":[{"foreign":{"id":99685,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"76:5:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99905,"nodeType":"ContractDefinition","src":"290:2058:133","nodes":[{"id":99691,"nodeType":"VariableDeclaration","src":"321:21:133","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"337:5:133","scope":99905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":99690,"name":"string","nodeType":"ElementaryTypeName","src":"321:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":99693,"nodeType":"VariableDeclaration","src":"348:23:133","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"364:7:133","scope":99905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":99692,"name":"string","nodeType":"ElementaryTypeName","src":"348:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":99695,"nodeType":"VariableDeclaration","src":"377:24:133","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"392:9:133","scope":99905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":99694,"name":"uint8","nodeType":"ElementaryTypeName","src":"377:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":99717,"nodeType":"FunctionDefinition","src":"408:161:133","nodes":[],"body":{"id":99716,"nodeType":"Block","src":"481:88:133","nodes":[],"statements":[{"expression":{"id":99706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99704,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99691,"src":"491:5:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99705,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99697,"src":"499:5:133","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"491:13:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":99707,"nodeType":"ExpressionStatement","src":"491:13:133"},{"expression":{"id":99710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99708,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99693,"src":"514:7:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99709,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99699,"src":"524:7:133","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"514:17:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":99711,"nodeType":"ExpressionStatement","src":"514:17:133"},{"expression":{"id":99714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99712,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99695,"src":"541:9:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99713,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99701,"src":"553:9:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"541:21:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":99715,"nodeType":"ExpressionStatement","src":"541:21:133"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":99702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99697,"mutability":"mutable","name":"name_","nameLocation":"434:5:133","nodeType":"VariableDeclaration","scope":99717,"src":"420:19:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":99696,"name":"string","nodeType":"ElementaryTypeName","src":"420:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":99699,"mutability":"mutable","name":"symbol_","nameLocation":"455:7:133","nodeType":"VariableDeclaration","scope":99717,"src":"441:21:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":99698,"name":"string","nodeType":"ElementaryTypeName","src":"441:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":99701,"mutability":"mutable","name":"decimals_","nameLocation":"470:9:133","nodeType":"VariableDeclaration","scope":99717,"src":"464:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":99700,"name":"uint8","nodeType":"ElementaryTypeName","src":"464:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"419:61:133"},"returnParameters":{"id":99703,"nodeType":"ParameterList","parameters":[],"src":"481:0:133"},"scope":99905,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":99726,"nodeType":"FunctionDefinition","src":"575:98:133","nodes":[],"body":{"id":99725,"nodeType":"Block","src":"644:29:133","nodes":[],"statements":[{"expression":{"id":99723,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99691,"src":"661:5:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":99722,"id":99724,"nodeType":"Return","src":"654:12:133"}]},"baseFunctions":[4209],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"584:4:133","overrides":{"id":99719,"nodeType":"OverrideSpecifier","overrides":[],"src":"611:8:133"},"parameters":{"id":99718,"nodeType":"ParameterList","parameters":[],"src":"588:2:133"},"returnParameters":{"id":99722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99726,"src":"629:13:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":99720,"name":"string","nodeType":"ElementaryTypeName","src":"629:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"628:15:133"},"scope":99905,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":99735,"nodeType":"FunctionDefinition","src":"679:102:133","nodes":[],"body":{"id":99734,"nodeType":"Block","src":"750:31:133","nodes":[],"statements":[{"expression":{"id":99732,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99693,"src":"767:7:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":99731,"id":99733,"nodeType":"Return","src":"760:14:133"}]},"baseFunctions":[4215],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"688:6:133","overrides":{"id":99728,"nodeType":"OverrideSpecifier","overrides":[],"src":"717:8:133"},"parameters":{"id":99727,"nodeType":"ParameterList","parameters":[],"src":"694:2:133"},"returnParameters":{"id":99731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99730,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99735,"src":"735:13:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":99729,"name":"string","nodeType":"ElementaryTypeName","src":"735:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"734:15:133"},"scope":99905,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":99744,"nodeType":"FunctionDefinition","src":"787:98:133","nodes":[],"body":{"id":99743,"nodeType":"Block","src":"852:33:133","nodes":[],"statements":[{"expression":{"id":99741,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99695,"src":"869:9:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":99740,"id":99742,"nodeType":"Return","src":"862:16:133"}]},"baseFunctions":[4224],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"796:8:133","overrides":{"id":99737,"nodeType":"OverrideSpecifier","overrides":[],"src":"827:8:133"},"parameters":{"id":99736,"nodeType":"ParameterList","parameters":[],"src":"804:2:133"},"returnParameters":{"id":99740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99744,"src":"845:5:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":99738,"name":"uint8","nodeType":"ElementaryTypeName","src":"845:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"844:7:133"},"scope":99905,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":99759,"nodeType":"FunctionDefinition","src":"891:102:133","nodes":[],"body":{"id":99758,"nodeType":"Block","src":"947:46:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99753,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99746,"src":"975:2:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99752,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"963:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"963:15:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99755,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99748,"src":"980:5:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99751,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4434,"src":"957:5:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":99756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"957:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99757,"nodeType":"ExpressionStatement","src":"957:29:133"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"900:4:133","parameters":{"id":99749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99746,"mutability":"mutable","name":"to","nameLocation":"913:2:133","nodeType":"VariableDeclaration","scope":99759,"src":"905:10:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99745,"name":"address","nodeType":"ElementaryTypeName","src":"905:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99748,"mutability":"mutable","name":"value","nameLocation":"925:5:133","nodeType":"VariableDeclaration","scope":99759,"src":"917:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99747,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"904:27:133"},"returnParameters":{"id":99750,"nodeType":"ParameterList","parameters":[],"src":"947:0:133"},"scope":99905,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99774,"nodeType":"FunctionDefinition","src":"999:106:133","nodes":[],"body":{"id":99773,"nodeType":"Block","src":"1057:48:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99768,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99761,"src":"1085:4:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99767,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"1073:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1073:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99770,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99763,"src":"1092:5:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99766,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4462,"src":"1067:5:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":99771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1067:31:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99772,"nodeType":"ExpressionStatement","src":"1067:31:133"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1008:4:133","parameters":{"id":99764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99761,"mutability":"mutable","name":"from","nameLocation":"1021:4:133","nodeType":"VariableDeclaration","scope":99774,"src":"1013:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99760,"name":"address","nodeType":"ElementaryTypeName","src":"1013:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99763,"mutability":"mutable","name":"value","nameLocation":"1035:5:133","nodeType":"VariableDeclaration","scope":99774,"src":"1027:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99762,"name":"uint256","nodeType":"ElementaryTypeName","src":"1027:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1012:29:133"},"returnParameters":{"id":99765,"nodeType":"ParameterList","parameters":[],"src":"1057:0:133"},"scope":99905,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99794,"nodeType":"FunctionDefinition","src":"1111:151:133","nodes":[],"body":{"id":99793,"nodeType":"Block","src":"1192:70:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99785,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99776,"src":"1224:4:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99784,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"1212:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":99788,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99778,"src":"1243:2:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99787,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"1231:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1231:15:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99790,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99780,"src":"1248:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99783,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4486,"src":"1202:9:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":99791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1202:53:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99792,"nodeType":"ExpressionStatement","src":"1202:53:133"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1120:14:133","parameters":{"id":99781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99776,"mutability":"mutable","name":"from","nameLocation":"1143:4:133","nodeType":"VariableDeclaration","scope":99794,"src":"1135:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99775,"name":"address","nodeType":"ElementaryTypeName","src":"1135:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99778,"mutability":"mutable","name":"to","nameLocation":"1157:2:133","nodeType":"VariableDeclaration","scope":99794,"src":"1149:10:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99777,"name":"address","nodeType":"ElementaryTypeName","src":"1149:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99780,"mutability":"mutable","name":"amount","nameLocation":"1169:6:133","nodeType":"VariableDeclaration","scope":99794,"src":"1161:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99779,"name":"uint256","nodeType":"ElementaryTypeName","src":"1161:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1134:42:133"},"returnParameters":{"id":99782,"nodeType":"ParameterList","parameters":[],"src":"1192:0:133"},"scope":99905,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99814,"nodeType":"FunctionDefinition","src":"1268:175:133","nodes":[],"body":{"id":99813,"nodeType":"Block","src":"1361:82:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99805,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99796,"src":"1399:5:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99804,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"1387:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1387:18:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":99808,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99798,"src":"1419:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99807,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"1407:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1407:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99810,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99800,"src":"1429:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99803,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"1371:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":99811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1371:65:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99812,"nodeType":"ExpressionStatement","src":"1371:65:133"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1277:20:133","parameters":{"id":99801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99796,"mutability":"mutable","name":"owner","nameLocation":"1306:5:133","nodeType":"VariableDeclaration","scope":99814,"src":"1298:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99795,"name":"address","nodeType":"ElementaryTypeName","src":"1298:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99798,"mutability":"mutable","name":"spender","nameLocation":"1321:7:133","nodeType":"VariableDeclaration","scope":99814,"src":"1313:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99797,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99800,"mutability":"mutable","name":"amount","nameLocation":"1338:6:133","nodeType":"VariableDeclaration","scope":99814,"src":"1330:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99799,"name":"uint256","nodeType":"ElementaryTypeName","src":"1330:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1297:48:133"},"returnParameters":{"id":99802,"nodeType":"ParameterList","parameters":[],"src":"1361:0:133"},"scope":99905,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99833,"nodeType":"FunctionDefinition","src":"1449:148:133","nodes":[],"body":{"id":99832,"nodeType":"Block","src":"1534:63:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99827,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99816,"src":"1578:2:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99826,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"1566:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1566:15:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99829,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99818,"src":"1583:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99824,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1551:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$99905_$","typeString":"type(contract super TERC20)"}},"id":99825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1557:8:133","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4324,"src":"1551:14:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":99830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1551:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":99823,"id":99831,"nodeType":"Return","src":"1544:46:133"}]},"baseFunctions":[4324],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1458:8:133","overrides":{"id":99820,"nodeType":"OverrideSpecifier","overrides":[],"src":"1510:8:133"},"parameters":{"id":99819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99816,"mutability":"mutable","name":"to","nameLocation":"1475:2:133","nodeType":"VariableDeclaration","scope":99833,"src":"1467:10:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99815,"name":"address","nodeType":"ElementaryTypeName","src":"1467:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99818,"mutability":"mutable","name":"amount","nameLocation":"1487:6:133","nodeType":"VariableDeclaration","scope":99833,"src":"1479:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99817,"name":"uint256","nodeType":"ElementaryTypeName","src":"1479:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1466:28:133"},"returnParameters":{"id":99823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99822,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99833,"src":"1528:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99821,"name":"bool","nodeType":"ElementaryTypeName","src":"1528:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1527:6:133"},"scope":99905,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99857,"nodeType":"FunctionDefinition","src":"1603:189:133","nodes":[],"body":{"id":99856,"nodeType":"Block","src":"1706:86:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99848,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99835,"src":"1754:4:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99847,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"1742:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1742:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":99851,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99837,"src":"1773:2:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99850,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"1761:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1761:15:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99853,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99839,"src":"1778:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99845,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1723:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$99905_$","typeString":"type(contract super TERC20)"}},"id":99846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1729:12:133","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4352,"src":"1723:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":99854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1723:62:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":99844,"id":99855,"nodeType":"Return","src":"1716:69:133"}]},"baseFunctions":[4352],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1612:12:133","overrides":{"id":99841,"nodeType":"OverrideSpecifier","overrides":[],"src":"1682:8:133"},"parameters":{"id":99840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99835,"mutability":"mutable","name":"from","nameLocation":"1633:4:133","nodeType":"VariableDeclaration","scope":99857,"src":"1625:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99834,"name":"address","nodeType":"ElementaryTypeName","src":"1625:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99837,"mutability":"mutable","name":"to","nameLocation":"1647:2:133","nodeType":"VariableDeclaration","scope":99857,"src":"1639:10:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99836,"name":"address","nodeType":"ElementaryTypeName","src":"1639:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99839,"mutability":"mutable","name":"amount","nameLocation":"1659:6:133","nodeType":"VariableDeclaration","scope":99857,"src":"1651:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99838,"name":"uint256","nodeType":"ElementaryTypeName","src":"1651:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1624:42:133"},"returnParameters":{"id":99844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99857,"src":"1700:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99842,"name":"bool","nodeType":"ElementaryTypeName","src":"1700:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1699:6:133"},"scope":99905,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99876,"nodeType":"FunctionDefinition","src":"1798:184:133","nodes":[],"body":{"id":99875,"nodeType":"Block","src":"1901:81:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99870,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99859,"src":"1954:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99869,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"1942:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1942:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99872,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99861,"src":"1964:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99867,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1918:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$99905_$","typeString":"type(contract super TERC20)"}},"id":99868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1924:17:133","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1918:23:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":99873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:57:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":99866,"id":99874,"nodeType":"Return","src":"1911:64:133"}]},"baseFunctions":[4282],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1807:17:133","overrides":{"id":99863,"nodeType":"OverrideSpecifier","overrides":[],"src":"1877:8:133"},"parameters":{"id":99862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99859,"mutability":"mutable","name":"spender","nameLocation":"1833:7:133","nodeType":"VariableDeclaration","scope":99876,"src":"1825:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99858,"name":"address","nodeType":"ElementaryTypeName","src":"1825:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99861,"mutability":"mutable","name":"difference","nameLocation":"1850:10:133","nodeType":"VariableDeclaration","scope":99876,"src":"1842:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99860,"name":"uint256","nodeType":"ElementaryTypeName","src":"1842:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1824:37:133"},"returnParameters":{"id":99866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99876,"src":"1895:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99864,"name":"bool","nodeType":"ElementaryTypeName","src":"1895:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1894:6:133"},"scope":99905,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99895,"nodeType":"FunctionDefinition","src":"1988:184:133","nodes":[],"body":{"id":99894,"nodeType":"Block","src":"2091:81:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99889,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99878,"src":"2144:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99888,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99904,"src":"2132:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2132:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99891,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99880,"src":"2154:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99886,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2108:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$99905_$","typeString":"type(contract super TERC20)"}},"id":99887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2114:17:133","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4296,"src":"2108:23:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":99892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2108:57:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":99885,"id":99893,"nodeType":"Return","src":"2101:64:133"}]},"baseFunctions":[4296],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1997:17:133","overrides":{"id":99882,"nodeType":"OverrideSpecifier","overrides":[],"src":"2067:8:133"},"parameters":{"id":99881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99878,"mutability":"mutable","name":"spender","nameLocation":"2023:7:133","nodeType":"VariableDeclaration","scope":99895,"src":"2015:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99877,"name":"address","nodeType":"ElementaryTypeName","src":"2015:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99880,"mutability":"mutable","name":"difference","nameLocation":"2040:10:133","nodeType":"VariableDeclaration","scope":99895,"src":"2032:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99879,"name":"uint256","nodeType":"ElementaryTypeName","src":"2032:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2014:37:133"},"returnParameters":{"id":99885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99895,"src":"2085:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99883,"name":"bool","nodeType":"ElementaryTypeName","src":"2085:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2084:6:133"},"scope":99905,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99904,"nodeType":"FunctionDefinition","src":"2178:168:133","nodes":[],"body":{"id":99903,"nodeType":"Block","src":"2249:97:133","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2284:56:133","statements":[{"nodeType":"YulAssignment","src":"2298:32:133","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2311:1:133"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2318:3:133","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2323:3:133"},"nodeType":"YulFunctionCall","src":"2323:5:133"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2314:3:133"},"nodeType":"YulFunctionCall","src":"2314:15:133"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2308:2:133"},"nodeType":"YulFunctionCall","src":"2308:22:133"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2298:6:133"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":99897,"isOffset":false,"isSlot":false,"src":"2311:1:133","valueSize":1},{"declaration":99900,"isOffset":false,"isSlot":false,"src":"2298:6:133","valueSize":1}],"flags":["memory-safe"],"id":99902,"nodeType":"InlineAssembly","src":"2259:81:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2187:11:133","parameters":{"id":99898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99897,"mutability":"mutable","name":"a","nameLocation":"2207:1:133","nodeType":"VariableDeclaration","scope":99904,"src":"2199:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99896,"name":"address","nodeType":"ElementaryTypeName","src":"2199:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2198:11:133"},"returnParameters":{"id":99901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99900,"mutability":"mutable","name":"result","nameLocation":"2241:6:133","nodeType":"VariableDeclaration","scope":99904,"src":"2233:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99899,"name":"address","nodeType":"ElementaryTypeName","src":"2233:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2232:16:133"},"scope":99905,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":99688,"name":"ERC20","nameLocations":["309:5:133"],"nodeType":"IdentifierPath","referencedDeclaration":4533,"src":"309:5:133"},"id":99689,"nodeType":"InheritanceSpecifier","src":"309:5:133"}],"canonicalName":"TERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":99687,"nodeType":"StructuredDocumentation","src":"120:170:133","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[99905,4533],"name":"TERC20","nameLocation":"299:6:133","scope":99906,"usedErrors":[4143,4146,4149,4152,4155,4158,4161]}],"license":"AGPL-3.0-only"},"id":133}
\ No newline at end of file
+{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x6080604052346200033a5762000f9d803803806200001d816200033f565b9283398101906060818303126200033a5780516001600160401b03908181116200033a57836200004f91840162000365565b90602093848401518281116200033a576040916200006f91860162000365565b9301519260ff84168094036200033a57825190828211620003245760008054926001958685811c9516801562000319575b8986101462000305578190601f95868111620002b2575b5089908683116001146200024e57849262000242575b5050600019600383901b1c191690861b1781555b81519384116200022e5784548581811c9116801562000223575b888210146200020f57838111620001c7575b5086928411600114620001615783949596509262000155575b5050600019600383901b1c191690821b1790555b60ff196002541617600255604051610bc59081620003d88239f35b01519050388062000126565b9190601f1984169685845280842093905b888210620001af575050838596971062000195575b505050811b0190556200013a565b015160001960f88460031b161c1916905538808062000187565b80878596829496860151815501950193019062000172565b8582528782208480870160051c8201928a881062000205575b0160051c019086905b828110620001f95750506200010d565b838155018690620001e9565b92508192620001e0565b634e487b7160e01b82526022600452602482fd5b90607f1690620000fb565b634e487b7160e01b81526041600452602490fd5b015190503880620000cd565b8480528a85208994509190601f198416865b8d8282106200029b575050841162000281575b505050811b018155620000e1565b015160001960f88460031b161c1916905538808062000273565b8385015186558c9790950194938401930162000260565b9091508380528984208680850160051c8201928c8610620002fb575b918a91869594930160051c01915b828110620002ec575050620000b7565b8681558594508a9101620002dc565b92508192620002ce565b634e487b7160e01b83526022600452602483fd5b94607f1694620000a0565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200032457604052565b919080601f840112156200033a5782516001600160401b03811162000324576020906200039b601f8201601f191683016200033f565b928184528282870101116200033a5760005b818110620003c357508260009394955001015290565b8581018301518482018401528201620003ad56fe60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220020c3e401ee79a2785daa9c8c32b459d1ca4f54558fa174b0faddeea9d0070c964736f6c63430008130033","sourceMap":"290:2058:133:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2058:133;;;;;;;;;;;;;;;;541:21;290:2058;;;541:21;290:2058;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;-1:-1:-1;;290:2058:133;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;-1:-1:-1;290:2058:133;;-1:-1:-1;290:2058:133;;;;;;;;;-1:-1:-1;;290:2058:133;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220020c3e401ee79a2785daa9c8c32b459d1ca4f54558fa174b0faddeea9d0070c964736f6c63430008130033","sourceMap":"290:2058:133:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934:14;290:2058:133;11081:1934:14;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2259:81;;;;;;;;;;;;;21786:1164:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934;290:2058:133;11081:1934:14;;;;21786:1164;-1:-1:-1;;;;;;;;;;;21786:1164:14;;;290:2058:133;;21786:1164:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;5674:184:14;;;;;;;;;;290:2058:133;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;14252:18:14;;:::i;:::-;14323:2708;;;;;;;;;290:2058:133;11081:1934:14;290:2058:133;11081:1934:14;;;;14323:2708;;;;;;;;;;;;290:2058:133;14323:2708:14;;;;;;;;290:2058:133;14323:2708:14;;;;;;;;;;;;;;;;;290:2058:133;14323:2708:14;;;;;;290:2058:133;14323:2708:14;;;11081:1934;14323:2708;;;;;;;;;;;;;;;;290:2058:133;14323:2708:14;;;290:2058:133;;14323:2708:14;;290:2058:133;;;14323:2708:14;;;290:2058:133;14323:2708:14;290:2058:133;14323:2708:14;;;;;;;;;-1:-1:-1;;;14323:2708:14;;;;;;;;-1:-1:-1;;;;;;;;;;;14323:2708:14;;;290:2058:133;;14323:2708:14;;;;;;;;;;;;;;290:2058:133;;;;;;;;;;;;;:::i;:::-;2259:81;;;;;;;;23520:810:14;;;;;2259:81:133;;;23520:810:14;;;;;;;;11081:1934;;;23520:810;;;;290:2058:133;;;23520:810:14;;;;;;;;;;;;;;290:2058:133;;;23520:810:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;:::i;:::-;;;;2259:81;;;;;9295:1143:14;;;;;;;290:2058:133;9295:1143:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9295:1143:14;;;290:2058:133;;;;;9295:1143:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2259:81;;;;;290:2058;8037:861:14;;;;;;;;;;;;;;;;;;290:2058:133;8037:861:14;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8037:861:14;;;;290:2058:133;;;;;8037:861:14;;;;;;;290:2058:133;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;:::i;:::-;;;2259:81;;;;;20311:887:14;;;;;;;290:2058:133;20311:887:14;;;;;;;;;;;;;;;;;;;;;;;;;;290:2058:133;11081:1934:14;;;;20311:887;-1:-1:-1;;;;;;;;;;;290:2058:133;20311:887:14;;290:2058:133;;20311:887:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;;767:7;290:2058;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;-1:-1:-1;;290:2058:133;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;-1:-1:-1;;290:2058:133;;;;;;;;-1:-1:-1;290:2058:133;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;;;:::i;:::-;13632:205:14;;;;;;;;;290:2058:133;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;;;:::i;:::-;5240:148:14;;;;;;;;;290:2058:133;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;;;;:::i;:::-;;;;2259:81;;;;;18729:946:14;;;;;;;;;;;;;;;;;;;;290:2058:133;18729:946:14;;;;;;;;290:2058:133;18729:946:14;;;;;;-1:-1:-1;;;;;;;;;;;290:2058:133;18729:946:14;;290:2058:133;;18729:946:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2259:81;;;;290:2058;6847:884:14;;;;;;;;;;;;;290:2058:133;;;6847:884:14;;;;;;;;;290:2058:133;6847:884:14;;;;;;;;;-1:-1:-1;;;;;;;;;;;6847:884:14;;;;290:2058:133;;;;;6847:884:14;;;;;;290:2058:133;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;869:9;290:2058;;;;;;;;;;;;;;;;;;:::i;:::-;2259:81;;;;;;;;;;;;11081:1934:14;;;;;;;;;;;;;;;;;;;;;;;;;;;290:2058:133;11081:1934:14;;;;;;;;;;;;;;;;;;-1:-1:-1;11081:1934:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11081:1934:14;-1:-1:-1;;;;;;;;;;;11081:1934:14;;;290:2058:133;;;;;11081:1934:14;;;;;;;;;;;;;;;;;;;;;;290:2058:133;;;;;;;;;;;;;;;4968:68:14;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;6128:413:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6128:413:14;;;;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;-1:-1:-1;;290:2058:133;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2058:133;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;290:2058:133;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;11081:1934:14;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;:::o;17096:1062:14:-;17222:87;;661:5:133;290:2058;;;;;;;;;;;;;;;;;17096:1062:14;290:2058:133;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:133;;;;;-1:-1:-1;;290:2058:133;;;;-1:-1:-1;;;;;290:2058:133;;;;;;;;17508:644:14;290:2058:133;17222:87:14;290:2058:133;;;17431:24:14;;17508:644;;;;;;17222:87;17508:644;;;;;;;;;;;;;;17096:1062;:::o;290:2058:133:-;;;;661:5;290:2058;;;;;661:5;290:2058;;;;;661:5;290:2058;;;661:5;290:2058;;;661:5;290:2058;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:133;;;-1:-1:-1;;290:2058:133;;;;;;;;-1:-1:-1;290:2058:133;;;;;;-1:-1:-1;;;290:2058:133;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/shared/TERC20.sol\":\"TERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/test/shared/TERC20.sol\":{\"keccak256\":\"0xa2faa9aef871b8b542b2e66a356d96b7cd1b45e3e58bec5c4f3da100445b36ed\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://86b8a44cbe5cddef50d39cdc95d14ffc879ecbce145414c8953fd06bdf6c548e\",\"dweb:/ipfs/Qmbw6p2C7RuH1JuSLeNPW7AoGbMxxxvFz7qvd8WCjaMtHr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/shared/TERC20.sol":"TERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/test/shared/TERC20.sol":{"keccak256":"0xa2faa9aef871b8b542b2e66a356d96b7cd1b45e3e58bec5c4f3da100445b36ed","urls":["bzz-raw://86b8a44cbe5cddef50d39cdc95d14ffc879ecbce145414c8953fd06bdf6c548e","dweb:/ipfs/Qmbw6p2C7RuH1JuSLeNPW7AoGbMxxxvFz7qvd8WCjaMtHr"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":99751,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":99753,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":99755,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/test/shared/TERC20.sol","id":99966,"exportedSymbols":{"ERC20":[4533],"TERC20":[99965]},"nodeType":"SourceUnit","src":"42:2307:133","nodes":[{"id":99744,"nodeType":"PragmaDirective","src":"42:24:133","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":99746,"nodeType":"ImportDirective","src":"68:50:133","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":99966,"sourceUnit":4534,"symbolAliases":[{"foreign":{"id":99745,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"76:5:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99965,"nodeType":"ContractDefinition","src":"290:2058:133","nodes":[{"id":99751,"nodeType":"VariableDeclaration","src":"321:21:133","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"337:5:133","scope":99965,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":99750,"name":"string","nodeType":"ElementaryTypeName","src":"321:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":99753,"nodeType":"VariableDeclaration","src":"348:23:133","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"364:7:133","scope":99965,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":99752,"name":"string","nodeType":"ElementaryTypeName","src":"348:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":99755,"nodeType":"VariableDeclaration","src":"377:24:133","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"392:9:133","scope":99965,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":99754,"name":"uint8","nodeType":"ElementaryTypeName","src":"377:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":99777,"nodeType":"FunctionDefinition","src":"408:161:133","nodes":[],"body":{"id":99776,"nodeType":"Block","src":"481:88:133","nodes":[],"statements":[{"expression":{"id":99766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99764,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99751,"src":"491:5:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99765,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99757,"src":"499:5:133","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"491:13:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":99767,"nodeType":"ExpressionStatement","src":"491:13:133"},{"expression":{"id":99770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99768,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99753,"src":"514:7:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99769,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99759,"src":"524:7:133","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"514:17:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":99771,"nodeType":"ExpressionStatement","src":"514:17:133"},{"expression":{"id":99774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99772,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99755,"src":"541:9:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99773,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99761,"src":"553:9:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"541:21:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":99775,"nodeType":"ExpressionStatement","src":"541:21:133"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":99762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99757,"mutability":"mutable","name":"name_","nameLocation":"434:5:133","nodeType":"VariableDeclaration","scope":99777,"src":"420:19:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":99756,"name":"string","nodeType":"ElementaryTypeName","src":"420:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":99759,"mutability":"mutable","name":"symbol_","nameLocation":"455:7:133","nodeType":"VariableDeclaration","scope":99777,"src":"441:21:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":99758,"name":"string","nodeType":"ElementaryTypeName","src":"441:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":99761,"mutability":"mutable","name":"decimals_","nameLocation":"470:9:133","nodeType":"VariableDeclaration","scope":99777,"src":"464:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":99760,"name":"uint8","nodeType":"ElementaryTypeName","src":"464:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"419:61:133"},"returnParameters":{"id":99763,"nodeType":"ParameterList","parameters":[],"src":"481:0:133"},"scope":99965,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":99786,"nodeType":"FunctionDefinition","src":"575:98:133","nodes":[],"body":{"id":99785,"nodeType":"Block","src":"644:29:133","nodes":[],"statements":[{"expression":{"id":99783,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99751,"src":"661:5:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":99782,"id":99784,"nodeType":"Return","src":"654:12:133"}]},"baseFunctions":[4209],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"584:4:133","overrides":{"id":99779,"nodeType":"OverrideSpecifier","overrides":[],"src":"611:8:133"},"parameters":{"id":99778,"nodeType":"ParameterList","parameters":[],"src":"588:2:133"},"returnParameters":{"id":99782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99786,"src":"629:13:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":99780,"name":"string","nodeType":"ElementaryTypeName","src":"629:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"628:15:133"},"scope":99965,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":99795,"nodeType":"FunctionDefinition","src":"679:102:133","nodes":[],"body":{"id":99794,"nodeType":"Block","src":"750:31:133","nodes":[],"statements":[{"expression":{"id":99792,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99753,"src":"767:7:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":99791,"id":99793,"nodeType":"Return","src":"760:14:133"}]},"baseFunctions":[4215],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"688:6:133","overrides":{"id":99788,"nodeType":"OverrideSpecifier","overrides":[],"src":"717:8:133"},"parameters":{"id":99787,"nodeType":"ParameterList","parameters":[],"src":"694:2:133"},"returnParameters":{"id":99791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99795,"src":"735:13:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":99789,"name":"string","nodeType":"ElementaryTypeName","src":"735:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"734:15:133"},"scope":99965,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":99804,"nodeType":"FunctionDefinition","src":"787:98:133","nodes":[],"body":{"id":99803,"nodeType":"Block","src":"852:33:133","nodes":[],"statements":[{"expression":{"id":99801,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99755,"src":"869:9:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":99800,"id":99802,"nodeType":"Return","src":"862:16:133"}]},"baseFunctions":[4224],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"796:8:133","overrides":{"id":99797,"nodeType":"OverrideSpecifier","overrides":[],"src":"827:8:133"},"parameters":{"id":99796,"nodeType":"ParameterList","parameters":[],"src":"804:2:133"},"returnParameters":{"id":99800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99804,"src":"845:5:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":99798,"name":"uint8","nodeType":"ElementaryTypeName","src":"845:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"844:7:133"},"scope":99965,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":99819,"nodeType":"FunctionDefinition","src":"891:102:133","nodes":[],"body":{"id":99818,"nodeType":"Block","src":"947:46:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99813,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99806,"src":"975:2:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99812,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"963:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"963:15:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99815,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99808,"src":"980:5:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99811,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4434,"src":"957:5:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":99816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"957:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99817,"nodeType":"ExpressionStatement","src":"957:29:133"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"900:4:133","parameters":{"id":99809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99806,"mutability":"mutable","name":"to","nameLocation":"913:2:133","nodeType":"VariableDeclaration","scope":99819,"src":"905:10:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99805,"name":"address","nodeType":"ElementaryTypeName","src":"905:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99808,"mutability":"mutable","name":"value","nameLocation":"925:5:133","nodeType":"VariableDeclaration","scope":99819,"src":"917:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99807,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"904:27:133"},"returnParameters":{"id":99810,"nodeType":"ParameterList","parameters":[],"src":"947:0:133"},"scope":99965,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99834,"nodeType":"FunctionDefinition","src":"999:106:133","nodes":[],"body":{"id":99833,"nodeType":"Block","src":"1057:48:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99828,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99821,"src":"1085:4:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99827,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"1073:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1073:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99830,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99823,"src":"1092:5:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99826,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4462,"src":"1067:5:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":99831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1067:31:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99832,"nodeType":"ExpressionStatement","src":"1067:31:133"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1008:4:133","parameters":{"id":99824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99821,"mutability":"mutable","name":"from","nameLocation":"1021:4:133","nodeType":"VariableDeclaration","scope":99834,"src":"1013:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99820,"name":"address","nodeType":"ElementaryTypeName","src":"1013:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99823,"mutability":"mutable","name":"value","nameLocation":"1035:5:133","nodeType":"VariableDeclaration","scope":99834,"src":"1027:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99822,"name":"uint256","nodeType":"ElementaryTypeName","src":"1027:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1012:29:133"},"returnParameters":{"id":99825,"nodeType":"ParameterList","parameters":[],"src":"1057:0:133"},"scope":99965,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99854,"nodeType":"FunctionDefinition","src":"1111:151:133","nodes":[],"body":{"id":99853,"nodeType":"Block","src":"1192:70:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99845,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99836,"src":"1224:4:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99844,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"1212:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":99848,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99838,"src":"1243:2:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99847,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"1231:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1231:15:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99850,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99840,"src":"1248:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99843,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4486,"src":"1202:9:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":99851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1202:53:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99852,"nodeType":"ExpressionStatement","src":"1202:53:133"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1120:14:133","parameters":{"id":99841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99836,"mutability":"mutable","name":"from","nameLocation":"1143:4:133","nodeType":"VariableDeclaration","scope":99854,"src":"1135:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99835,"name":"address","nodeType":"ElementaryTypeName","src":"1135:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99838,"mutability":"mutable","name":"to","nameLocation":"1157:2:133","nodeType":"VariableDeclaration","scope":99854,"src":"1149:10:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99837,"name":"address","nodeType":"ElementaryTypeName","src":"1149:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99840,"mutability":"mutable","name":"amount","nameLocation":"1169:6:133","nodeType":"VariableDeclaration","scope":99854,"src":"1161:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99839,"name":"uint256","nodeType":"ElementaryTypeName","src":"1161:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1134:42:133"},"returnParameters":{"id":99842,"nodeType":"ParameterList","parameters":[],"src":"1192:0:133"},"scope":99965,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99874,"nodeType":"FunctionDefinition","src":"1268:175:133","nodes":[],"body":{"id":99873,"nodeType":"Block","src":"1361:82:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99865,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99856,"src":"1399:5:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99864,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"1387:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1387:18:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":99868,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99858,"src":"1419:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99867,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"1407:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1407:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99870,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99860,"src":"1429:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99863,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"1371:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":99871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1371:65:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99872,"nodeType":"ExpressionStatement","src":"1371:65:133"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1277:20:133","parameters":{"id":99861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99856,"mutability":"mutable","name":"owner","nameLocation":"1306:5:133","nodeType":"VariableDeclaration","scope":99874,"src":"1298:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99855,"name":"address","nodeType":"ElementaryTypeName","src":"1298:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99858,"mutability":"mutable","name":"spender","nameLocation":"1321:7:133","nodeType":"VariableDeclaration","scope":99874,"src":"1313:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99857,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99860,"mutability":"mutable","name":"amount","nameLocation":"1338:6:133","nodeType":"VariableDeclaration","scope":99874,"src":"1330:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99859,"name":"uint256","nodeType":"ElementaryTypeName","src":"1330:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1297:48:133"},"returnParameters":{"id":99862,"nodeType":"ParameterList","parameters":[],"src":"1361:0:133"},"scope":99965,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99893,"nodeType":"FunctionDefinition","src":"1449:148:133","nodes":[],"body":{"id":99892,"nodeType":"Block","src":"1534:63:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99887,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99876,"src":"1578:2:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99886,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"1566:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1566:15:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99889,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99878,"src":"1583:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99884,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1551:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$99965_$","typeString":"type(contract super TERC20)"}},"id":99885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1557:8:133","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4324,"src":"1551:14:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":99890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1551:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":99883,"id":99891,"nodeType":"Return","src":"1544:46:133"}]},"baseFunctions":[4324],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1458:8:133","overrides":{"id":99880,"nodeType":"OverrideSpecifier","overrides":[],"src":"1510:8:133"},"parameters":{"id":99879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99876,"mutability":"mutable","name":"to","nameLocation":"1475:2:133","nodeType":"VariableDeclaration","scope":99893,"src":"1467:10:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99875,"name":"address","nodeType":"ElementaryTypeName","src":"1467:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99878,"mutability":"mutable","name":"amount","nameLocation":"1487:6:133","nodeType":"VariableDeclaration","scope":99893,"src":"1479:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99877,"name":"uint256","nodeType":"ElementaryTypeName","src":"1479:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1466:28:133"},"returnParameters":{"id":99883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99882,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99893,"src":"1528:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99881,"name":"bool","nodeType":"ElementaryTypeName","src":"1528:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1527:6:133"},"scope":99965,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99917,"nodeType":"FunctionDefinition","src":"1603:189:133","nodes":[],"body":{"id":99916,"nodeType":"Block","src":"1706:86:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99908,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99895,"src":"1754:4:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99907,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"1742:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1742:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":99911,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99897,"src":"1773:2:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99910,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"1761:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1761:15:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99913,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99899,"src":"1778:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99905,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1723:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$99965_$","typeString":"type(contract super TERC20)"}},"id":99906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1729:12:133","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4352,"src":"1723:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":99914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1723:62:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":99904,"id":99915,"nodeType":"Return","src":"1716:69:133"}]},"baseFunctions":[4352],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1612:12:133","overrides":{"id":99901,"nodeType":"OverrideSpecifier","overrides":[],"src":"1682:8:133"},"parameters":{"id":99900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99895,"mutability":"mutable","name":"from","nameLocation":"1633:4:133","nodeType":"VariableDeclaration","scope":99917,"src":"1625:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99894,"name":"address","nodeType":"ElementaryTypeName","src":"1625:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99897,"mutability":"mutable","name":"to","nameLocation":"1647:2:133","nodeType":"VariableDeclaration","scope":99917,"src":"1639:10:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99896,"name":"address","nodeType":"ElementaryTypeName","src":"1639:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99899,"mutability":"mutable","name":"amount","nameLocation":"1659:6:133","nodeType":"VariableDeclaration","scope":99917,"src":"1651:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99898,"name":"uint256","nodeType":"ElementaryTypeName","src":"1651:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1624:42:133"},"returnParameters":{"id":99904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99903,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99917,"src":"1700:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99902,"name":"bool","nodeType":"ElementaryTypeName","src":"1700:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1699:6:133"},"scope":99965,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99936,"nodeType":"FunctionDefinition","src":"1798:184:133","nodes":[],"body":{"id":99935,"nodeType":"Block","src":"1901:81:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99930,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99919,"src":"1954:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99929,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"1942:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1942:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99932,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99921,"src":"1964:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99927,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1918:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$99965_$","typeString":"type(contract super TERC20)"}},"id":99928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1924:17:133","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1918:23:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":99933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:57:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":99926,"id":99934,"nodeType":"Return","src":"1911:64:133"}]},"baseFunctions":[4282],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1807:17:133","overrides":{"id":99923,"nodeType":"OverrideSpecifier","overrides":[],"src":"1877:8:133"},"parameters":{"id":99922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99919,"mutability":"mutable","name":"spender","nameLocation":"1833:7:133","nodeType":"VariableDeclaration","scope":99936,"src":"1825:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99918,"name":"address","nodeType":"ElementaryTypeName","src":"1825:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99921,"mutability":"mutable","name":"difference","nameLocation":"1850:10:133","nodeType":"VariableDeclaration","scope":99936,"src":"1842:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99920,"name":"uint256","nodeType":"ElementaryTypeName","src":"1842:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1824:37:133"},"returnParameters":{"id":99926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99936,"src":"1895:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99924,"name":"bool","nodeType":"ElementaryTypeName","src":"1895:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1894:6:133"},"scope":99965,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99955,"nodeType":"FunctionDefinition","src":"1988:184:133","nodes":[],"body":{"id":99954,"nodeType":"Block","src":"2091:81:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":99949,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99938,"src":"2144:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99948,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99964,"src":"2132:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":99950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2132:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99951,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99940,"src":"2154:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99946,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2108:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$99965_$","typeString":"type(contract super TERC20)"}},"id":99947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2114:17:133","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4296,"src":"2108:23:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":99952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2108:57:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":99945,"id":99953,"nodeType":"Return","src":"2101:64:133"}]},"baseFunctions":[4296],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1997:17:133","overrides":{"id":99942,"nodeType":"OverrideSpecifier","overrides":[],"src":"2067:8:133"},"parameters":{"id":99941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99938,"mutability":"mutable","name":"spender","nameLocation":"2023:7:133","nodeType":"VariableDeclaration","scope":99955,"src":"2015:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99937,"name":"address","nodeType":"ElementaryTypeName","src":"2015:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99940,"mutability":"mutable","name":"difference","nameLocation":"2040:10:133","nodeType":"VariableDeclaration","scope":99955,"src":"2032:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99939,"name":"uint256","nodeType":"ElementaryTypeName","src":"2032:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2014:37:133"},"returnParameters":{"id":99945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99944,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99955,"src":"2085:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99943,"name":"bool","nodeType":"ElementaryTypeName","src":"2085:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2084:6:133"},"scope":99965,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":99964,"nodeType":"FunctionDefinition","src":"2178:168:133","nodes":[],"body":{"id":99963,"nodeType":"Block","src":"2249:97:133","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2284:56:133","statements":[{"nodeType":"YulAssignment","src":"2298:32:133","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2311:1:133"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2318:3:133","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2323:3:133"},"nodeType":"YulFunctionCall","src":"2323:5:133"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2314:3:133"},"nodeType":"YulFunctionCall","src":"2314:15:133"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2308:2:133"},"nodeType":"YulFunctionCall","src":"2308:22:133"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2298:6:133"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":99957,"isOffset":false,"isSlot":false,"src":"2311:1:133","valueSize":1},{"declaration":99960,"isOffset":false,"isSlot":false,"src":"2298:6:133","valueSize":1}],"flags":["memory-safe"],"id":99962,"nodeType":"InlineAssembly","src":"2259:81:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2187:11:133","parameters":{"id":99958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99957,"mutability":"mutable","name":"a","nameLocation":"2207:1:133","nodeType":"VariableDeclaration","scope":99964,"src":"2199:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99956,"name":"address","nodeType":"ElementaryTypeName","src":"2199:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2198:11:133"},"returnParameters":{"id":99961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99960,"mutability":"mutable","name":"result","nameLocation":"2241:6:133","nodeType":"VariableDeclaration","scope":99964,"src":"2233:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99959,"name":"address","nodeType":"ElementaryTypeName","src":"2233:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2232:16:133"},"scope":99965,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":99748,"name":"ERC20","nameLocations":["309:5:133"],"nodeType":"IdentifierPath","referencedDeclaration":4533,"src":"309:5:133"},"id":99749,"nodeType":"InheritanceSpecifier","src":"309:5:133"}],"canonicalName":"TERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":99747,"nodeType":"StructuredDocumentation","src":"120:170:133","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[99965,4533],"name":"TERC20","nameLocation":"299:6:133","scope":99966,"usedErrors":[4143,4146,4149,4152,4155,4158,4161]}],"license":"AGPL-3.0-only"},"id":133}
\ No newline at end of file
diff --git a/pkg/subgraph/.graphclient/index.d.ts b/pkg/subgraph/.graphclient/index.d.ts
index 395b76f42..9bd292baa 100644
--- a/pkg/subgraph/.graphclient/index.d.ts
+++ b/pkg/subgraph/.graphclient/index.d.ts
@@ -3071,7 +3071,7 @@ export type getPoolDataQuery = {
registryCommunity: (Pick & {
garden: Pick;
});
- proposals: Array<(Pick & {
+ proposals: Array<(Pick & {
strategy: Pick;
})>;
})>;
diff --git a/pkg/subgraph/.graphclient/index.js b/pkg/subgraph/.graphclient/index.js
index d373326ce..ee3a31873 100644
--- a/pkg/subgraph/.graphclient/index.js
+++ b/pkg/subgraph/.graphclient/index.js
@@ -50,7 +50,7 @@ export async function getMeshOptions() {
const additionalTypeDefs = [];
const gv2Handler = new GraphqlHandler({
name: "gv2",
- config: { "endpoint": "https://api.studio.thegraph.com/proxy/70985/gv2-arbsepolia/version/latest" },
+ config: { "endpoint": "https://api.studio.thegraph.com/query/70985/gv2-ethsepolia/version/latest" },
baseDir,
cache,
pubsub,
@@ -71,28 +71,28 @@ export async function getMeshOptions() {
store: rootStore.child('bareMerger')
});
const documentHashMap = {
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetFactoriesDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetTokenGardensDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetMemberStrategyDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": IsMemberDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetMemberDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetPoolCreationDataDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetGardenDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetCommunityDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetCommunityCreationDataDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetPoolDataDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetProposalDataDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetAlloDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetStrategyByPoolDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetTokenTitleDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetCommunityTitlesDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetPoolTitlesDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetProposalTitlesDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetPassportScorerDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetPassportStrategyDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetPassportUserDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetProposalDisputesDocument,
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": GetStrategyArbitrationConfigDocument
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetFactoriesDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetTokenGardensDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetMemberStrategyDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": IsMemberDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetMemberDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetPoolCreationDataDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetGardenDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetCommunityDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetCommunityCreationDataDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetPoolDataDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetProposalDataDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetAlloDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetStrategyByPoolDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetTokenTitleDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetCommunityTitlesDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetPoolTitlesDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetProposalTitlesDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetPassportScorerDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetPassportStrategyDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetPassportUserDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetProposalDisputesDocument,
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": GetStrategyArbitrationConfigDocument
};
additionalEnvelopPlugins.push(usePersistedOperations({
getPersistedOperation(key) {
@@ -118,154 +118,154 @@ export async function getMeshOptions() {
return printWithCache(GetFactoriesDocument);
},
location: 'GetFactoriesDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetTokenGardensDocument,
get rawSDL() {
return printWithCache(GetTokenGardensDocument);
},
location: 'GetTokenGardensDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetMemberStrategyDocument,
get rawSDL() {
return printWithCache(GetMemberStrategyDocument);
},
location: 'GetMemberStrategyDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: IsMemberDocument,
get rawSDL() {
return printWithCache(IsMemberDocument);
},
location: 'IsMemberDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetMemberDocument,
get rawSDL() {
return printWithCache(GetMemberDocument);
},
location: 'GetMemberDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetPoolCreationDataDocument,
get rawSDL() {
return printWithCache(GetPoolCreationDataDocument);
},
location: 'GetPoolCreationDataDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetGardenDocument,
get rawSDL() {
return printWithCache(GetGardenDocument);
},
location: 'GetGardenDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetCommunityDocument,
get rawSDL() {
return printWithCache(GetCommunityDocument);
},
location: 'GetCommunityDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetCommunityCreationDataDocument,
get rawSDL() {
return printWithCache(GetCommunityCreationDataDocument);
},
location: 'GetCommunityCreationDataDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetPoolDataDocument,
get rawSDL() {
return printWithCache(GetPoolDataDocument);
},
location: 'GetPoolDataDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetProposalDataDocument,
get rawSDL() {
return printWithCache(GetProposalDataDocument);
},
location: 'GetProposalDataDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetAlloDocument,
get rawSDL() {
return printWithCache(GetAlloDocument);
},
location: 'GetAlloDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetStrategyByPoolDocument,
get rawSDL() {
return printWithCache(GetStrategyByPoolDocument);
},
location: 'GetStrategyByPoolDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetTokenTitleDocument,
get rawSDL() {
return printWithCache(GetTokenTitleDocument);
},
location: 'GetTokenTitleDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetCommunityTitlesDocument,
get rawSDL() {
return printWithCache(GetCommunityTitlesDocument);
},
location: 'GetCommunityTitlesDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetPoolTitlesDocument,
get rawSDL() {
return printWithCache(GetPoolTitlesDocument);
},
location: 'GetPoolTitlesDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetProposalTitlesDocument,
get rawSDL() {
return printWithCache(GetProposalTitlesDocument);
},
location: 'GetProposalTitlesDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetPassportScorerDocument,
get rawSDL() {
return printWithCache(GetPassportScorerDocument);
},
location: 'GetPassportScorerDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetPassportStrategyDocument,
get rawSDL() {
return printWithCache(GetPassportStrategyDocument);
},
location: 'GetPassportStrategyDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetPassportUserDocument,
get rawSDL() {
return printWithCache(GetPassportUserDocument);
},
location: 'GetPassportUserDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetProposalDisputesDocument,
get rawSDL() {
return printWithCache(GetProposalDisputesDocument);
},
location: 'GetProposalDisputesDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}, {
document: GetStrategyArbitrationConfigDocument,
get rawSDL() {
return printWithCache(GetStrategyArbitrationConfigDocument);
},
location: 'GetStrategyArbitrationConfigDocument.graphql',
- sha256Hash: 'df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5'
+ sha256Hash: '492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da'
}
];
},
@@ -611,6 +611,7 @@ export const getPoolDataDocument = gql `
proposalStatus
stakedAmount
convictionLast
+ blockLast
threshold
strategy {
id
diff --git a/pkg/subgraph/.graphclient/persisted_operations.json b/pkg/subgraph/.graphclient/persisted_operations.json
index 45d54abe4..d5d17a1ee 100644
--- a/pkg/subgraph/.graphclient/persisted_operations.json
+++ b/pkg/subgraph/.graphclient/persisted_operations.json
@@ -1,3 +1,3 @@
{
- "df7096531b59bf5a989f6908b1bbe8fa8cd817ca437d84a2357adbe5ca3126a5": "query getFactories {\n registryFactories {\n id\n registryCommunities {\n id\n chainId\n isValid\n communityName\n covenantIpfsHash\n registerToken\n alloAddress\n members {\n memberAddress\n }\n strategies {\n id\n poolId\n isEnabled\n config {\n id\n decay\n maxRatio\n weight\n minThresholdPoints\n }\n }\n }\n }\n}\n\nquery getTokenGardens {\n tokenGardens {\n id\n chainId\n name\n symbol\n decimals\n totalBalance\n communities {\n id\n chainId\n covenantIpfsHash\n communityFee\n isValid\n communityName\n strategies {\n id\n }\n members {\n id\n memberAddress\n }\n }\n }\n}\n\nquery getMemberStrategy($member_strategy: ID!) {\n memberStrategy(id: $member_strategy) {\n id\n totalStakedPoints\n activatedPoints\n strategy {\n id\n }\n member {\n id\n }\n }\n}\n\nquery isMember($me: ID!, $comm: String!) {\n member(id: $me) {\n id\n stakes {\n id\n amount\n proposal {\n id\n proposalNumber\n stakedAmount\n strategy {\n id\n poolId\n registryCommunity {\n id\n isValid\n garden {\n id\n symbol\n decimals\n }\n }\n }\n }\n }\n memberCommunity(where: {registryCommunity_contains: $comm}) {\n stakedTokens\n isRegistered\n registryCommunity {\n id\n }\n }\n }\n}\n\nquery getMember($me: ID!) {\n member(id: $me) {\n id\n memberCommunity {\n id\n stakedTokens\n isRegistered\n registryCommunity {\n id\n isValid\n }\n }\n stakes {\n id\n proposal {\n proposalNumber\n id\n }\n amount\n createdAt\n }\n }\n}\n\nquery getPoolCreationData($communityAddr: ID!, $tokenAddr: ID!) {\n tokenGarden(id: $tokenAddr) {\n decimals\n id\n symbol\n }\n allos {\n id\n }\n registryCommunity(id: $communityAddr) {\n communityName\n isValid\n }\n}\n\nquery getGarden($addr: ID!) {\n tokenGarden(id: $addr) {\n id\n name\n symbol\n decimals\n chainId\n communities {\n id\n isValid\n covenantIpfsHash\n communityName\n protocolFee\n communityFee\n registerToken\n registerStakeAmount\n alloAddress\n members(where: {stakedTokens_gt: \"0\"}) {\n id\n memberAddress\n }\n strategies(where: {isEnabled: true}) {\n id\n totalEffectiveActivePoints\n poolId\n poolAmount\n }\n }\n }\n}\n\nquery getCommunity($communityAddr: ID!, $tokenAddr: ID!) {\n registryCommunity(id: $communityAddr) {\n communityName\n id\n members(where: {stakedTokens_gt: \"0\"}) {\n id\n stakedTokens\n }\n strategies {\n id\n proposals {\n id\n }\n isEnabled\n poolAmount\n poolId\n metadata\n config {\n proposalType\n }\n proposals {\n id\n }\n }\n covenantIpfsHash\n communityFee\n protocolFee\n registerStakeAmount\n registerToken\n }\n tokenGarden(id: $tokenAddr) {\n symbol\n decimals\n id\n }\n}\n\nquery getCommunityCreationData($addr: ID!) {\n registryFactories {\n id\n }\n tokenGarden(id: $addr) {\n id\n name\n symbol\n decimals\n chainId\n communities {\n alloAddress\n isValid\n }\n }\n}\n\nquery getPoolData($garden: ID!, $poolId: BigInt!) {\n allos {\n id\n chainId\n tokenNative\n }\n tokenGarden(id: $garden) {\n address\n name\n symbol\n description\n totalBalance\n ipfsCovenant\n decimals\n }\n cvstrategies(where: {poolId: $poolId}) {\n poolAmount\n metadata\n id\n poolId\n totalEffectiveActivePoints\n isEnabled\n memberActive {\n id\n }\n config {\n id\n arbitrator\n defaultRuling\n defaultRulingTimeout\n challengerCollateralAmount\n submitterCollateralAmount\n tribunalSafe\n weight\n decay\n maxAmount\n maxRatio\n minThresholdPoints\n pointSystem\n proposalType\n }\n registryCommunity {\n id\n councilSafe\n isValid\n garden {\n id\n symbol\n decimals\n }\n }\n proposals {\n id\n proposalNumber\n metadata\n beneficiary\n requestedAmount\n requestedToken\n proposalStatus\n stakedAmount\n convictionLast\n threshold\n strategy {\n id\n maxCVSupply\n totalEffectiveActivePoints\n }\n }\n }\n}\n\nquery getProposalData($garden: ID!, $proposalId: ID!) {\n allos {\n id\n chainId\n tokenNative\n }\n tokenGarden(id: $garden) {\n name\n symbol\n decimals\n }\n cvproposal(id: $proposalId) {\n id\n proposalNumber\n beneficiary\n blockLast\n convictionLast\n createdAt\n metadata\n proposalStatus\n requestedAmount\n requestedToken\n stakedAmount\n submitter\n threshold\n updatedAt\n version\n strategy {\n id\n maxCVSupply\n totalEffectiveActivePoints\n config {\n proposalType\n pointSystem\n minThresholdPoints\n challengerCollateralAmount\n arbitrator\n defaultRuling\n defaultRulingTimeout\n tribunalSafe\n }\n }\n }\n}\n\nquery getAllo {\n allos {\n id\n chainId\n tokenNative\n }\n}\n\nquery getStrategyByPool($poolId: BigInt!) {\n cvstrategies(where: {poolId: $poolId}) {\n id\n poolId\n totalEffectiveActivePoints\n isEnabled\n config {\n id\n proposalType\n pointSystem\n minThresholdPoints\n }\n memberActive {\n id\n }\n registryCommunity {\n id\n isValid\n garden {\n id\n symbol\n decimals\n }\n }\n proposals {\n id\n proposalNumber\n metadata\n beneficiary\n requestedAmount\n requestedToken\n proposalStatus\n stakedAmount\n }\n }\n}\n\nquery getTokenTitle($tokenAddr: ID!) {\n tokenGarden(id: $tokenAddr) {\n name\n }\n}\n\nquery getCommunityTitles($communityAddr: ID!) {\n registryCommunity(id: $communityAddr) {\n communityName\n garden {\n name\n }\n }\n}\n\nquery getPoolTitles($poolId: BigInt!) {\n cvstrategies(where: {poolId: $poolId}) {\n poolId\n metadata\n registryCommunity {\n communityName\n garden {\n name\n }\n }\n metadata\n }\n}\n\nquery getProposalTitles($proposalId: ID!) {\n cvproposal(id: $proposalId) {\n proposalNumber\n metadata\n strategy {\n poolId\n metadata\n registryCommunity {\n communityName\n garden {\n name\n }\n }\n }\n }\n}\n\nquery getPassportScorer($scorerId: ID!) {\n passportScorer(id: $scorerId) {\n id\n strategies {\n id\n strategy {\n id\n }\n threshold\n councilSafe\n active\n }\n users {\n id\n userAddress\n score\n lastUpdated\n }\n }\n}\n\nquery getPassportStrategy($strategyId: ID!) {\n passportStrategy(id: $strategyId) {\n id\n strategy {\n id\n }\n threshold\n councilSafe\n active\n }\n}\n\nquery getPassportUser($userId: ID!) {\n passportUser(id: $userId) {\n id\n userAddress\n score\n lastUpdated\n }\n}\n\nquery getProposalDisputes($proposalId: ID!) {\n proposalDisputes(where: {proposal_: {id: $proposalId}}) {\n id\n disputeId\n status\n challenger\n context\n metadata {\n reason\n }\n createdAt\n ruledAt\n rulingOutcome\n }\n}\n\nquery getStrategyArbitrationConfig($strategyConfigId: ID!) {\n cvstrategyConfig(id: $strategyConfigId) {\n challengerCollateralAmount\n submitterCollateralAmount\n arbitrator\n tribunalSafe\n defaultRuling\n defaultRulingTimeout\n }\n}"
+ "492a94c478688679142f78cfacfc954d43bf0d89cb6af4fca5fe3f2d552a70da": "query getFactories {\n registryFactories {\n id\n registryCommunities {\n id\n chainId\n isValid\n communityName\n covenantIpfsHash\n registerToken\n alloAddress\n members {\n memberAddress\n }\n strategies {\n id\n poolId\n isEnabled\n config {\n id\n decay\n maxRatio\n weight\n minThresholdPoints\n }\n }\n }\n }\n}\n\nquery getTokenGardens {\n tokenGardens {\n id\n chainId\n name\n symbol\n decimals\n totalBalance\n communities {\n id\n chainId\n covenantIpfsHash\n communityFee\n isValid\n communityName\n strategies {\n id\n }\n members {\n id\n memberAddress\n }\n }\n }\n}\n\nquery getMemberStrategy($member_strategy: ID!) {\n memberStrategy(id: $member_strategy) {\n id\n totalStakedPoints\n activatedPoints\n strategy {\n id\n }\n member {\n id\n }\n }\n}\n\nquery isMember($me: ID!, $comm: String!) {\n member(id: $me) {\n id\n stakes {\n id\n amount\n proposal {\n id\n proposalNumber\n stakedAmount\n strategy {\n id\n poolId\n registryCommunity {\n id\n isValid\n garden {\n id\n symbol\n decimals\n }\n }\n }\n }\n }\n memberCommunity(where: {registryCommunity_contains: $comm}) {\n stakedTokens\n isRegistered\n registryCommunity {\n id\n }\n }\n }\n}\n\nquery getMember($me: ID!) {\n member(id: $me) {\n id\n memberCommunity {\n id\n stakedTokens\n isRegistered\n registryCommunity {\n id\n isValid\n }\n }\n stakes {\n id\n proposal {\n proposalNumber\n id\n }\n amount\n createdAt\n }\n }\n}\n\nquery getPoolCreationData($communityAddr: ID!, $tokenAddr: ID!) {\n tokenGarden(id: $tokenAddr) {\n decimals\n id\n symbol\n }\n allos {\n id\n }\n registryCommunity(id: $communityAddr) {\n communityName\n isValid\n }\n}\n\nquery getGarden($addr: ID!) {\n tokenGarden(id: $addr) {\n id\n name\n symbol\n decimals\n chainId\n communities {\n id\n isValid\n covenantIpfsHash\n communityName\n protocolFee\n communityFee\n registerToken\n registerStakeAmount\n alloAddress\n members(where: {stakedTokens_gt: \"0\"}) {\n id\n memberAddress\n }\n strategies(where: {isEnabled: true}) {\n id\n totalEffectiveActivePoints\n poolId\n poolAmount\n }\n }\n }\n}\n\nquery getCommunity($communityAddr: ID!, $tokenAddr: ID!) {\n registryCommunity(id: $communityAddr) {\n communityName\n id\n members(where: {stakedTokens_gt: \"0\"}) {\n id\n stakedTokens\n }\n strategies {\n id\n proposals {\n id\n }\n isEnabled\n poolAmount\n poolId\n metadata\n config {\n proposalType\n }\n proposals {\n id\n }\n }\n covenantIpfsHash\n communityFee\n protocolFee\n registerStakeAmount\n registerToken\n }\n tokenGarden(id: $tokenAddr) {\n symbol\n decimals\n id\n }\n}\n\nquery getCommunityCreationData($addr: ID!) {\n registryFactories {\n id\n }\n tokenGarden(id: $addr) {\n id\n name\n symbol\n decimals\n chainId\n communities {\n alloAddress\n isValid\n }\n }\n}\n\nquery getPoolData($garden: ID!, $poolId: BigInt!) {\n allos {\n id\n chainId\n tokenNative\n }\n tokenGarden(id: $garden) {\n address\n name\n symbol\n description\n totalBalance\n ipfsCovenant\n decimals\n }\n cvstrategies(where: {poolId: $poolId}) {\n poolAmount\n metadata\n id\n poolId\n totalEffectiveActivePoints\n isEnabled\n memberActive {\n id\n }\n config {\n id\n arbitrator\n defaultRuling\n defaultRulingTimeout\n challengerCollateralAmount\n submitterCollateralAmount\n tribunalSafe\n weight\n decay\n maxAmount\n maxRatio\n minThresholdPoints\n pointSystem\n proposalType\n }\n registryCommunity {\n id\n councilSafe\n isValid\n garden {\n id\n symbol\n decimals\n }\n }\n proposals {\n id\n proposalNumber\n metadata\n beneficiary\n requestedAmount\n requestedToken\n proposalStatus\n stakedAmount\n convictionLast\n blockLast\n threshold\n strategy {\n id\n maxCVSupply\n totalEffectiveActivePoints\n }\n }\n }\n}\n\nquery getProposalData($garden: ID!, $proposalId: ID!) {\n allos {\n id\n chainId\n tokenNative\n }\n tokenGarden(id: $garden) {\n name\n symbol\n decimals\n }\n cvproposal(id: $proposalId) {\n id\n proposalNumber\n beneficiary\n blockLast\n convictionLast\n createdAt\n metadata\n proposalStatus\n requestedAmount\n requestedToken\n stakedAmount\n submitter\n threshold\n updatedAt\n version\n strategy {\n id\n maxCVSupply\n totalEffectiveActivePoints\n config {\n proposalType\n pointSystem\n minThresholdPoints\n challengerCollateralAmount\n arbitrator\n defaultRuling\n defaultRulingTimeout\n tribunalSafe\n }\n }\n }\n}\n\nquery getAllo {\n allos {\n id\n chainId\n tokenNative\n }\n}\n\nquery getStrategyByPool($poolId: BigInt!) {\n cvstrategies(where: {poolId: $poolId}) {\n id\n poolId\n totalEffectiveActivePoints\n isEnabled\n config {\n id\n proposalType\n pointSystem\n minThresholdPoints\n }\n memberActive {\n id\n }\n registryCommunity {\n id\n isValid\n garden {\n id\n symbol\n decimals\n }\n }\n proposals {\n id\n proposalNumber\n metadata\n beneficiary\n requestedAmount\n requestedToken\n proposalStatus\n stakedAmount\n }\n }\n}\n\nquery getTokenTitle($tokenAddr: ID!) {\n tokenGarden(id: $tokenAddr) {\n name\n }\n}\n\nquery getCommunityTitles($communityAddr: ID!) {\n registryCommunity(id: $communityAddr) {\n communityName\n garden {\n name\n }\n }\n}\n\nquery getPoolTitles($poolId: BigInt!) {\n cvstrategies(where: {poolId: $poolId}) {\n poolId\n metadata\n registryCommunity {\n communityName\n garden {\n name\n }\n }\n metadata\n }\n}\n\nquery getProposalTitles($proposalId: ID!) {\n cvproposal(id: $proposalId) {\n proposalNumber\n metadata\n strategy {\n poolId\n metadata\n registryCommunity {\n communityName\n garden {\n name\n }\n }\n }\n }\n}\n\nquery getPassportScorer($scorerId: ID!) {\n passportScorer(id: $scorerId) {\n id\n strategies {\n id\n strategy {\n id\n }\n threshold\n councilSafe\n active\n }\n users {\n id\n userAddress\n score\n lastUpdated\n }\n }\n}\n\nquery getPassportStrategy($strategyId: ID!) {\n passportStrategy(id: $strategyId) {\n id\n strategy {\n id\n }\n threshold\n councilSafe\n active\n }\n}\n\nquery getPassportUser($userId: ID!) {\n passportUser(id: $userId) {\n id\n userAddress\n score\n lastUpdated\n }\n}\n\nquery getProposalDisputes($proposalId: ID!) {\n proposalDisputes(where: {proposal_: {id: $proposalId}}) {\n id\n disputeId\n status\n challenger\n context\n metadata {\n reason\n }\n createdAt\n ruledAt\n rulingOutcome\n }\n}\n\nquery getStrategyArbitrationConfig($strategyConfigId: ID!) {\n cvstrategyConfig(id: $strategyConfigId) {\n challengerCollateralAmount\n submitterCollateralAmount\n arbitrator\n tribunalSafe\n defaultRuling\n defaultRulingTimeout\n }\n}"
}
\ No newline at end of file
diff --git a/pkg/subgraph/src/query/queries.graphql b/pkg/subgraph/src/query/queries.graphql
index 645047dc5..17335ecb7 100644
--- a/pkg/subgraph/src/query/queries.graphql
+++ b/pkg/subgraph/src/query/queries.graphql
@@ -288,6 +288,7 @@ query getPoolData($garden: ID!, $poolId: BigInt!) {
proposalStatus
stakedAmount
convictionLast
+ blockLast
threshold
strategy {
id
diff --git a/pkg/subgraph/subgraph.yaml b/pkg/subgraph/subgraph.yaml
index 5ce7da2f9..7a77198a9 100644
--- a/pkg/subgraph/subgraph.yaml
+++ b/pkg/subgraph/subgraph.yaml
@@ -6,15 +6,15 @@ schema:
dataSources:
- kind: ethereum/contract
name: RegistryFactoryV0_0
- network: arbitrum-sepolia
+ network: localhost
context:
chainId:
type: Int
- data: 421614
+ data: 1337
source:
- address: "0x116124ef60ea9d325fc7b653b0dd4f8b4fc152a3"
+ address: "0x610178dA211FEF7D417bC0e6FeD39F05609AD788"
abi: RegistryFactoryV0_0
- startBlock: 71372968
+ startBlock: 0
mapping:
kind: ethereum/events
apiVersion: 0.0.7
@@ -38,15 +38,15 @@ dataSources:
- kind: ethereum/contract
name: PassportScorer
- network: arbitrum-sepolia
+ network: localhost
context:
chainId:
type: Int
- data: 421614
+ data: 1337
source:
- address: "0x860a8a650a38cf51c8d8259c301a5654568fce46"
+ address: "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707"
abi: PassportScorer
- startBlock: 71372968
+ startBlock: 0
mapping:
kind: ethereum/events
apiVersion: 0.0.7
@@ -70,7 +70,7 @@ dataSources:
templates:
- kind: ethereum/contract
name: RegistryCommunityV0_0
- network: arbitrum-sepolia
+ network: localhost
source:
abi: RegistryCommunityV0_0
mapping:
@@ -132,7 +132,7 @@ templates:
- kind: ethereum/contract
name: CVStrategyV0_0
- network: arbitrum-sepolia
+ network: localhost
source:
abi: CVStrategyV0_0
mapping: